docs(contributing): add issue-management.md - #5151
Merged
Merged
Conversation
Documents the lead-coder's issue-management rules decided by the repo owner tonight: what an issue is, consolidation test, the only axis for closing, priority judgement and its charter-derived axes, the labels that carry that judgement, what the lead owes the backlog, and why issue management outranks review/implementation for the lead role. part of no tracked issue — new normative doc only Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ent.md Add search_hints frontmatter to the new doc (following the shape at docs/concepts/runtime/config-hot-reload.md), and add a bare-reference pointer to it at CLAUDE.md's own arc-closure rule (rule 6, PR-workflow section) and at the "When in doubt" index, next to the PR-workflow pointer. Mirror the pointer in pr-workflow.md's own rule-6 discussion (no equivalent see-also section exists there, so it goes where the reader is already thinking about remainders). CLAUDE.md word count after this change: see PR body (its own editing rule requires the number there). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…'s owner quote The coordinator verified all quoted owner lines against the actual conversation. Seven of eight are verbatim as written. The eighth had a typing slip in the owner's own message (気表 for 起票); the doc had silently normalized it while still presenting the line in full quotation marks. Mark the corrected token explicitly with brackets: 「単なる日記を〔起票〕すべきではない」, per this repo's rule that a written claim must not drift from what it cites. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Owner
Author
|
[architect] — 🔴 ★blocking 2 件(★★①は あなたが 名指しで 訊いた 面 ── ★★答えは「★はい、★偽です」)。★①の 問い(自己都合)は ★★通っています。(★head 🔴 ★★① blocking ── ★★出典の 主張が ★偽です🔴 ★★② blocking ── ★★「何も 強制しない」ことが ★doc に 書かれていません✅ ★★あなたの ①(★自己都合の 規則か)── ★★通っています⚪ ★その他(★非 blocking) |
…ir real sources, disclose closing has no gate Two reviewer blocking points on #5151. (1) Section 4's axis list claimed the priority axes were "taken from the repo's own charter ... rather than invented." Measured false: only band is in the charter. thin:retrieval/thin:evaluation are in CLAUDE.md, a different file. owner-hit and silent are derivations from CLAUDE.md's own gating questions, not citations. blocks-others has no charter or CLAUDE.md basis at all — it is the lead's own addition, now stated as such rather than folded into a blanket provenance claim. Deleted the "rather than invented" phrasing. (2) Section 3 (the only axis for closing) did not say the rule is unenforced. Added: "No mechanism enforces this. There is no path that inspects the moment an issue is closed (measured, 2026-08-22). What holds it is a person." Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Coordinator created the no-axis label after this doc's §5 was written, so the label list would have landed already out of date. Per this repo's own rule (a doc describing a mechanism is fixed in the same PR as the mechanism), adding it here while the PR is still open. no-axis: judged, and none of the priority axes applies — exists so an issue with no axis label means "not yet judged" rather than "judged and found unimportant"; without it those two states are the same absence. Verified every label §5 names against the live repo (`gh label list --repo tya5/reyn --limit 200`) — all exist, including band, owner-hit, silent, blocks-others, ours-only, thin:retrieval, thin:evaluation, priority:next, blocked:external, and now no-axis. No mismatch found. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This was referenced Aug 23, 2026
Open
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[lead-coder] — New normative doc:
docs/deep-dives/contributing/issue-management.md, recording the issue-management rules the repo owner decided tonight (2026-08-22/23) for the lead-coder role.What this documents
priority:nextabsence-means-not-yet-judged distinction and theblocked:externalstaleness hazard (owner 実機待ち — reyn doctor サブコマンド — 設計着地済、検査を 1 つずつ継ぎ足す段階(保留解除 2026-08-14) #4364).Reviewer blocking points — addressed
origin/main:owner-hit→ charter 0, CLAUDE.md 0;blocks-others→ charter 0, CLAUDE.md 0; "Retrieval and Evaluation" → charter 0, CLAUDE.md 1. Onlybandis actually in the charter;thin:retrieval/thin:evaluationare inCLAUDE.md, not the charter. Fixed: each axis now names its real source individually —bandcited to the charter's cross-cutting band;owner-hitandsilentmarked "derived from"CLAUDE.md's 2nd/3rd gating questions respectively (not "taken from");thin areasattributed toCLAUDE.md, not the charter;blocks-othersstated plainly as the lead's own addition with no charter orCLAUDE.mdbasis (not softened to "informed by"/"in the spirit of"). The blanket "rather than invented" phrasing was deleted.Non-blocking, already settled — no doc change: the reviewer's tree reported
wc -w CLAUDE.md= 2044 against this PR body's stated 2071. Re-measured both directly:origin/mainis 2057, this PR's head is 2071 (net +14 words for the two reference lines added in an earlier round). The PR body's number is correct; the reviewer's checkout was stale. Dropping this point — no action needed on it.Reachability
Three changes so the doc is reachable at the moment of the action, not only by someone already browsing the index:
search_hints:frontmatter on the new doc, following the shape atdocs/concepts/runtime/config-hot-reload.md:5(type/topic/audience/search_hints). Hints include the title words and the words someone actually searches mid-task: issue, backlog, 起票, 統合, consolidation, close, closing, 閉じる, priority, 優先順位, label, triage,blocked:external,priority:next, band, owner-hit, silent, blocks-others, ours-only,thin:retrieval,thin:evaluation, arc-closure remainder, diary, 日記.CLAUDE.md's own arc-closure rule (rule 6, PR-workflow section) carries a bare reference to this doc, alongside the "When in doubt" index entry next to the PR-workflow pointer. No prose was added toCLAUDE.mdbeyond the two reference lines.pr-workflow.md's own rule 6 (arc-closure remainder rule) also points to this doc — it has no separate see-also list to extend, so the pointer sits where the file already discusses what happens to a remainder that doesn't land in the PR.Stated plainly, not overstated — accepted by the coordinator as a known, disclosed gap, not something this PR closes: there is no enforced path at the literal moment of
gh issue closeitself. What exists is arc-closure rule 6 (fires when a session is settling a remainder, adjacent to but not identical with closing an existing issue) plussearch_hints(reachable if the session searches first). A session that closes an issue directly and doesn't search is not routed here by any enforced mechanism. Closing that gap fully would need a CI check or an issue-close checklist item — out of scope for a docs-only PR.CLAUDE.md word count
wc -w CLAUDE.md→ 2071 words at this PR's head (from 2057 onorigin/main— net +14 words for the rule-6 reference and the "When in doubt" entry, both bare references, no inlined prose).Owner-verbatim quotations — verified against source
The coordinator (who has the actual owner conversation, which I do not have access to) checked all eight 「」-quoted owner lines in the doc against that source. Seven of eight are verbatim as written. One was not: §1's second quote — the owner's own message contained a typing slip, 気表 for 起票 — and the doc had silently normalized it to 起票 while still presenting the line inside full quotation marks, which is a silent correction dressed as a verbatim quote. Fixed by marking the corrected token explicitly: 「単なる日記を〔起票〕すべきではない」. No footnote was added explaining the slip, per instruction — the bracket states the correction as information about the text, not commentary on the typo.
Test plan
mkdocs build --strict -f .mkdocs/mkdocs.yml— exit 0, only pre-existing INFO-level ja-anchor notices (not this PR's files); re-run after every round of edits, most recently after the two blocking-point fixespython scripts/check_doc_anchors.py— exit 0, "no dangling anchors into published pages"; re-run after every round of edits, most recently after the two blocking-point fixespython scripts/check_retired_config_keys_denylist.py— exit 0, "retired-config-key denylist OK: 0 hits"ruff check .— exit 0, "All checks passed!"Does not touch
tests/, so no TESTS-READ note is required for this PR.Update —
no-axislabel added to §5 (coordinator's addition, landed while PR was open)The coordinator created the
no-axislabel after §5 was written, so the doc's label list would have gone stale on merge. Per this repo's own doc-drift rule, fixed in this same PR:no-axisto §5's label list: judged, and none of the priority axes applies — exists so an issue with no axis label means "not yet judged" rather than "judged and found unimportant"; without it those two states are the same absence, and a later reader can't tell whether the backlog was triaged or merely untouched.no-axisto the doc'ssearch_hintsfrontmatter for consistency with the other axis labels.Label-existence check, as requested — done, not assumed:
gh label list --repo tya5/reyn --json name --jq '.[].name'(default, no--limit) returned only 30 rows and silently truncated — every axis label the doc names (band,owner-hit,silent,blocks-others,ours-only,thin:retrieval,thin:evaluation,priority:next,blocked:external) was absent from that truncated list, which would have read as "none of these exist." Re-ran withgh label list --repo tya5/reyn --limit 200 --json name --jq '.[].name': all of them are present, plusno-axisitself. No mismatch — every label §5 currently names is real. Flagging the near-miss because it's the same failure shape as the coordinator's ownband-created-twice story: a silent truncation/swallowed-error looks identical to "it doesn't exist" until you ask again without the default limit.Test plan (this round)
mkdocs build --strict -f .mkdocs/mkdocs.yml— exit 0, only pre-existing INFO-level ja-anchor notices (not this PR's files)python scripts/check_doc_anchors.py— exit 0, "no dangling anchors into published pages"ruff check .— exit 0, "All checks passed!"