feat(skills): /unblock — operator decisions queue, sensitivity-leak-safe#34
feat(skills): /unblock — operator decisions queue, sensitivity-leak-safe#34samtuckerdavis merged 1 commit intomainfrom
Conversation
…tor section Surfaces every pending decision only the operator can make. Three sections — credentials, decisions, sensitivity. Reads the latest /run report (<30min old) or derives via gh. Every item has a specific actionable next step. Credentials carry the actual URL or gh command (not generic "fix the secret"); decisions offer three concrete resolutions (update decision, close, override label); sensitivity escalations offer approve/recategorize/reject. If an item lacks a specific action, it does NOT belong in /unblock — it belongs in /run's stopped-at-human-gate section. Critical hard rule: sensitivity section NEVER leaks private content. Repo+number + non-sensitive summary only. STAGE 13 confidentiality leak rule per context-repo.md applies. If a row can't be summarized without quoting the issue body, write "operator: read issue body, no summary safe" and link to the URL — never paraphrase private content. Other hard rules (per pipeline-nevers.md): - Never applies override labels itself (human-only) - Never closes PRs/issues itself (surfaces gh close commands) - Never merges (that's /merge's read-only queue) - Never invokes subagents (reads existing pipeline state only) Args: --section limits to one section, --repo scopes to one repo. Model: sonnet (mostly structured retrieval; opus is overkill). disable-model-invocation: true — operator-only. Plus: adds an "Operator commands" section to .claude/rules/tooling-reference.md documenting all three commands (/run, /merge, /unblock) with two-line description per command. Surgical diff against the canonical rule set — does not re-sync the rest of the file.
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 4 minutes and 55 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Summary
Adds
/unblock— third and last of the operator-level slash commands. Surfaces every pending decision only the operator can make, with copy-paste-ready next actions. Three sections: credentials, decisions, sensitivity escalations.Also adds the documenting "Operator commands" section to
.claude/rules/tooling-reference.md(surgical edit — does not re-sync the rest of the rule file).Stack-independent — branched fresh from main, doesn't depend on PRs #32 (
/run) or #33 (/merge) being merged.Why
Pipeline produces work that humans-only can resolve: rotate this credential, settle this decision, choose a sensitivity tier for this issue. Without
/unblockthese items pile up invisibly inside/run's human-gate section, mixed with "needs persona-qa" and other passive waits./unblockis the active list — every row has a button to push.Specific actions, not generic instructions
The whole value of this command is replacing "fix the GCP creds" (operator goes off to find which dashboard) with "Fix at: https://console.cloud.google.com/iam-admin/iam?project=". If a row can't carry a concrete URL or gh command, the row doesn't belong in
/unblock— it belongs in/run's human-gate section.Sensitivity-section confidentiality
The sensitivity section is the most dangerous part of this command. STAGE 13 confidentiality leak rule (per
context-repo.md) applies: the report must NEVER contain the private content itself. Repo+number + non-sensitive summary only.If a sensitivity row can't be summarized without quoting the issue body, the row reads "operator: read issue body, no summary safe in this report" and links to the URL. The whole point of the section is that the operator sees WHICH items need a call without seeing WHAT's in them — the report can be screen-shared, the underlying issues cannot.
Hard rules
pipeline-nevers.md)/merge's queue)Tooling-reference update
Adds an "Operator commands" section to
.claude/rules/tooling-reference.mdwith two-line descriptions of/run,/merge,/unblock. This is the discoverability hook so future Claude sessions know the commands exist. Surgical diff — does not touch the rest of the file.Test plan
/unblockand verify all three sections render--section credentialscorrectly filters to one section--fix-modereference in the credentials section works as a hand-off to/run