Skip to content

docs: define the label list, rules and nightly drift report - #299

Merged
Dong1017 merged 2 commits into
InferMatrixLab:mainfrom
Dong1017:claude/issue284-labels
Nov 1, 2026
Merged

Dong1017 merged 2 commits into
InferMatrixLab:mainfrom
Dong1017:claude/issue284-labels

Conversation

@Dong1017

@Dong1017 Dong1017 commented Nov 1, 2026

Copy link
Copy Markdown
Collaborator

Governing Issue and delivery slice

Refs #284

  • Accepted scope / delegation: the one implementation PR named in the D1–D4 decision record and the Issue body: the label list, the rules, template labels and the nightly drift report. Dong1017 delegated decisions in this Issue line to the acting agent on 2026-11-01, except label deletions, which Dong1017 sees first.
  • What this PR delivers: .github/labels.json with the 21 target labels; a Labels section in docs/agent-collaboration.md with the group table, the status and priority rules, the skill-eval:execute revocation rule and the status-block convention; kind:task and kind:acceptance on the two Issue templates, plus a status block in the scoped-task template; and a read-only drift step in the nightly safety-net job, backed by tools/check_labels.py and its tests. The guide's opening no longer says "no new automation, permissions"; it now says the conventions add no merge gates or CI lanes, and the checks they mention are reports in the existing lanes.
  • What it does not deliver: any change to repository labels, edits to [Roadmap] InferRSI: reusable knowledge, verifiable inference optimization #61, a workflow that writes labels, or a status block in the campaign form (form markdown does not reach the Issue body; the acting agent adds the block when it edits the Issue). The label changes run after merge, as listed under Remaining work.

Knowledge authorship declaration

Not applicable: this PR changes no path protected by docs/knowledge-model-policy.md.

Changed artifacts and evidence

Requirement (#284 completion criteria) Actual change Check / evidence and result Remaining gap
1. Every label listed with name, group and description; names have the form group:value; each group's meaning and who applies it is documented .github/labels.json; docs/agent-collaboration.md Labels section test_repository_manifest_is_valid; review #61 "Issue organization" link to the Labels section, after merge
2. Repository labels match labels.json none in this PR the nightly drift step label changes after merge
3. Templates apply labels scoped-task.md applies kind:task; campaign-acceptance.yml applies kind:acceptance instead of the nonexistent acceptance test_templates_and_configs_reference_only_listed_labels none
4. Nightly read-only drift report, including labels referenced by templates and tools/skill_eval_*_config.json ci-nightly.yml safety-net: gh api lists labels with an issues: read token, then tools/check_labels.py compares names and descriptions and checks every template and config reference; printed lines start with label drift so a label name cannot form a workflow command tests/test_check_labels.py the first nightly run after merge
5. Three-line status block on open kind:task/acceptance/tracking/rfc Issues convention in the Labels section; status lines at the top of the scoped-task template review applying blocks to existing open Issues
6. Pending-decision view the Labels section links is:open label:"status:proposed" review linking the view from #61, after status:proposed exists

Design notes:

Checks and dependencies

  • Checks actually run (result and tested scope): ruff check --no-cache tools/check_labels.py tests/test_check_labels.py (ruff 0.14.10) passed. The gh api ... --jq '.[] | {name, description}' output format was confirmed against the live repository: one compact JSON object per line, null for an empty description.
  • Failed, skipped, timed-out or not-run checks (if applicable): pytest was not run locally; the ready lane runs the full suite. The drift step has not run; until the post-merge label changes are applied, it reports the renames, creations, description updates and deletions listed below and fails the nightly job.
  • Dependencies / shared interfaces / integration assumptions (if applicable): safety-net gains job-level permissions: contents: read, issues: read; its existing steps need only contents: read. tools/skill_eval_auto_config.json and tools/skill_eval_historical_config.json are read, not changed; skill-eval:execute keeps its name and description.

Remaining work and Issue closure

🤖 Generated with Claude Code

Add .github/labels.json as the single list of repository labels, a Labels
section in the collaboration guide with the status, priority and protected
switch rules, labels on the two Issue templates, and a read-only step in the
nightly safety-net job that reports drift between repository labels and the
list. No workflow writes labels.

Agent-assisted-by: Claude Code (author)
Signed-off-by: Dong1017 <55723162+Dong1017@users.noreply.github.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-01T13:10:44.101882Z 1f35624 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d5a31947bf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/agent-collaboration.md Outdated
Comment on lines +207 to +208
label before each paid request, so no new paid request starts after removal. Removal does not
cancel a request already sent or roll back budget already reserved or claimed. Only a new label

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Qualify the revocation guarantee for already-checked requests

If the label is removed after a request's last live-label check but before its provider HTTP send, that request can still start. controlled_execute.check() performs further ledger reads after live_label(), and anthropic_agent.send_message() obtains its grant before separately calling opener.open(); src/inferrsi/model/request_guard.py:5-6 explicitly documents this race. Consequently, limiting the exception to requests already sent gives operators an incorrect stop-spending guarantee. State that subsequent live checks enforce revocation and include requests that passed their last check but have not yet been sent.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed; request_guard.py lines 5-6 document that race. Fixed in 1f35624: every check after the removal blocks its request, and a request that passed its last check before the removal can still be sent.

A request that passed its last live-label check before the label was
removed can still be sent, as the request guard documents.

Agent-assisted-by: Claude Code (author)
Signed-off-by: Dong1017 <55723162+Dong1017@users.noreply.github.com>
@Dong1017 Dong1017 added the area:process Repo-wide process, governance, privacy and security rules label Nov 1, 2026 — with ChatGPT Codex Connector

@Dong1017 Dong1017 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM for this implementation slice at 1f35624. The prior revocation-wording finding is fixed: the documentation now explicitly retains the race for requests that passed the last check before label removal but have not yet sent, consistent with request_guard.py. The author reply alone was not used as clearance; the one-file correction was checked against the guard's stated contract.

Current-head Ready CI passed all six jobs on the merge with main 7b6d00a, and the existing independent review completed without remaining findings.

This delivers the manifest, conventions, templates and read-only drift checker. Live label migration, the separately confirmed deletion list, first nightly drift evidence and Issue #284 acceptance remain with the existing owner.

@Dong1017
Dong1017 merged commit 28d677c into InferMatrixLab:main Nov 1, 2026
8 checks passed
@Dong1017
Dong1017 deleted the claude/issue284-labels branch November 1, 2026 14:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:process Repo-wide process, governance, privacy and security rules

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant