Skip to content
Open
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
7 changes: 7 additions & 0 deletions .agents/claims/CLAIM-MODEL-GLINER25-DECIDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# CLAIM-MODEL-GLINER25-DECIDE

Separate claim from `CLAIM-MODEL-GLINER25`, not a second line on it: `check-agent-record.py` rejects a duplicate active claim ID, so one claim owns exactly one active row. The two rows share a tower and differ in a head, and the split follows that difference.

| Claim | Row IDs | Agent | Worktree / remote dir | Branch | Owned scope | State | Last update |
|---|---|---|---|---|---|---|---|
| `CLAIM-MODEL-GLINER25-DECIDE` | `MODEL-GLINER25-DECIDE` (`SPIKE`) | Claude Code (glm5.2), operator role | `.wt/gliner25` | `row/MODEL-GLINER25` | GLiNER2.5-Decide: the CLASSIFICATION-HEAD sibling of `MODEL-GLINER25`, reusing its DeBERTa v2 encoder and disentangled attention rather than reimplementing them, plus the `/v1/systemone` route and the `vllm_decide` ABI it already shares with kev and Laya. The head is Linear -> ReLU -> Linear to one output, replacing the NER boundary pooler; everything below the head is the sibling's. Bounded-choice decision, one forward, no prompt template and no generated tokens | `SPIKE` | 2026-09-28 |
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
ID: ISSUE-LOCAL-01M3JVCCKJ2NXT4TTSHNZT2GJS
Title: Three rows named by specs and by open issues are declared in no matrix, so agent-issue-index.py cannot validate any record
Row: GATE-ISSUE-INDEX-TABLE-SHAPE
State: CLOSED
Kind: bug
GitHub: -
Mirror: PENDING
Availability: FULL
Created: 2026-09-27
Updated: 2026-10-01
Closed: 2026-10-01

## Problem

canonical_rows() reads claimable row IDs out of .agents/*-matrix.md first columns, .agents/specs declarations and headings, and the roadmap table (scripts/issue_records.py:208-243). Three row IDs are named by a spec and by an open canonical-local issue, and appear in NO matrix, so each record fails validate_issue_record with row is not canonical and claimable: MODEL-DSV41-EXL3 (.agents/issues/MODEL-DSV41-EXL3/ISSUE-LOCAL-01M29ATB6N2SFZD7JA6CCR2KXC.md), MODEL-DSV41-GGUF-Q1_0 (.agents/issues/MODEL-DSV41-GGUF-Q1_0/ISSUE-LOCAL-01M29ATQDVEQ7M2MP3VW79XQJP.md) and MODEL-GLINER25-DECIDE (.agents/issues/MODEL-GLINER25-DECIDE/ISSUE-LOCAL-01M3APZC6GKX9ME6AE6336D3VY.md). The first two are named in the .agents/specs/deepseek-v4-1-flash.md header as rows of this campaign (lines 3-4), which also assigns them to kernel-matrix.md; the third is named in the heading of .agents/specs/gliner2.5-decide.md as SPEC - MODEL-GLINER25-DECIDE and assigned to a new model-matrix row under MODEL-TOKCLS (line 22). So the specs and the issues agree with each other and only the matrices are missing. The gap is invisible from the tool's own output: agent-issue-index.py --check raises on the FIRST invalid record and prints one line, and the first record it reaches is an _intake one, so the orphan rows are never named. Enumerating every record directly finds 12 invalid, of which 9 are the _intake frozen-archive comparisons and 3 are these rows. Measured in a worktree at row/ENG-EOL-BYTE-EXACT (97397f60b), where the .agents/completed/issue-index.md working copy carries 0 CR against 886 CR on main, the 9 _intake records validate and exactly these 3 remain; that is, the orphan rows are the whole of the residue once #3333 lands, and the index stays blocked until they are declared. A second, related falsehood ships alongside: .agents/specs/gliner2.5-decide.md:14-18 says Implementation not started, while the same tree carries src/vllm/model_executor/models/gliner25_decide_registry.cpp, gliner25_decide_head.cpp, a registered suite at tests/CMakeLists.txt:785 and a live C API path at src/capi/vllm_c.cpp:2106-2160. This is the class found earlier in five of nine missing-arch specs: a ## Now that contradicts the tree it sits in.

## Resolution

Fixed in row/ORPHAN-MODEL-ROWS. Three rows declared in .agents/model-matrix.md: MODEL-GLINER25-DECIDE in the MODEL-TOKCLS table as its own spec directs, and MODEL-DSV41-EXL3 plus MODEL-DSV41-GGUF-Q1_0 beside MODEL-SPEC-deepseek-v4-1-dspark-v41-draft-model, the same spec's own sibling row. Each carries the state its evidence supports rather than the one the header implied: BLOCKED for the two checkpoint campaigns, matching that sibling, and SPIKE for GLiNER2.5-Decide, whose code, registered suite and C ABI path are in tree. The architecture-support checklist gains one line per row with the mark its state allows, and the rollup moves SPIKE 10 to 11, BLOCKED 5 to 7 and Total 384 to 387 in the same commit, which is what the file's own same-commit rule requires; check-model-checklist.py went rc=1 to rc=0 and caught the drift in between. Two spec corrections ship with it: gliner2.5-decide.md ## Now said Implementation not started and is corrected to SPIKE with the code anchors that contradict it, and deepseek-v4-1-flash.md's Matrices line assigned the two campaigns to kernel-matrix.md, which is wrong and is corrected to model-matrix.md with the two rows that decide it named. Measured: invalid canonical records 12 to 9, the residue being exactly the nine _intake frozen-archive comparisons that #3333 fixes, and in a worktree carrying both changes agent-issue-index.py --check returns rc=0.
Loading
Loading