Selected changesmerged Oct 12, 2026
v1/systemone endpoint Python · 444 + / 0 −
Introduces 28 new declarations in src/transformers/cli/serving/systemone.py.
Adds new core implementation rather than adjusting what was there. Tests changed with it, with code of their own.
src/transformers/cli/serving/systemone.py ↗ · 5 files
@@ -0,0 +1,423 @@+# Copyright 2026 The HuggingFace Team. All rights reserved.+#+# 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.+"""+Handler for the /v1/systemone endpoint (System One typed decisions, in Jev's request and answer shapes).++Answers typed questions (`choice`, `score`, `noul`) about a `state` with a probability for every allowed answer. No+text is generated: each allowed answer gets a single-token label, and its probability is read from the model's logits+in one forward pass.+"""++import json+import string+from dataclasses import dataclass+from pathlib import Path+from typing import TYPE_CHECKING, Annotated, Any, Literal++from ...utils import logging+from ...utils.import_utils import is_serve_available+++if is_serve_available():+ from fastapi import HTTPException
Report periodic progress during index builds and idxpack conversionPython · 278 + / 205 −
Introduces 4 new declarations in scripts/dataloading/convert_indexes_to_idxpack.py.
Adds new framework internals rather than adjusting what was there. Tests changed with it, with code of their own.
scripts/dataloading/convert_indexes_to_idxpack.py ↗ · 4 files
@@ -1202,144 +1247,152 @@ def _build_native_tar_ordinal_array_specs( map_summaries: list[list[NativeTarOrdinalMapBuildSummary | None]] = [] tasks = [] manifest_keys = []- for map_index, spec in enumerate(maps):- manifest_index_paths = tuple(- _resolve_local_sidecar(manifest_path, indexes_root) for manifest_path in spec.manifest_paths- )- if spec.aggregate_manifest:- aggregate_arrays, snapshot, summary = _build_aggregate_native_tar_array_specs(- spec,- map_index,- temporary_directory,- manifest_index_paths[0],- indexes_root=indexes_root,- index_path_overrides=index_path_overrides,- source_size_overrides=source_size_overrides,- include_member_ordinals=include_member_ordinals,+ with _log_progress("Preparing native-tar routes"):+ for map_index, spec in enumerate(maps):+ manifest_index_paths = tuple(+ _resolve_local_sidecar(manifest_path, indexes_root) for manifest_path in spec.manifest_paths )- arrays.extend(aggregate_arrays)- map_snapshots.append(snapshot)- map_summaries.append([summary])- else:- assert include_member_ordinals- tar_index_paths = tuple(- (- index_path_overrides[tar_path]- if tar_path in index_path_overrides- else _resolve_local_sidecar(tar_path, indexes_root)+ if spec.aggregate_manifest:
vectorized vec::dedup pre-scanRust · 302 + / 108 −
Introduces 14 new declarations in library/alloctests/benches/vec.rs.
Adds new language design rather than adjusting what was there. Tests changed with it, with code of their own.
library/alloctests/benches/vec.rs ↗ · 3 files
@@ -688,137 +688,176 @@ fn bench_dedup_slice_truncate(b: &mut Bencher, sz: usize) { }); } -// Measures performance of Vec::dedup on random data.-fn bench_vec_dedup_random(b: &mut Bencher, sz: usize) {- let mut template = vec![0u32; sz];- b.bytes = size_of_val(template.as_slice()) as u64;- random_sorted_fill(0x43, &mut template);-- let mut vec = template.clone();- b.iter(|| {- let vec = black_box(&mut vec);- vec.dedup();- black_box(vec.first());- let vec = black_box(vec);- vec.clear();- vec.extend_from_slice(&template);- });-}--// Measures performance of Vec::dedup when there is no items removed-fn bench_vec_dedup_none(b: &mut Bencher, sz: usize) {- let mut template = vec![0u32; sz];- b.bytes = size_of_val(template.as_slice()) as u64;- template.chunks_exact_mut(2).for_each(|w| {- w[0] = black_box(0);- w[1] = black_box(5);- });-- let mut vec = template.clone();- b.iter(|| {- let vec = black_box(&mut vec);- vec.dedup();
Gate upgrade reminder rules with agentUpgradeTypeScript · 119 + / 8 −
Introduces 6 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 ↗ · 12 files
@@ -153,13 +183,55 @@ export function writeAgentFeedbackFiles(projectDir: string): AgentFilesResult { const block = buildAgentFeedbackBlock() if (fs.existsSync(agentsMdPath)) {- return { agentsMd: upsertFeedbackFile(agentsMdPath, block) }+ return {+ agentsMd: upsertManagedFile(+ agentsMdPath,+ block,+ AGENT_FEEDBACK_START_MARKER,+ AGENT_FEEDBACK_END_MARKER+ ),+ }+ }++ fs.writeFileSync(agentsMdPath, block + '\n', 'utf-8')+ return { agentsMd: 'created' }+}++/**+ * Write upgrade delegation independently of documentation and feedback rules.+ */+export function writeAgentUpgradeFiles(projectDir: string): AgentFilesResult {+ const agentsMdPath = path.join(projectDir, 'AGENTS.md')+ const block = buildAgentUpgradeBlock()++ if (fs.existsSync(agentsMdPath)) {+ return {+ agentsMd: upsertManagedFile(+ agentsMdPath,+ block,+ AGENT_UPGRADE_START_MARKER,+ AGENT_UPGRADE_END_MARKER+ ),
feat(scheduling): add weighted interval schedulingPython · 220 + / 0 −
Introduces 4 new declarations in scheduling/weighted_interval_scheduling.py.
Adds new core implementation rather than adjusting what was there. Read the linked PR for the surrounding test context.
scheduling/weighted_interval_scheduling.py ↗ · 1 files
@@ -0,0 +1,220 @@+"""+Weighted Interval Scheduling Problem (Dynamic Programming with Binary Search).++Given a set of intervals (tasks/activities), each characterized by a start time,+an end time, and an associated weight (value/profit), the goal is to select a subset+of mutually compatible (non-overlapping) intervals that maximizes the total weight.++Unlike the unweighted interval scheduling (activity selection) problem which can be+optimally solved using a greedy strategy (earliest finish time first), the weighted+variant requires dynamic programming because higher-value intervals might conflict+with earlier-finishing intervals.++Algorithm:+1. Sort intervals by their finish times in non-decreasing order.+2. For each interval j, compute p(j), the index of the latest compatible interval+ that finishes at or before the start time of interval j. This can be found in+ O(log n) time using binary search (bisect_right).+3. Compute the maximum weight subset using the recurrence:+ OPT(j) = max(OPT(j - 1), weight(j) + OPT(p(j)))+4. Backtrack through the DP array to reconstruct the optimal set of intervals.++Complexity:+- Time Complexity: O(n log n) due to sorting and n binary searches.+- Space Complexity: O(n) for the DP table and output list.++Reference:+- Kleinberg, J., & Tardos, É. (2006). Algorithm Design. Chapter 6.1:+ Weighted Interval Scheduling. Addison-Wesley.+- https://en.wikipedia.org/wiki/Interval_scheduling#Weighted_interval_scheduling+"""++from __future__ import annotations+