feat: retire the agent-ok and by-agent label mechanism - #37
Conversation
Both labels were write-only: agent-ok had one producer (the issue labeler copying a form checkbox) and no consumer; by-agent had neither. Nothing gated, routed, or recorded on them, and provenance already lives in the Co-Authored-By trailer and the PR author account. - Drop both entries from labels.yml, the Agent eligibility checkbox from the three issue forms, and the agent-ok sync + isFormManaged clause from issue-labeler.yml (priority/area/type sync unchanged). This also removes the silent stripping of a hand-added agent-ok on issue edit. - AGENTS.md: start-work rule is explicit human assignment; provenance is the commit trailer. README, design principle 7, PROJECT_FIELDS, project-views (Agent queue view removed), bootstrap Ready description and view count updated to match. - Skills agent-workflow, pr-authoring, issue-writing, anti-patterns, code-review reworded; no reference to either label remains. - ADR-0007 records the decision and rejected alternatives; ADR-0003 left untouched as history. Retires agent-ok, by-agent — no successor. Closes #36 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 20fb8bf1b0
ℹ️ 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".
| singleSelectOptions: [ | ||
| {name: "Backlog", color: GRAY, description: "Not committed yet"}, | ||
| {name: "Ready", color: GREEN, description: "Scoped and claimable (agent-ok issues are self-service here)"}, | ||
| {name: "Ready", color: GREEN, description: "Scoped and claimable"}, |
There was a problem hiding this comment.
Migrate the Ready description on existing projects
When bootstrap is rerun against a board created before this commit, status_options_decision compares only option names and returns target-skip for the existing six-option set, so this mutation never runs and the old description continues to advertise that agent-ok issues are self-service. This contradicts the new explicit-assignment policy and the ADR's claim that rerunning bootstrap removes the stale guidance; add a safe update or an explicit manual migration step for existing boards.
AGENTS.md reference: AGENTS.md:L53-L56
Useful? React with 👍 / 👎.
## Summary Retire the `agent-ok` (self-service work queue) and `by-agent` (audit-trail) labels: declaration in `labels.yml`, the labeler automation, the issue-form checkbox, and every doc and skill that told agents or humans to use them. Neither label had a consumer; provenance already lives in the `Co-Authored-By` commit trailer and the PR author account. Rationale and rejected alternatives in ADR-0007. Cherry-picked from the template TzuH-Hsu/github-project-os#37 (`bd8258d`) and re-resolved against this repo's older template baseline: only the label retirement is applied, no other template drift is pulled in. Retires `agent-ok`, `by-agent` — no successor. ## Related issue Template decision: TzuH-Hsu/github-project-os#36. No repo-local issue; this is a mechanical follow-through of that decision. ## Validation - [x] L0 static — `markdownlint-cli2` on all changed `.md`, `yaml-lint` on `labels.yml`, `issue-labeler.yml`, and the three issue forms (all green; `make lint` needs `markdownlint-cli2` installed globally, CI runs the full target) - [x] L1 unit — no code touched - [ ] L2 integration — n/a - [ ] L3 e2e / preview — n/a ## Risk / rollback ```text RISK: L0 `make lint` run piecewise, not via the Makefile — CI is the authoritative gate Rollback: revert this PR and re-run scripts/bootstrap.sh to restore the two labels ``` Follow-up after merge (owner runs): `gh label delete agent-ok --yes && gh label delete by-agent --yes`. Do not use `bootstrap.sh --prune`. ## Checklist Before merging: - [x] Conventional Commit PR title (`<type>: <description>`) - [ ] Linked issue using "Closes #N" — none local, see Related issue - [x] No secrets, no `*.local.md` files committed - [x] Documentation updated where affected
## Summary Retire the `agent-ok` (self-service work queue) and `by-agent` (audit-trail) labels: declaration in `labels.yml`, the labeler automation, the issue-form checkbox, and every doc and skill that told agents or humans to use them. Neither label had a consumer; provenance already lives in the `Co-Authored-By` commit trailer and the PR author account. Rationale and rejected alternatives in ADR-0007. Cherry-picked from the template TzuH-Hsu/github-project-os#37 (`bd8258d`) and re-resolved against this repo's older template baseline: only the label retirement is applied, no other template drift is pulled in. Retires `agent-ok`, `by-agent` — no successor. ## Related issue Template decision: TzuH-Hsu/github-project-os#36. No repo-local issue; this is a mechanical follow-through of that decision. ## Validation - [x] L0 static — `markdownlint-cli2` on all changed `.md`, `yaml-lint` on `labels.yml`, `issue-labeler.yml`, and the three issue forms (all green; `make lint` needs `markdownlint-cli2` installed globally, CI runs the full target) - [x] L1 unit — no code touched - [ ] L2 integration — n/a - [ ] L3 e2e / preview — n/a ## Risk / rollback ```text RISK: L0 `make lint` run piecewise, not via the Makefile — CI is the authoritative gate Rollback: revert this PR and re-run scripts/bootstrap.sh to restore the two labels ``` Follow-up after merge (owner runs): `gh label delete agent-ok --yes && gh label delete by-agent --yes`. Do not use `bootstrap.sh --prune`. ## Checklist Before merging: - [x] Conventional Commit PR title (`<type>: <description>`) - [ ] Linked issue using "Closes #N" — none local, see Related issue - [x] No secrets, no `*.local.md` files committed - [x] Documentation updated where affected
Summary
Retire the
agent-ok(self-service work queue) andby-agent(audit-trail) labels: declaration, labeler automation, issue-form checkbox, and every doc and skill that told agents or humans to use them. Neither label had a consumer; provenance already lives in theCo-Authored-Bycommit trailer and the PR author account. Rationale and rejected alternatives in ADR-0007.Retires
agent-ok,by-agent— no successor.Related issue
Closes #36
Validation
make lint(markdownlint, yamllint, lychee offline, actionlint, gitleaks,make checkall green)make test(placeholder target)Risk / rollback
Downstream: the six derived repos cherry-pick the squash commit, then run
gh label delete agent-ok --yesandgh label delete by-agent --yes. Do not usebootstrap.sh --prune(it deletes every label absent fromlabels.yml, including hand-added ones). Existing Projects keep the oldReadyoption description until bootstrap is re-run; cosmetic.Checklist
Before merging:
<type>: <description>)*.local.mdfiles committed