issue-claim-discipline
Issue Claim Discipline β Claim Before You PR
Section titled βIssue Claim Discipline β Claim Before You PRβPrevents duplicate work on in-scope issues (issueClaim.inScopeRepos in t1k-config-core.json;
default The1Studio/theonekit-* + t1k-*). Before opening a PR for an issue, acquire the claim
via the SSOT script β never inline gh for claiming:
node .claude/scripts/t1k-issue-claim.cjs acquire <owner/repo#N>- Hard-block on
state:"held"(live foreign claim): surfaceholder+prNumber, stop. Override only with--steal. - The claim is GitHub-native:
acquireself-assigns the issue; the draft PR you then open (Fixes #N,t1k:claimlabel,t1k-claim: owner/repo#Nmarker) IS the durable claim. After opening it, runacquire <ref> --pr <N>(lowest-PR# tie-break; closes only your own losing PR). - Release = mark the PR ready (
release <ref>); merge/close auto-releases via GitHub state. - No TTL β
t1k-triagereports claims inactive >stalenessDaysas stale (reporting only, never auto-closed).
All claim checks/mutations go through the script (SSOT, per ai-driven-design.md); the only sanctioned direct gh is t1k-babysit-prβs gh pr merge. Config, residual-risk (no-CAS + tie-break backstop), and the worker upgrade path are documented in the script + issueClaim config block.