Selected changesmerged Sep 18, 2026
kubectl explain: add auto completionGo · 265 + / 5 −
Introduces 7 new declarations in staging/src/k8s.io/kubectl/pkg/cmd/explain/completion.go.
Adds new systems design rather than adjusting what was there. Tests changed with it, with code of their own.
staging/src/k8s.io/kubectl/pkg/cmd/explain/completion.go ↗ · 4 files
@@ -0,0 +1,252 @@+/*+Copyright The Kubernetes Authors.++Licensed under the Apache License, Version 2.0 (the "License");+you may not use this file except in compliance with the License.+You may obtain a copy of the License at++ http://www.apache.org/licenses/LICENSE-2.0++Unless required by applicable law or agreed to in writing, software+distributed under the License is distributed on an "AS IS" BASIS,+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+See the License for the specific language governing permissions and+limitations under the License.+*/++package explain++import (+ "slices"+ "strings"++ "github.com/spf13/cobra"++ "k8s.io/apimachinery/pkg/api/meta"+ "k8s.io/apimachinery/pkg/runtime/schema"+ "k8s.io/cli-runtime/pkg/genericclioptions"+ "k8s.io/client-go/openapi3"+ "k8s.io/kube-openapi/pkg/validation/spec"+ "k8s.io/kubectl/pkg/explain"+ "k8s.io/kubectl/pkg/util/completion"+)+
Add experimental agent feedback workflowTypeScript · 412 + / 41 −
Introduces 20 new declarations in packages/next/src/server/lib/generate-agent-files.ts.
Adds new framework internals rather than adjusting what was there. Tests changed with it, with code of their own.
packages/next/src/server/lib/generate-agent-files.ts ↗ · 23 files
@@ -122,6 +184,91 @@ export function writeAgentFiles(projectDir: string): AgentFilesResult { return { agentsMd: 'created', claudeMd: 'created' } } +/**+ * Write the opt-in agent-feedback block using the same managed-file convention+ * as the agent-rules block. If the rules already have a host file, keep both+ * Next.js blocks together.+ */+export function writeAgentFeedbackFiles(projectDir: string): AgentFilesResult {+ const agentsMdPath = path.join(projectDir, 'AGENTS.md')+ const claudeMdPath = path.join(projectDir, 'CLAUDE.md')+ const block = buildAgentFeedbackBlock()++ const agentsContent = tryReadFile(agentsMdPath)+ const claudeContent = tryReadFile(claudeMdPath)+ const agentsMdExists = agentsContent !== null+ const claudeMdExists = claudeContent !== null++ const agentsMdHostsFeedback =+ agentsContent?.includes(AGENT_FEEDBACK_START_MARKER) ?? false+ const claudeMdHostsFeedback =+ claudeContent?.includes(AGENT_FEEDBACK_START_MARKER) ?? false+ const agentsMdHostsRules =+ agentsContent?.includes(AGENT_RULES_START_MARKER) ?? false+ const claudeMdHostsRules =+ claudeContent?.includes(AGENT_RULES_START_MARKER) ?? false++ if (+ agentsMdExists &&+ (agentsMdHostsFeedback ||+ (!claudeMdHostsFeedback && (agentsMdHostsRules || !claudeMdHostsRules)))+ ) {+ return {
fix(prompts): supervise all SpeechLLM assistant turnsPython · 45 + / 16 −
Introduces 2 new declarations in nemo/collections/common/prompts/nemotron_nano_v3.py.
Adds new core implementation rather than adjusting what was there. Tests changed with it, with code of their own.
nemo/collections/common/prompts/nemotron_nano_v3.py ↗ · 4 files
@@ -146,31 +150,49 @@ def encode_dialog(self, turns: list[dict], enable_thinking: bool = True) -> dict inference_tokens = self._apply_tokenizer(inference_prefix) turn_tokens.extend(inference_tokens) turn_token_counts.append(len(inference_tokens))- turn_mask_values.append(False)+ loss_mask.extend([False] * len(inference_tokens)) # Insert EOS only when the last turn comes from the OUTPUT_ROLE. if self.INSERT_EOS and not is_inference: turn_tokens.append(self.tokenizer.eos) turn_token_counts[-1] += 1- turn_mask_values.append(True)+ loss_mask.append(True) ans = {"input_ids": torch.tensor(turn_tokens, dtype=torch.long)}- if turn_mask_values[-1]:+ if not is_inference: ans["context_ids"] = ans["input_ids"][: -turn_token_counts[-1]] ans["answer_ids"] = ans["input_ids"][-turn_token_counts[-1] :]- ans["mask"] = torch.tensor(- [- turn_mask_values[turn_idx]- for turn_idx, turn_len in enumerate(turn_token_counts)- for _ in range(turn_len)- ],- dtype=torch.bool,- )+ ans["mask"] = torch.tensor(loss_mask, dtype=torch.bool) else: ans["context_ids"] = ans["input_ids"] return ans + def _assistant_loss_mask(
Add Euler project problem 124 solutionPython · 109 + / 0 −
Introduces 4 new declarations in project_euler/problem_124/sol1.py.
Adds new core implementation rather than adjusting what was there. Read the linked PR for the surrounding test context.
project_euler/problem_124/sol1.py ↗ · 2 files
@@ -0,0 +1,109 @@+"""+Project Euler Problem 124: https://projecteuler.net/problem=124++Ordered Radicals++"""++from numpy import sqrt+++def generate_primes(n: int) -> list[int]:+ """+ Calculates the list of primes up to and including n.++ >>> generate_primes(6)+ [2, 3, 5]+ """++ primes = [True] * (n + 1)+ primes[0] = primes[1] = False+ for i in range(2, int(sqrt(n + 1)) + 1):+ if primes[i]:+ j = i * i+ while j <= n:+ primes[j] = False+ j += i+ primes_list = []+ for i in range(2, len(primes)):+ if primes[i]:+ primes_list += [i]+ return primes_list++
fix `is_single_fp_element` for `s390x` and `x86`Rust · 117 + / 24 −
Introduces 3 new declarations in compiler/rustc_abi/src/layout/ty.rs.
Adds new language design rather than adjusting what was there. Tests changed with it, with code of their own.
compiler/rustc_abi/src/layout/ty.rs ↗ · 8 files
@@ -155,26 +155,6 @@ impl<'a, Ty> TyAndLayout<'a, Ty> { Ty::ty_and_layout_pointee_info_at(self, cx, offset) } - pub fn is_single_fp_element<C>(self, cx: &C) -> bool- where- Ty: TyAbiInterface<'a, C>,- C: HasDataLayout,- {- match self.backend_repr {- BackendRepr::Scalar(scalar) => {- matches!(scalar.primitive(), Primitive::Float(Float::F32 | Float::F64))- }- BackendRepr::Memory { .. } => {- if self.fields.count() == 1 && self.fields.offset(0).bytes() == 0 {- self.field(cx, 0).is_single_fp_element(cx)- } else {- false- }- }- _ => false,- }- }- pub fn is_single_vector_element<C>(self, cx: &C, expected_size: Size) -> bool where Ty: TyAbiInterface<'a, C>,