Daily edition

Sep 18, 2026

The edition exactly as it was published. Nothing here is re-selected on a later reading.

Sep 19, 20265 reads · 123 merged PRs screened

systems design

kubernetes/kubernetes · #140058

Files changed →View PR ↗

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"+)+

framework internals

vercel/next.js · #98582

Files changed →View PR ↗

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 {

core implementation

NVIDIA-NeMo/Speech · #16284

Files changed →View PR ↗

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(

core implementation

TheAlgorithms/Python · #12690

Files changed →View PR ↗

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++

language design

rust-lang/rust · #161987

Files changed →View PR ↗

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>,

Read today’s edition →