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 now 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 current 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. The reviewer still asks for a link to the Issue-line delegation or confirmation that the decision owner has seen it; no formal approval is recorded. 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 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. Criterion 6 still needs verification: #303 currently names a pending maintainer scope decision, has no accepted scope reply in its comments, and lacks status:proposed, so it is absent from the specified view. No labels are changed here.
Decision needed: none. The bot-reviewed question is dispositioned in the 2026-11-04 record: the label is admitted as outside-owned rather than renamed, deleted or added to the managed manifest, and criteria 1 and 2 are read accordingly. Delivery of that disposition is PR #343, which is unmerged.
Next action: Merge #343 once it has the required approvals, then confirm a nightly safety-net run reports no drift. Criterion 5 is met: a 2026-11-04 census of all 47 open Issues finds 40 applicable and 0 status-block gaps, after #38, #315 and #320 were completed. This Issue closes when criterion 2 is delivered; no label, automation setting or acceptance criterion is changed by this update.
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.