Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .agents/claims/CLAIM-ENG-RECORD-ANCHOR-RATCHET.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

| Claim | Row IDs | Agent | Worktree / remote dir | Branch | Owned scope | State | Last update |
|---|---|---|---|---|---|---|---|
| `CLAIM-ENG-RECORD-ANCHOR-RATCHET` | `ENG-RECORD-ANCHOR-RATCHET` (`SPIKE`) | Claude Code (opus-5), operator role — spec only; implementation goes to a fresh implementer | isolated worktree; no GPU, no build | `row/anchor-ratchet-spec`, issue [#632](https://github.com/mudler/vllm.cpp/issues/632) | Owns ONLY: NEW `.agents/specs/record-anchor-ratchet.md`; the NEW `ENG-RECORD-ANCHOR-RATCHET` row plus the summary counts it moves; and, at implementation time, the bare-citation parser, the STALE/BROKEN classifier, `scripts/record-anchor-baseline.json`, and the six RED-first cases. EXCLUDES rewriting any existing citation, and EXCLUDES every historical record (`benchmark-record.md`, `parity-ledger.md`, `state-events/`, specs recording past runs) — those cite code as it WAS and are evidence | `SPIKE` | 2026-08-14 — spec committed; implementation not started |
| `CLAIM-ENG-RECORD-ANCHOR-RATCHET` | `ENG-RECORD-ANCHOR-RATCHET` (`ACTIVE`) | Claude Code (opus-5), fresh implementer — review goes to a different agent | isolated worktree `.claude/worktrees/agent-a4c19f11b410ac0ec`; no GPU, no build | `row/anchor-ratchet-impl`, issue [#632](https://github.com/mudler/vllm.cpp/issues/632) | Owns ONLY: `.agents/specs/record-anchor-ratchet.md`; the `ENG-RECORD-ANCHOR-RATCHET` row plus the summary counts it moves; the bare-citation parser, the STALE/BROKEN classifier and the ratchet inside `scripts/check-agent-record.py`; `scripts/record-anchor-baseline.json`; the RED-first cases in `tests/scripts/test_agent_record.py`; and the preflight / CI wiring. EXCLUDES rewriting any existing citation, and EXCLUDES every historical record (`benchmark-record.md`, `parity-ledger.md`, `state-events/`, specs recording past runs) — those cite code as it WAS and are evidence | `ACTIVE` | 2026-08-18 — first fresh review returned FAIL on the recorded justification and PASS on the design, so a second fresh implementer corrected the record without redesigning anything. `origin/main` merged (161 commits, five conflicts), baseline re-derived to 39 with no new offender banked, the false "the bare form was never parsed" claim corrected on six surfaces, every ratio restated against its denominator, and #1270 found and fixed in flow. 10 cases green, 5 mutants red. Awaiting a second fresh scoped review |
6 changes: 3 additions & 3 deletions .agents/engine-matrix.md

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions .agents/issue-index.md

Large diffs are not rendered by default.

294 changes: 251 additions & 43 deletions .agents/specs/record-anchor-ratchet.md

Large diffs are not rendered by default.

7 changes: 6 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,13 @@ jobs:
with:
fetch-depth: 0
- name: Canonical roadmap tables and links are consistent
# --report, wired the way check-device-leakage's is below: the record
# anchor ratchet (ENG-RECORD-ANCHOR-RATCHET, #632) gates on a baseline,
# and printing every STALE/BROKEN offender on every run is what keeps
# the backlog legible instead of a number nobody can act on. It is the
# same gate -- --report adds output, never leniency.
run: |
python3 scripts/check-agent-record.py
python3 scripts/check-agent-record.py --report
python3 tests/scripts/test_agent_record.py
python3 tests/scripts/test_check_issue_index_append_only.py
python3 tests/scripts/test_doc_checkpoint.py
Expand Down
1 change: 1 addition & 0 deletions docs/BENCHMARKS.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
| **Container images (ACTIVE; arm64 cuda verified on GB10 + Orin 2026-08-11)** | `ENG-RELEASE-CONTAINERS` ([spec](../.agents/specs/container-images.md)) | cpu amd64 783 MB; cuda arm64 **1.71 GB**. GB10 `sm_121a`: `/health`+`/version`+SIGTERM on `--gpus all`. Orin `sm_87` (Tegra): Qwen3-0.6B **generates**, GPU **GR3D 95-97%** | n/a |
| **Developer/row protocol** | Contribution entry point; `ENG-NOW-DERIVED` #374 @`dbd0d51c` | Entry-point gates retained. #374 W1-W5 DONE; benchmark/runtime/parity `VOID`; row specs now carry `## Now` | n/a |
| **NemotronH paged forward** (`MODEL-NEMOTRON-H-ABI-A2P`, [#810](https://github.com/mudler/vllm.cpp/issues/810)) | **No speed number, by the unit's own rule** ([spec](../.agents/specs/nemotron-h-a2p-paged-forward.md) §5) | **A3 host gate PASSES 96/96 `STRICT PASS`.** GB10 read 4/24; cause and fix [#1157](https://github.com/mudler/vllm.cpp/issues/1157), sm_121a re-run pending a lease | CPU gate 12/12. Load 209.0 s, peak RSS 20 142 392 KB |
| **Record-anchor ratchet** (`ENG-RECORD-ANCHOR-RATCHET`, #632) | **No number owed:** a record checker. At `8daa67b39`, **832 of 867** in-scope citations (**96.0%**) were already parsed; no symbol test and no report ran. Rot **38** (32 stale, 6 broken) over **844** OK, **32 in range** |
| **LoRA runtime W2** (`LORA-RUNTIME`, #278) | **No number owed:** correctness-only; a grid PENDS the W7 model gate |
| **ARCH audit: ABI is text-only** | 4 capabilities (H3 video, Laguna, Kimi-Linear, DeepSeek-V4) reachable only from `examples/`, none registry-backed. No gate asks whether a CONSUMER can reach a capability. Documentation only |
| **CUDA-graph break seam W1** (`ENG-CUDAGRAPH-BREAK`, [#1192](https://github.com/mudler/vllm.cpp/issues/1192)) | **No number owed, and none taken:** coverage and correctness row, no throughput gate declared | Capability, not a rate: mid-forward capture re-begin holds on a leased GPU; scoped forward matches eager, 500 logits, 0 differing. Probe committed, recipe and sha256 in the [record](../.agents/benchmark-record.md) |
Expand Down
9 changes: 9 additions & 0 deletions docs/STATUS.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,15 @@ Lifecycle changes still update STATUS and BENCHMARKS, while the moved row spec's
`## Now` replaces the per-row write to `.agents/NOW.md`. Runtime and performance
are `VOID`; no product behavior changed.

Record-anchor ratchet (2026-08-18, `ENG-RECORD-ANCHOR-RATCHET` `ACTIVE`, #632):
the record's own `file.cpp:123` citations were range-checked and never reported.
Both forms were already parsed; a failing anchor was dropped and covered by
`any()`, and no symbol test ran. 32 of the 38 offenders are in range.
`check-agent-record.py` now classifies each citation OK, STALE or BROKEN and
gates the rot against `scripts/record-anchor-baseline.json` in both directions.
Backlog **38** (32 stale, 6 broken) over 844 correct; `ACTIVE` and `READY` rows
join the count. No product behavior changed.

Supported-model registry guard (2026-08-06): the public per-architecture list in
[FEATURES](FEATURES.md) is CI-bound to the C++ registry by
`scripts/check-supported-models.py` (+ mutation test), so the 37
Expand Down
8 changes: 8 additions & 0 deletions scripts/agent-preflight.sh
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,14 @@ for checker in "${CHECKERS[@]}"; do
# is the flag. Wiring either without --check installs a gate that cannot
# fail, which for check-gate-commands is the very defect it classifies.
claim-view|check-gate-commands) run "$checker" python3 "scripts/$checker.py" --check ;;
# check-agent-record also carries the record-anchor ratchet
# (ENG-RECORD-ANCHOR-RATCHET, #632): a citation that names a line no longer
# holding the symbol beside it fails HERE, on the plain call, and the error
# names the bucket that moved. Deliberately NOT wired as --report: `run`
# shows only the first 12 lines of a failure, and the report's offender list
# would push the error message out of that window. The full list is one
# command away (`scripts/check-agent-record.py --report`) and CI prints it
# unconditionally.
*) run "$checker" python3 "scripts/$checker.py" ;;
esac
done
Expand Down
Loading
Loading