Repository navigation
Description
Sub-issue of #61 (Usability & Collaboration: issue navigation). Inspected at main
3ece458con 2026-10-31. Takes over #273 R3. Revised after the decision-label review (proposednow marks a pending decision) and the protected-switch review (removingskill-eval:executeis a revocation). D1–D4 were decided on 2026-11-01 (decision record).
Current state: D1–D4 are decided; #299 merged the label list, rules, template labels and drift check (main 28d677ca), and the original label changes are recorded. Historical rollout counts (29 applicable Issues / 11 proposed) and the 2026-11-03 35-Issue/six-gap census remain dated observations. Main advanced to 9dded7adac0ac835f6a73493309399e328a43ab2 with #347; the nightly evidence below remains tied to its original revision. The Nov 3 nightly and Nov 2 nightly failed the read-only bot-reviewed drift check; the Nov 3 lint, 3,544-test suite and evidence checks passed, as did both frozen-byte jobs. Those remain historical observations. The new naturally scheduled Nov 4 nightly at main 9dded7ad also fails only the read-only label-drift step, with bot-reviewed missing from labels.json. Its lint, 3,544-test suite and evidence checks pass, as do both frozen-byte jobs. This is the existing unmerged-fix gap, not a new software-test regression.
New ready PR #343, initially at 4a0a17d352a7ebd683f7a7268b5567e4b3851210 and later at 9451f08b9c4f72d664f616e9c6f2aa369fe78495, proposes a separate .github/external-labels.json ownership list and exempts those names only from the live-label-versus-managed-manifest drift report. Managed group:value rules remain, unknown drift still fails, and templates/evaluation configuration may not depend on an external label. The author reports 21 focused tests, lint, the old checker's original failure and the new checker's success against the same 22-label snapshot, plus absent-external/stray-label controls. These are author-reported local checks, not a replay by this synchronization or a passing natural nightly. The PR changes four files and remains unmerged; all six 4a0a17d3 Ready CI jobs passed by 06:04 UTC, declarations passed, and the automated review completed with no findings. These are software/review results, not a natural nightly replay or acceptance. The 4a0a17d3 implementation review subsequently found no blocking code issue after inspecting the four-file diff, checker callers/regressions and hosted evidence. It confirms that missing managed labels, managed-description drift and unlisted template/config references still fail, and the nightly CLI remains read-only. The inspected 3.11 job reports 3,552 passed / 13 skipped / 284 subtests; the tested merge tree matches the head. This is non-voting COMMENTED feedback from static inspection and existing logs, not a fresh test/live-label/nightly replay, formal approval or the policy disposition that was pending at that time. The PR explicitly does not by itself complete this Issue's live-label-match criterion or change acceptance criteria. The 00b96cd4 incremental review now clears the non-string/unhashable-name crash and the informational-owner documentation question; all six 00b96cd4 Ready jobs and declarations pass. At that review, the remaining blocker was the Issue-level policy disposition; the optional malformed-entry/whitespace suggestions are not adopted new gates. The earlier author's reply reported the requester's exemption choice but had not yet recorded it here. The 2026-11-04 12:59 UTC disposition, posted by @Dong1017 under the recorded Issue-line delegation, now admits declared outside-owned labels separately from the managed manifest. Managed naming/description checks and unknown drift remain enforcing; the owner field is informational, and bot-reviewed gains no coordination or review-endorsement meaning. This records that disposition without rewriting the original criteria below. #343 was unmerged at 00b96cd when that disposition was recorded; implementation delivery and integrated drift verification were still outstanding, and the disposition was not a green nightly or Issue completion.
At historical head 9451f08, the incremental review clears whitespace-only external names and acknowledges the recorded policy disposition. All six Ready jobs and declarations have since passed, superseding that review's then-pending CI observation. That reviewer still asked for a link to the Issue-line delegation or confirmation that the decision owner had seen it; no formal approval was recorded at that point. The author's response reiterates the disposition, reports 26 local tests/live-label controls, and explains why non-dict validation remains optional; this synchronization does not turn that response into independent acceptance. The current-head automated review completed with no findings at 13:31 UTC. In the later author response, @Dong1017 explicitly says the delegation is not independently recorded in a repository artifact and asks already-requested reviewer @zengchuang-hw to accept or reject the narrow policy reading. This remains a request, not independent acceptance or formal approval. The PR remains open and unmerged; historical source-specific results and the author's Decision/Next action text below remain unchanged.
The current PR head is 992eae4210f1a03ff5e134b7a80f2b008a3691d4. The author's correction and re-review request records malformed-entry guards in both manifests, 14 new regression cases, 40 focused tests and successful hosted checks. Amy's and zengchuang-hw's earlier reviews cleared that implementation delta but requested separate independent policy confirmation. Their earlier requests, the subsequently checked box and the author's interpretation of Amy's approval remain historical records.
The corrected same-head re-review now explicitly withdraws that extra policy-confirmation requirement: the original Issue-line delegation and authorized disposition already supply scope. It records PASS with no remaining content blocker; no additional policy vote, clarification comment or test rerun is requested. This supersedes the previously unresolved policy-gate status rather than inferring acceptance from a checkbox. Both Amy and zengchuang-hw now have APPROVED reviews bound to this exact head. Zeng's review starts with LGTM; Amy's body remains empty, so the existing integrator retains the repository's review-format check separately from the withdrawn policy obstacle. PR #343 was merged on 2026-11-05 at 12:02:03 UTC as 86f8f4a6e7f2968161fe4ddc8d546e8b033e4156. The author's post-merge record now reports the merged checker returned exit 0 against all 22 live repository labels, including the declared external bot-reviewed label. That is an attributed read-only local result, not an independent replay by this synchronization or an unattended nightly. The record retains the withdrawn-policy-gate distinction and proposes closing after the first natural-nightly result containing this merge. A 13:07 UTC incremental acceptance check identified a criterion-6 case: #303 named a pending maintainer scope decision but lacked status:proposed and was absent from the pending-decision view. The 14:30 read confirmed that historical gap. A passing label-manifest drift check addresses criterion 2, not view membership; the subsequent correction is recorded below. This preserves the existing criteria and does not reinstate the withdrawn #343 policy gate. The first post-fix naturally scheduled November 5 nightly, started at 14:06:25 UTC on 01c73521ced6ca760cdfa42c9b937fe985a20d64 including #343, has now succeeded. Its safety-net job passed the read-only label-drift step; inspected logs show it fetched the repository labels and ran the merged checker without a drift report. The full safety-net and both frozen-byte jobs passed. This supplies the awaited unattended integrated drift evidence, not criterion-6 view membership or whole-Issue acceptance. A fresh 15:02 UTC read now confirms the recorded #303 case has been corrected: status:proposed was added at 14:55 UTC, its pending scope decision/body is unchanged, and the specified open pending-decision query returns #303 among 26 Issues. Nine Issues (#38, #112, #303, #314, #315, #320, #337, #348 and #352) now carry that label following 14:54–14:56 updates. This verifies the reported case and current view membership; it is not a new disposition of those Issues' scopes, a full semantic audit of all 26 entries, or whole-Issue acceptance. This synchronization did not apply those labels. This synchronization reused published reviews and verified review states/commit identities, without repeating tests, code review or requests.
The 06:00 UTC census found 40 applicable open Issues and four status-block gaps. A fresh 2026-11-04 06:31 UTC census, after the three new scoped proposals and #314's bounded status update, finds 43 applicable open Issues and three remaining gaps: #315 has no three-line block; #38 and #320 lack the Decision needed line. #314 now explicitly records the existing delivery decision and the separate unassigned #344/#345 proposals; #329 and #331 also retain their previously added three lines. Those were the remaining structural gaps at that dated observation. A fresh 2026-11-04 08:30 UTC census finds 40 applicable open Issues (kind:task/acceptance/tracking/rfc), all containing Current state, Decision needed and Next action near the top; #315, #38 and #320 now supply the missing fields. The count also reflects intervening closures, which are not new acceptance by this synchronization. This checks field presence, not every statement's semantic sufficiency, live-label matching or owner acceptance. Before the 12:59 disposition, this Issue lacked status:proposed despite its named pending external-label decision; that decision is now recorded, so the old missing-label observation is historical rather than a current request to label #284 as pending. The disposition reports 47 open / 40 applicable Issues; a fresh 13:02 UTC API census now finds 50 open / 43 applicable, including #348, #350 and #352, with all 43 containing the three status fields. This is field-presence verification, not semantic acceptance. The previously recorded criterion-6 gap for #303 was still present at the 14:30 check; the 15:02 check above verifies its subsequent inclusion while the scope decision remains pending. No labels are changed by this synchronization. The closure record reconciles the criterion-6 case: nine applicable open Issues named a pending decision without any status:* label, each was checked against its comments, and status:proposed was added to all nine plus #355. The view now returns 27 Issues with no omission and no false listing. #353 remains the one open criterion-5 status-block gap, left to its acting agent.
Decision needed: none. Closed as completed on 2026-11-05. The bot-reviewed question is dispositioned in the 2026-11-04 record; no separate written policy ruling exists, and the closure does not claim one.
Next action: none. Reopen if a nightly label-drift failure recurs that the manifest cannot express, or if the pending-decision view is again found to list or omit Issues against the convention. The status:proposed → status:accepted/status:deferred drop transition remains unexercised and is not a condition of this closure.
Goal and acceptance
-
Problem / desired outcome: agents maintain InferRSI, and humans act through Issues. The issue system should let a human see what awaits their decision, and let agents keep labels consistent without a person curating them. Today:
-
Three label specifications disagree with each other and with the labels in use:
Group [Roadmap] InferRSI: reusable knowledge, verifiable inference optimization #61 "Issue organization" agent-collaboration.mdLabels in the repository Type kind:rfc/task/bug/tracking/acceptancebug,enhancement,documentation,rfc8 kind:*labels (nokind:bug), plusbuganddocumentationArea area:knowledge/experiments/usability— area:knowledge/workbench/processPriority priority:P0/P1/P2— exist, never used Decision — proposed,accepted,deferredonly accepted(used once)Coordination — blockeddoes not exist -
area:usabilitywas never created, so usability work cannot be filtered. The campaign acceptance form appliesacceptance, which does not exist. Ten of the 26 labels have never been used, anddocumentation(2 Issues) duplicateskind:docs(3 Issues). -
Pending decisions cannot be listed, because
proposeddoes not exist. Long Issues have no current-state summary; acceptance: Qwen3.8 FP8 vs vLLM 0.32.0 — ≥25% TTFT or TPOT gain, ≤5% regression #67 has 330 comments.
-
-
Completion criteria:
.github/labels.jsonlists every label (name, group, description), and every name has the formgroup:value.docs/agent-collaboration.mdstates each group's meaning and who applies it. [Roadmap] InferRSI: reusable knowledge, verifiable inference optimization #61 "Issue organization" links there.- The repository labels match
labels.json. - Templates apply labels: the scoped-task template applies
kind:task; the campaign form applieskind:acceptance. - A read-only step in the nightly
safety-netjob reports drift: repository labels againstlabels.json, and every label referenced by templates andtools/skill_eval_*_config.json. - Open
kind:task,kind:acceptance,kind:trackingandkind:rfcIssues start with a three-line status block (current state; decision needed, and from whom; next action), maintained by the acting agent, as at the top of this Issue. - [Roadmap] InferRSI: reusable knowledge, verifiable inference optimization #61 links the pending-decision view
is:open label:"status:proposed". The view lists an open Issue whose status block names a decision that has no owner reply; it drops the Issue once the owner accepts, defers or rejects; and it never lists an Issue whose status block says no decision is needed. The current Issue facts and decision comments decide each case, not the label alone.
Who applies labels
| Group | Labels | Applied by | When |
|---|---|---|---|
| Type | exactly one kind:* per Issue, including kind:bug; Issues only |
the creator; templates | at creation |
| Area | one or more area:* |
the creator | at creation |
| Status | status:proposed (waiting for a decision) |
the acting agent | when the status block names a concrete question and its decision owner, and no decision is recorded |
| Status | status:accepted or status:deferred, replacing status:proposed |
the acting agent | only after the decision owner records that decision in a comment |
| Priority | at most one priority:P0/P1/P2, on an Issue labeled status:proposed or status:accepted |
the acting agent; the decision owner may change it | with status:proposed: how soon the owner should decide; with status:accepted: how soon the work should start; removed when the Issue moves to status:deferred |
| Help | help:wanted |
the creator or a maintainer | when an Issue needs an owner or contributor |
| Protected switch | skill-eval:execute |
only the owner adds it; the owner or an agent may remove it to revoke that authorization; no one renames or deletes it | adding authorizes paid Skill Eval for one PR; removing revokes it |
An Issue carries at most one status:* label. When the owner rejects a proposal, or its author withdraws it, the acting agent removes status:proposed and the Issue is closed as not planned.
Removing skill-eval:execute is a revocation, not label cleanup; label maintenance never adds or removes it. The controller rechecks the label before each paid request (live_label()), so every check after the removal blocks its request. A request that passed its last check before the removal can still be sent, and removal does not cancel a request already sent or roll back budget already reserved or claimed. Only a new label event by the owner restores the authorization.
Agents act through shared accounts, so the Skill Eval controller cannot tell an agent from the owner when the label is added. Its effective gates are the owner-reviewed configuration expiry, per-PR ledger anchors and budgets.
Decisions (2026-11-01)
Details and usage counts are in the decision record.
| Question | Decision | |
|---|---|---|
| Naming | How are labels named? | Every label name has the form group:value. |
| D1 | Where does usability work go? | Create area:usability. |
| D2 | Use or delete priority:P0/P1/P2? |
Keep them, with the meaning in the table above. |
| D3 | Which decision labels? | Rename accepted to status:accepted; create status:proposed and status:deferred; leave blocked out of the rules. |
| D4 | Labels without a group prefix | Rename bug to kind:bug and help wanted to help:wanted. Move #234 to kind:docs, then delete documentation. Delete the seven never-used labels: accessibility, duplicate, enhancement, good first issue, invalid, question, wontfix. |
Scope and constraints
- In scope / out of scope: in scope are the label list and rules, the label set, template labels, the nightly drift report, the status-block convention and the pending-decision link. Out of scope are the closure guard ([Investigation] Agent-led workflow gaps: closure, decision visibility, review provenance and focus #273 R1), Skill Eval configuration and budgets, and any workflow that writes labels: drift is reported, not fixed automatically.
- Relevant dependencies, shared interfaces or limits: the
safety-netjob in.github/workflows/ci-nightly.yml.tools/skill_eval_auto_config.jsonandtools/skill_eval_historical_config.jsonreferenceskill-eval:executeby name. Labels document intent and grant no authority (existing rule). Renaming a label keeps its assignments; deleting a label removes it from every Issue.
Ownership and authorization
- Proposed by / actual requester: Dong1017. Drafted with Claude Code (
claude-opus-5-5) at the requester's direction. - Status: Accepted
- Accountable parent (Issue-level owner, if assigned): TBD; parent Issue [Roadmap] InferRSI: reusable knowledge, verifiable inference optimization #61
- Slice implementer(s) / acting contributor (if assigned): a Claude Code agent session acting through the Dong1017 account
- Goal-acceptance owner: Dong1017
- Accepted decision or scoped delegation: D1–D4 (decision record); Dong1017 delegated decisions in this Issue line to the acting agent on 2026-11-01, except label deletions, which Dong1017 sees first.
Inputs and deliverables
- Relevant sources, revisions or linked issues: main
3ece458c; [Roadmap] InferRSI: reusable knowledge, verifiable inference optimization #61 "Issue organization"; [Investigation] Agent-led workflow gaps: closure, decision visibility, review provenance and focus #273 R3; label usage counted on 2026-10-31 and 2026-11-01 through the GitHub API. - Expected artifacts: one PR for
labels.json, the rules, the template labels and the drift step; a before/after label list recorded here.
Completion and closure
- Who accepts completion and may close: Dong1017.
- Remaining uncertainty / next decision: none for D1–D4. Pinning [Roadmap] InferRSI: reusable knowledge, verifiable inference optimization #61 is a separate decision after
status:proposedexists.
Activity
Dong1017 commentedon Oct 31, 2026
**增量设计评审(D3 / 验收条件 6):**现有方案准确指出了标签规范漂移,但“待人决策”标记的写入时点存在一处会造成漏报的规则冲突;建议先澄清,不构成实施授权。
proposed在内的 decision labels 要等 human records a decision in a comment 后才由 acting agent 添加;验收条件 6 却要求以is:open label:proposed显示尚未得到人类决定的 Issue。例如一个新 Issue 已明确写出Decision needed: <owner>,但 owner 尚未答复:按当前规则不能加proposed,恰好从待决策视图中漏掉。proposed是否就是「待 owner 决策」。若是,则在 Issue 已具备具体待决问题与决策 owner、但尚无决定时即可标记;accepted/deferred只能根据 owner 的明确评论更新,并补充拒绝/撤回后的处置规则。若proposed仍表示“人已作出某种决定”,则需另选能在决定之前填充的待决策视图机制,而不能以当前查询作验收。依据:本 Issue 的「Who applies labels」「Decisions needed D3」「Completion criteria 6」,以及
docs/agent-collaboration.md关于标签不授予执行权限的既有约定。此处只评审方案,未提出新的硬门禁或执行授权。Dong1017 commentedon Oct 31, 2026
范围结论|#284 的 Protected switch 行还需明确“撤销授权”与普通分类维护的边界(P2,方案风险)。 本次只补此前 D3 评审未覆盖的权限/生命周期问题,不代表方案已获接受。
skill-eval:execute只能由 owner 添加、但 agents may remove it。这个标签不是普通 taxonomy:当前 SkillEval 工作流 监听unlabeled,而live_label()将标签现态和最后一次 labeled/unlabeled 事件作为新付费调用的授权输入。因此 agent 删除它实际是在撤销 owner 授权,可能使仍有剩余额度的计划停止后续执行;但不能据此认定已经发出的调用会被取消,或已领取的预算/证据会被回滚。把这种操作写在通用标签整理规则中,容易误作无害清理。依据:本 Issue 的 Protected switch 规则、现有
skill-eval-pr.yml事件条件,以及tools/skill_eval_auto.py的标签事件校验与永久计费状态约定。这里提出的是 owner 需取舍的方案边界,不是认定当前已发生越权或授权执行任何实验。Dong1017 commentedon Nov 1, 2026
Accepted, and the body is updated.
proposednow means "waiting for a decision":proposedwhen the status block names a concrete question and its decision owner, and no decision is recorded.acceptedordeferredreplaces it only after the decision owner records that decision in a comment.proposedand the Issue is closed as not planned.Completion criterion 6 now includes the three cases from this review: a pending question without an owner reply is listed; it drops off after the owner accepts, defers or rejects; an Issue that needs no decision is never listed.
Dong1017 commentedon Nov 1, 2026
Owner decision (Dong1017): agents may revoke
skill-eval:execute. The body now records removal as a revocation, not label cleanup:live_label()), so no new paid request starts after removal. Removal does not by itself cancel a request already sent or roll back budget already reserved or claimed.tests/test_skill_eval_auto.pyalready covers a removed label and a re-add by an account outsideoperators; both block new requests. Controller changes stay out of scope for this Issue.Dong1017 commentedon Nov 1, 2026
Decisions D1–D4 (2026-11-01)
Dong1017 decided the naming rule, kept
priority:*, and asked how priority relates toproposed. The acting agent decided D1, that relationship and the exact label mapping, under Dong1017's delegation of this Issue line. Usage counts were taken on 2026-11-01 through the GitHub search API.group:value.area:usability.priority:P0/P1/P2. A priority states how soon the next action is needed. Withstatus:proposed, it is how soon the decision owner should decide. Withstatus:accepted, it is how soon the work should start. The acting agent removes it when an Issue moves tostatus:deferred.acceptedtostatus:accepted; renaming keeps its assignment on task: distill local-dream Android diffusion contracts with AREX repo-to-skill #234. Createstatus:proposedandstatus:deferred. Leaveblockedout of the rules until needed.bugtokind:bug(bug: Drama3 does not fuse NPU normalization operators #166, fix: source and device identity accept evidence that cannot support it #178, fix: run state and comparison verdicts can report support the artifacts do not establish #179, fix: knowledge bundle reads can escape the skills root and store protection depends on a .git entry #180) andhelp wantedtohelp:wanted(task: measure whether InferRSI helps Claude Code and Codex optimize inference tasks #248, task: parallel optimization rounds with orthogonal lanes for multi-agent harnesses #249, [Tracking] Minimal engineering benchmarks shared by Workbench, SkillEval and SearchSpace experiments #252). The fourbugIssues then carry twokind:*labels; the one-kind rule applies to Issues created after the change.kind:docsto task: distill local-dream Android diffusion contracts with AREX repo-to-skill #234, then deletedocumentation; docs: knowledge-model-policy still describes the check as advisory, but it is a required status check #171 already haskind:docs.accessibility,duplicate,enhancement,good first issue,invalid,question,wontfix. Native close reasons such as not planned coverduplicate,invalidandwontfix.Execution: one PR delivers
labels.json, the rules, the template labels and the drift report. Renames, creations and deletions run after that PR merges. Deletions run only after Dong1017 has seen the final list. The Issue body now reflects these decisions.Dong1017 commentedon Nov 1, 2026
Label changes applied (2026-11-01)
After #299 merged (main
28d677ca), the repository labels were changed to match.github/labels.json. A rename keeps every assignment.acceptedstatus:acceptedlabels.jsonbugkind:buglabels.jsonhelp wantedhelp:wantedlabels.jsonpriority:P0,priority:P1,priority:P2labels.jsonarea:usability,status:proposed,status:deferreddocumentationkind:docsaccessibility,duplicate,enhancement,good first issue,invalid,question,wontfixUnchanged:
area:knowledge,area:process,area:workbench,kind:acceptance,kind:docs,kind:investigation,kind:rfc,kind:roadmap,kind:status,kind:task,kind:tracking,skill-eval:execute.Before: 26 labels. After: 21 labels with the names and descriptions in
labels.json.tools/check_labels.pyat main28d677careports no drift against the live labels; the first scheduled nightly run is on 2026-11-02 at 06:00 UTC. #61 "Issue organization" now links the label list, the rules and the pending-decision view.Remaining for this Issue: completion criterion 5. Of the 29 open
kind:task,kind:acceptance,kind:trackingandkind:rfcIssues, 28 do not start with a status block yet.agent-ci-infra-bot commentedon Nov 3, 2026
Intent: this task asks for one
group:valuelabel scheme (manifest, rules, template labels, nightly drift report) plus a status-block/pending-decision convention; the edit now records that the 2026-11-03 nightly failed only its label-drift step because the livebot-reviewedlabel is missing from.github/labels.json, and asks the existing acting contributor to reconcile it before closure. I verified both nightly jobs (the singlebot-revieweddrift line), the live 22-vs-21 label set, the run's lint/test/evidence results, that #299 is merged and #61 links the manifest and thestatus:proposedview, and the earlier Codex review points (decision-label semantics, protected-switch revocation) are answered in the body, so I do not repeat them. Verdict: human decision required — the drift cannot be reconciled under the accepted naming rule without an owner decision, and a current census shows completion criterion 5 is still unmet on newer Issues.F1 — high, requires human decision — "Decision needed: none" is incorrect: the reported drift cannot be reconciled under the accepted
group:valuescheme.github/labels.json(21 entries;bot-reviewedhas no match), the live label set (22 labels, includingbot-reviewedwith a null description),tools/check_labels.py:14(NAMEaccepts onlygroup:value),tools/check_labels.py:29-34(rejects an ungrouped name and an empty description),docs/agent-collaboration.md:185-187(every name has the formgroup:value; review/check states are not duplicated with labels),.github/workflows/ci-nightly.yml:45-51(fails on drift).bot-reviewedto the manifest "under the accepted label scheme", but that cannot pass:manifest_problems()rejects the name because it has no group, and the live label has no description while the manifest requires 1–100 characters, so the nightly would fail again with a different message. The label is applied by review automation (the project's review config setsreview_label: bot-reviewed; it appears on reviewed Issues [Task] RSI Dashboard: Optimization Workflow Visualization and Trace Capture #314, [Task] 0 Day Model Support: Reusable Integration Experience from Transformers to GPU and NPU Inference Engines #315, [Campaign] MiniMax-H3 Ref2VA lossless optimization on 4x910B1 #320 and acceptance: DeepSeek V4.1 Flash 910C decode TPOT ≤25 ms/token at C1–C32 #329, and on none of the older reviewed Issues such as task: measure whether InferRSI helps Claude Code and Codex optimize inference tasks #248/task: parallel optimization rounds with orthogonal lanes for multi-agent harnesses #249/[Tracking] Minimal engineering benchmarks shared by Workbench, SkillEval and SearchSpace experiments #252), so deleting or renaming it from the repository is not durable either. The scheme has no category for automation-owned labels, and line 187 even says not to duplicate review states with labels.safety-netstays red, completion criterion 2 cannot be met, and an acting contributor following the next action would either make a manifest edit that fails the same check or touch a label that the review automation owns.**Decision needed:** How automation-owned labels fit the group:value manifest — exempt/allowlist them, or rename the automation label — from Dong1017) and applystatus:proposedper the Issue's own rule; then changelabels.json, the docs,tools/check_labels.pyand its tests (or the automation config) according to that decision and record the verification. Do not let ordinary label maintenance rename or delete the automation label.F2 — medium — Completion criterion 5 is not met by a current census, but the next action covers only the label drift
Next action; checked against the open Issues through the GitHub API on 2026-11-03.kind:task/kind:acceptance/kind:tracking/kind:rfcIssues, [Task] 0 Day Model Support: Reusable Integration Experience from Transformers to GPU and NPU Inference Engines #315, acceptance: DeepSeek V4.1 Flash 910C decode TPOT ≤25 ms/token at C1–C32 #329 and [Task] Deploy Minimax H3 in 5070 and enhance the performance using InferRSI #331 have no status block at all ([Task] Deploy Minimax H3 in 5070 and enhance the performance using InferRSI #331 has an empty body), and task: add MLX backend discovery and seed source-grounded MLX knowledge for Apple Silicon #38, [Task] RSI Dashboard: Optimization Workflow Visualization and Trace Capture #314 and [Campaign] MiniMax-H3 Ref2VA lossless optimization on 4x910B1 #320 have a status block without the required**Decision needed:**line. The 29-Issue rollout count therefore no longer describes the open set, and fixing only the label drift would still leave criterion 5 unmet.Reviewed commit: 663f3b3
Coverage: Checkout: 2645 files at 663f3b3 in a git worktree with the repository's history
agent-ci-infra-bot commentedon Nov 3, 2026
Intent: this task asks for one
group:valuelabel scheme (manifest, docs rules, template labels, nightly drift report) plus a status-block/pending-decision convention; the edit now records thebot-revieweddrift as a named pending decision with an owner and adds a fresh 35-Issue status-block census. I re-verified the earlier findings against the current state: F1 fixed — the status block now names the question and an owner through the recorded delegation, and the validator (tools/check_labels.py:14,29-34) and docs (docs/agent-collaboration.md:187) still block the obvious fix, so the decision is genuine; F2 fixed — a fresh API read reproduces 35 applicable open Issues and exactly the six gaps named (#315/#329/#331 no block, #38/#314/#320 no Decision-needed line), and the nightly at663f3b32failed only the label-drift step (22 live labels vs 21 in.github/labels.json; the checker prints only thebot-reviewedline and exits 1). Verdict: human decision required — the disposition is pending, and one criterion-6 label gap remains (F3).F3 — medium, actionable — The Issue records a pending decision but is not labeled
status:proposed, so the criterion-6 pending-decision view omits itkind:task,area:process,bot-reviewed; nostatus:*), its new**Decision needed:**line,docs/agent-collaboration.md:190(the acting agent appliesstatus:proposedwhen the status block names a concrete question and its decision owner and no decision is recorded), completion criterion 6 in the body, and theis:open label:"status:proposed"view linked from [Roadmap] InferRSI: reusable knowledge, verifiable inference optimization #61.status:*label is present. The documented view therefore does not list the very Issue that now records the pendingbot-revieweddecision, so criterion 6's first case ("lists an open Issue whose status block names a decision that has no owner reply") is unmet. A fresh API read shows the same gap on [RFC] Per-task SOL modeling and a KDA-flow gap metric for fused operators #303 (openkind:rfc, "Accept, defer or reject … from the maintainers", no status label, no decision after 2026-11-02) and the inverse on [RFC] Integrate AISBench as an optional benchmark tool #289 (carriesstatus:proposedalthough its Decision-needed line names no decision owner, which the same rule requires).status:proposedto this Issue (no policy or code change), and add a label-membership pass to the next action ([RFC] Per-task SOL modeling and a KDA-flow gap metric for fused operators #303's missing label; [RFC] Integrate AISBench as an optional benchmark tool #289's missing decision owner) so criterion 6 is verified together with criterion 5, then record that verification.Reviewed commit: 663f3b3
Coverage: Checkout: 2645 files at 663f3b3 in a git worktree with the repository's history
Dong1017 commentedon Nov 4, 2026
Disposition:
bot-reviewedis admitted as an outside-owned label, not as a managed oneRecording the decision that PR #343 and the review on it are waiting on. The requester chose this approach on 2026-11-04; the evidence below is what I verified before building it.
The finding.
bot-reviewedis not this repository's label:agent-ci-infra-bot[bot]created it and applies it. It is on 24 Issues and PRs, including this one.Why the two obvious fixes do not work. Renaming or deleting it makes the app recreate
bot-reviewedon its next review, so the drift returns the following night and the repository also gains an orphan. Adding it to.github/labels.jsonfails that file's own contract:manifest_problemsrequires<group>:<value>with a matchinggroupfield, so the checker would reject the entry it was given to satisfy. Neither path ends with a green nightly.Disposition against criterion 1 (naming). The
group:valuerule governs the labels this repository manages — the ones it creates, names and may rename. It does not reach a name this repository cannot change. Declaringbot-reviewedin.github/external-labels.jsonkeeps the rule intact for every managed label and states plainly why this one is outside it. The rule is not weakened: no managed label gains an exemption, and a name cannot be in both files.Disposition against criterion 2 (repository labels match
labels.json). This criterion is satisfied by managed labels matching the manifest exactly, with outside-owned labels declared and excluded. The original wording assumed every live label was ours to manage, which stopped being true when an outside app was given write access. A missing managed label, a changed managed description, and any undeclared label still fail; only names declared as outside-owned are skipped.Scope of this disposition. It admits one naming exception for labels this repository does not own. It is not a statement that
bot-reviewedis useful, that the app's reviews are endorsed, or that the review-state prohibition is relaxed — that prohibition still governs every managed label, andbot-reviewedcarries no coordination meaning here. Adding an entry stays a reviewed change to a tracked file, so no label can be exempted by assertion. Theownerfield is a required but informational attribution: nothing verifies it, because GitHub does not report which app created a label.Acting under the Issue-line delegation recorded for this Issue. If the decision owner prefers a different resolution — removing the app's label-write access, or having it adopt a
group:valuename — that supersedes this record, and #343 should be closed rather than merged.Remaining before this Issue closes. Criterion 2 is dispositioned but not yet delivered: #343 is unmerged, so the nightly still reports the drift. Criterion 5 is now met — a fresh census of all 47 open Issues finds 40 applicable and 0 status-block gaps, after #38, #315 and #320 were completed today. The other four criteria were met by #299.
Dong1017 commentedon Nov 5, 2026
@amy-why-3459 could you confirm whether the external-label approach is acceptable for this Issue's naming and live-label criteria (1 and 2), or suggest what should change?
The proposal in #343 declares
bot-reviewed, applied by the externalagent-ci-infra-bot[bot]app, in.github/external-labels.jsonand excludes only declared external names from unexpected live-label drift. Repository-managed labels still followgroup:valueand must match.github/labels.json: missing managed labels, description drift and undeclared labels still fail. Templates and evaluation config cannot depend on external labels; theownerfield is informational, not verified ownership or review endorsement.This is the same policy question as the current PR review request, linked here so the answer sits beside the Issue criteria; one response is enough. We are asking for your independent assessment, not recording acceptance on your behalf. Implementation review and post-merge nightly verification remain separate.
Dong1017 commentedon Nov 5, 2026
PR #343 merged at 2026-11-05T12:02:03Z as
86f8f4a6, so this Issue's criterion 2 now has its implementation inmain. Recording the state and what is still outstanding before closure.Criterion 2: drift is clean against the live label set
Checked directly against the 22 live repository labels, using the merged checker at
main:bot-reviewedis present in that live set and is excluded only because it is declared in.github/external-labels.json. Managed labels still have to match.github/labels.jsonexactly — missing managed labels, description drift and undeclared labels all still fail.This is a read-only check I ran myself. The nightly has not yet confirmed it. The last
safety-netrun is 41842010370 on 2026-11-04, which failed on the label-drift step at9dded7ad— before this fix existed. The next scheduled run is the first one that exercises the merged code, and it is the unattended confirmation this Issue should close on. No run has been triggered manually for it.How the policy question was actually resolved
Stating this precisely, because the closure summary should not claim more than happened.
Two reviewers raised the same blocker: the disposition in issuecomment-6631265140 and the implementation came from the same account, so neither could serve as independent acceptance. They cleared it in two different ways:
992eae42. The approval carries no written answer to the policy question asked here, and no reply was posted on this Issue.So no separate written policy ruling exists. What exists is that both reviewers who raised the objection subsequently cleared it from their own side, at the exact head, and one of them merged. That is a real independent act by both, and it is weaker than the written ruling originally requested. Any closure summary here should say it that way rather than claim an independent acceptance was recorded.
The alternative disposition stated earlier still applies if that reading is ever rejected: remove the app's label-write access, or have it adopt a
group:valuename, and revert the exemption.Remaining before closure
Next action: after the first
safety-netrun on amainthat includes86f8f4a6, link that run here and close. If that run still fails on the drift step, this Issue stays open and the failure is the finding.Dong1017 commentedon Nov 5, 2026
Incremental acceptance check: criterion 6 is not yet verified by the nightly-only closure plan. The post-merge record marks it Met, but a fresh read at 2026-11-05 13:07 UTC finds #303 still open, explicitly awaiting a maintainer scope decision, with only
kind:rfcandarea:knowledge. Its comments contain design feedback, not that scope disposition. The repository'sis:open label:"status:proposed"query returns 17 Issues and omits #303, matching the gap already noted in this Issue's body.Please reconcile that case before recording criterion 6 as Met: either link the recorded disposition that removes its pending-decision status, or verify that the pending-decision view reflects its still-pending state under the existing convention. A passing label-manifest drift check establishes criterion 2's evidence, not Issue membership in that view. This does not reopen the withdrawn #343 policy gate or add a new acceptance requirement; no labels or scope decisions were changed by this read-only check.
Dong1017 commentedon Nov 5, 2026
Closing. The awaited unattended nightly has run and passed, and the criterion-6 gap recorded earlier today is now reconciled. Recording both, with what is still not demonstrated stated plainly.
Criterion 2 and 4: the first post-fix natural nightly is green
Run 42041797618,
scheduleevent, started 2026-11-05 14:06:25 UTC at01c73521. That head is 1 commit ahead of and 0 behind86f8f4a6, so it contains the #343 fix.safety-netfrozen-bytes (ubuntu-latest)/(windows-latest)The step log shows it paginated the live repository labels through the API and ran the merged
tools/check_labels.pyagainst them, emitting no drift report. This is the unattended integrated evidence criterion 2 was waiting for; the three preceding nightlies (Nov 2, 3, 4) failed on exactly this step.Criterion 6: the view was incomplete, and now is not
The earlier check was right about #303 and understated the scope. A fresh census of all 39 applicable open Issues found nine whose status block names a pending decision while carrying no
status:*label, so the view omitted every one of them.Each was checked against its comments before labeling, as criterion 6 requires — the label alone does not decide the case:
status:proposedwas added to all nine, and to #355 after its status block was filled in. Nothing else was changed: no scope decision, no priority, no other label, and no other Issue body.Re-verified against live data after the change:
is:open label:"status:proposed"returns 27 Issues.labels.jsonand theagent-collaboration.mdLabels section.What this closure does not claim
The "drops the Issue once the owner accepts, defers or rejects" behavior has never been exercised.
status:deferredhas zero uses. The singlestatus:acceptedis on closed #234 and arrives from the D4 rename of the oldacceptedlabel, which preserves assignments without a label event — not from astatus:proposed→status:acceptedtransition. Mechanically the drop follows from the query beingis:openplus the replacement rule, and a rejected Issue leaves the view by being closed as not planned; but no owner has yet decided an Issue that was in the view, so that path is unproven by observation. It is left unproven rather than held open, because it depends on a decision outside this Issue's control.One criterion-5 gap is open. #353 (created 2026-11-04, actively edited) has no three-line block. Its acting agent fills it under the convention; its body was not edited here. The 2026-11-04 census that recorded criterion 5 as met found 0 gaps across 43 applicable Issues. New Issues arriving without a block are the convention operating, not a missing deliverable — a zero-gap instant is not a stable state in an active repository.
No separate written policy ruling on
bot-reviewedexists. Restating this exactly as recorded at merge: both reviewers who raised the independence objection cleared it from their own side at the exact head — @zengchuang-hw withdrew the gate explicitly, and @amy-why-3459 approved with an empty body and no written answer to the policy question. That is a real independent act by both and it is weaker than the written ruling originally requested. This closure does not claim an independent maintainer accepted the policy reading. The alternative disposition still applies if that reading is ever rejected: remove the app's label-write access, or have it adopt agroup:valuename, and revert the exemption.Label application is reported, not enforced. Drift is reported against
labels.json, never fixed automatically, and nothing checks per-Issue application rules — #314 currently carries bothkind:taskandkind:rfc, against the one-kind:*rule. Automating that check is a separate decision and is not implied here.Criteria
labels.jsonlists every label,group:valueform, documented meanings, #61 links therelabels.jsonkind:task/kind:acceptanceReopen if: a nightly label-drift failure recurs that the manifest cannot express, or the pending-decision view is found to list or omit Issues against the convention again.
Closing as completed.