[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6JJN2DMFEAFZ1N7NXKWYHS2":3,"skill-same:01M6JJN2DMFEAFZ1N7NXKWYHS2":62},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":45,"ownerHtmlUrl":46,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":47,"install":48,"resources":61},"01M6JJN2DMFEAFZ1N7NXKWYHS2","cstatus",null,"Show current Correctless workflow state, available commands, and suggested next steps. Run anytime to see where you are.","joshft\u002Fcorrectless","joshft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F2847920?v=4","01M6JJGJ1WCYFH1BKGPZJ0Z4YD","josh","01M6JJGJ69XYFA6MTDXSH5BG42",66,"MIT","https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless\u002Fblob\u002Fmain\u002Fcorrectless\u002Fskills\u002Fcstatus\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32],"workflow","run","state","Bash","grep","read","write","edit","autonomous","show","next","commands","next steps","you","2026-11-10 10:12:30",false,"---\nname: cstatus\ndescription: Show current Correctless workflow state, available commands, and suggested next steps. Run anytime to see where you are.\nallowed-tools: Bash, Read, Grep, Glob\ndisallowed-tools: Edit, Write, MultiEdit, NotebookEdit, CreateFile\ninteraction_mode: autonomous\n---\n\n# \u002Fcstatus — Workflow Status and Next Steps\n\n> **Shared constraints apply.** Before executing, read `_shared\u002Fconstraints.md` from the parent of this skill's base directory. All constraints there apply to this skill.\n\nYou are the status agent. Show the human where they are in the workflow and what to do next. Be concise and actionable.\n\n## Intensity Configuration\n\n| | Standard | High | Critical |\n|---|---|---|---|\n| Display | Phase + next step + time in phase | add stale workflow warning | add token budget warning |\n\n## Effective Intensity\n\nDetermine the effective intensity using the computation in the shared constraints (`_shared\u002Fconstraints.md`).\n\n## Behavior\n\n### Intensity-Aware Status Display\n\n- At standard intensity: show phase, next step, and time in phase.\n- At high intensity: additionally show stale workflow warning when a phase exceeds its expected duration.\n- At critical intensity: additionally show token budget warning to alert when context usage is approaching limits.\n\n### 1. Check Setup\n\nFirst, verify Correctless is set up in this project:\n- Does `.correctless\u002Fconfig\u002Fworkflow-config.json` exist?\n- Does `.correctless\u002Fhooks\u002Fworkflow-gate.sh` exist?\n- Does `.correctless\u002FARCHITECTURE.md` exist and not contain `{PROJECT_NAME}` or `{PLACEHOLDER}` template markers? (Note: a minimal .correctless\u002FARCHITECTURE.md with \"This project is in early development\" is valid — it means `\u002Fcsetup` ran on a greenfield project and intentionally deferred architecture docs.)\n\nIf not set up: \"Correctless isn't configured in this project yet. Run `\u002Fcsetup` to get started.\"\n\n### 2. Check Current Workflow State\n\nRun:\n```bash\n.correctless\u002Fhooks\u002Fworkflow-advance.sh status 2>\u002Fdev\u002Fnull\n```\n\nIf no active workflow, also run:\n```bash\n.correctless\u002Fhooks\u002Fworkflow-advance.sh status-all 2>\u002Fdev\u002Fnull\n```\n\n### 3. Present Status\n\n**If no active workflow on current branch:**\n\n\"No active workflow on `{branch}`. You can:\n- Start a new feature: `git checkout -b feature\u002Fmy-feature` then `\u002Fcspec`\n- Check other branches: {show status-all output if there are active workflows elsewhere}\"\n\n**When displaying the current phase, calculate and show the time spent in this phase.** Read `phase_entered_at` from the state file, compute the duration as `now - phase_entered_at`, and display in human-readable format:\n- Under 60 minutes: '{N} minutes' (e.g., '12 minutes')\n- 1-24 hours: '{N} hours' (e.g., '2 hours')\n- Over 24 hours: '{N} days' (e.g., '1 day')\n\nFormat: 'Phase: {phase} ({duration})'\n\nProactive warnings at thresholds:\n- After more than 1 hour in a phase: 'This phase has been active for {duration}. If you are stuck, try re-running the skill for this phase.'\n- After more than 24 hours: 'This workflow has been in {phase} for {duration}. The workflow may be stalled — re-run the skill or use `workflow-advance.sh override` if needed.'\n\n**If workflow is active, show a pipeline diagram with the current phase marked.** Use `▶` to indicate the active phase. At standard intensity:\n\n```\n  spec → review → [ tdd ] → verify → docs → merge\n                     │\n               ┌─────┴─────┐\n              RED → GREEN → QA\n                     │       │\n               test audit    │\n                     └─ fix ◄┘\n```\n\nAt high+ intensity, include the extra steps:\n\n```\n  spec → model → review → [ tdd ] → verify → arch → docs → audit → merge\n                             │\n                       ┌─────┴─────┐\n                      RED → GREEN → QA\n                             │       │\n                       test audit    │\n                             └─ fix ◄┘\n```\n\nMark the current phase with `▶` and show it in the diagram. For TDD sub-phases (tdd-tests, tdd-impl, tdd-qa), mark the specific position inside the TDD box.\n\n**Then show phase-specific guidance:**\n\n| Phase | Show |\n|-------|------|\n| `spec` | \"Writing the spec. When done, the human approves and you run `\u002Fcreview` (at standard intensity) or `\u002Fcreview-spec` (at high+ intensity).\" |\n| `review` \u002F `review-spec` | \"Run `\u002Fcreview` (at standard intensity) or `\u002Fcreview-spec` (at high+ intensity) to review the spec. After review and approval, run `\u002Fctdd` to start writing tests.\" |\n| `model` | \"Formal modeling phase. Run `\u002Fcmodel` to generate the Alloy model.\" |\n| `tdd-tests` | \"RED phase — writing tests. Source files are blocked (except stubs with STUB:TDD). When tests exist and fail, advance with `workflow-advance.sh impl`.\" |\n| `tdd-impl` | \"GREEN phase — implementing. Make the tests pass. When done, advance with `workflow-advance.sh qa`.\" |\n| `tdd-qa` | \"QA review — edits blocked. If issues found: `workflow-advance.sh fix`. If a bug is hard to understand, try `\u002Fcdebug`. If clean: `workflow-advance.sh done` (at standard intensity) or `workflow-advance.sh verify-phase` (at high+ intensity).\" |\n| `tdd-verify` | \"Final verification — edits blocked. If checks pass: `workflow-advance.sh done`.\" |\n| `done` | \"TDD complete. MANDATORY: run `\u002Fcverify` next (it advances the state automatically).\" |\n| `verified` | \"Verification complete. MANDATORY: run `\u002Fcdocs` next (it advances the state automatically).\" |\n| `documented` | \"All steps complete. Options: create PR (`gh pr create`), merge locally, keep branch, or discard. After merging: `\u002Fcpostmortem` if bugs escape, `\u002Fcmetrics` for health, `\u002Fcaudit` for sweep (at high+ intensity).\" |\n| `audit` | \"Audit in progress. Run `\u002Fcaudit` to continue the convergence loop.\" |\n\n### 3a. Harness fingerprint advisory line\n\nAfter the phase-specific guidance in section 3 and before showing available commands in section 4, emit a single advisory line about the harness fingerprint state. This sits between the workflow state section and the intensity calibration section (per harness-fingerprint spec INV-015).\n\nRead `.correctless\u002Fmeta\u002Fharness-fingerprint.json` if it exists. Compute the short form:\n\n- If the file is missing: `Harness: model=unknown version=? fingerprint=00000000 status=new`\n- If present and valid JSON: `Harness: model={X} version={Y} fingerprint={hash[:8]} status=ok`\n- If `status=version_bumped` was reported by the most recent `harness-fingerprint.sh check` (read from `.correctless\u002Fartifacts\u002Fharness-notified-*.flag` presence in current session): `Harness: model={X} version={Y} fingerprint={hash[:8]} status=version-bumped`\n\nThe format is fixed: `Harness: model=\\S+ version=\\d+ fingerprint=[0-9a-f]{8} status=(ok|new|version-bumped)`. The `fingerprint` short form is the first 8 hex characters of `sha256(fingerprint)` for compact display only — the literal fingerprint stored in the meta file is `{model_name}|{HARNESS_VERSION}` without hashing (INV-001).\n\nThis line is advisory — never block, never error. If the file is malformed or unreadable, emit `Harness: model=unknown version=? fingerprint=00000000 status=ok` and continue silently.\n\n### 4. Show Available Commands\n\nBased on the current state:\n\n```\nAvailable commands:\n  \u002Fcspec          Start a new feature spec\n  \u002Fcreview        Skeptical spec review\n  \u002Fctdd           Enforced TDD workflow\n  \u002Fcverify        Post-implementation verification\n  \u002Fcdocs          Update documentation\n  \u002Fcstatus        This command — show status and next steps\n  \u002Fcsummary       Feature summary — what the workflow caught\n  \u002Fcmetrics       Project-wide metrics dashboard\n  \u002Fcrefactor      Structured refactoring with behavioral equivalence\n  \u002Fcpr-review     Multi-lens PR review\n  \u002Fccontribute    Contribute to an open source project\n  \u002Fcmaintain      Maintainer review for incoming contributions\n  \u002Fcdebug         Structured bug investigation\n  \u002Fcsetup         Re-run setup \u002F validate configuration\n  \u002Fchelp          Quick help — workflow pipeline and commands\n  \u002Fcwtf           Workflow accountability — did agents do their job?\n  \u002Fcquick         Lightweight TDD — quick-start without full spec\n  \u002Fcrelease       Versioning and changelog management\n  \u002Fcexplain       Guided codebase exploration\n  \u002Fcauto          Semi-auto pipeline — orchestrates ctdd through PR\n  \u002Fcmodelupgrade  Harness regression report (after model upgrade or version_bumped advisory)\n  \u002Fcarchitect     Architecture definition — reverse-engineer or greenfield\n  \u002Fcdashboard     HTML project dashboard — metrics + artifact browser\n  \u002Fctriage        Bulk triage deferred findings backlog\n  \u002Fcprune         Documentation and artifact pruning\n  \u002Fcpostmortem    Post-merge bug analysis\n  \u002Fcdevadv        Devil's advocate — challenge assumptions\n\nIntensity-gated (shown at high+ unless noted):\n  \u002Fcreview-spec   Adversarial 6-agent spec review                    [high+]\n  \u002Fcmodel         Formal Alloy modeling                              [critical+]\n  \u002Fcaudit         Olympics audit (QA\u002FHacker\u002FPerformance\u002FUX)           [high+]\n  \u002Fcupdate-arch   Update .correctless\u002FARCHITECTURE.md                [high+]\n  \u002Fcredteam       Live red team assessment                           [critical+]\n\nState management:\n  .correctless\u002Fhooks\u002Fworkflow-advance.sh status      Current phase\n  .correctless\u002Fhooks\u002Fworkflow-advance.sh status-all   All active workflows\n  .correctless\u002Fhooks\u002Fworkflow-advance.sh diagnose \"file\"   Why a file is blocked\n  .correctless\u002Fhooks\u002Fworkflow-advance.sh override \"reason\"  Temporarily bypass gate\n```\n\nRead `.correctless\u002Fconfig\u002Fworkflow-config.json`. If `workflow.intensity` is below `high`, omit the \"Intensity-gated\" section from the output — those commands are not available at standard intensity.\n\n### 5. Install Freshness\n\nCheck install freshness and display as a single status line:\n\n```bash\nsource .correctless\u002Fscripts\u002Flib.sh\noutput=\"$(check_install_freshness \"$(pwd)\u002F.correctless\" 2>\u002Fdev\u002Fnull)\"\n```\n\nParse the output and display one line:\n- If all lines are `ok:*`: **\"Install: current\"**\n- If any line is `source_ahead:*`: **\"Install: STALE — {N} source files changed since last setup (run setup)\"** where N is the count of `source_ahead` lines.\n- If any line is `modified:*` or `missing:*` (without `source_ahead`): **\"Install: STALE ({N} files differ — run setup)\"** where N is the count of `modified` + `missing` lines.\n- If output is `no_manifest`: **\"Install: unknown (no manifest — run setup)\"**\n\nThis is a single line in the status output, not a separate section.\n\n### 6. Detect Problems\n\nAfter showing phase and commands, proactively check for issues:\n\n**Stale workflow**: If >24 hours in a phase, this is already handled by the time-in-phase display in section 3 above — do not repeat the warning here. Only check for stale workflows if section 3 did not already display a >24h warning (e.g., if phase_entered_at was missing or unparsable).\n\n**Empty docs**: Check if .correctless\u002FARCHITECTURE.md contains `{PROJECT_NAME}` or `{PLACEHOLDER}` markers, or if .correctless\u002FAGENT_CONTEXT.md contains `{PROJECT_NAME}` or `{PLACEHOLDERS}`. If either is still the template: \".correctless\u002FARCHITECTURE.md \u002F .correctless\u002FAGENT_CONTEXT.md is still the default template. Run `\u002Fcsetup` to populate it from your codebase — this significantly improves spec and review quality.\"\n\n**Override usage**: Read `override_count` from the state file. If ≥2: \"You've used {N} overrides on this workflow. If the gate keeps blocking legitimate edits, the workflow config or file patterns may need adjustment. Run `workflow-advance.sh diagnose 'yourfile.ts'` to understand why.\"\n\n**Measurement-overdue check (path-scoped-rules-pat001 dogfood, INV-016 \u002F MG-003)**: If `.correctless\u002Fmeta\u002Fpat001-measurement-due.json` exists, inspect it:\n\n1. Read `due_at_pr_count` (an integer, typically 3) and `created_at_commit` (a commit SHA or null).\n2. If `created_at_commit` is null, the feature has merged but the measurement baseline commit was never recorded — emit a one-line advisory: \"pat001-measurement-due.json exists but `created_at_commit` is null; \u002Fcdocs or \u002Fcverify should fill it at merge time.\" Then stop this check.\n3. Otherwise, count hook-touching merged PRs since `created_at_commit`. A hook-touching PR is any PR whose merge commit modifies a file under `hooks\u002F*.sh`. Use: `git log --merges --name-only \"$created_at_commit\"..HEAD -- 'hooks\u002F*.sh' | grep -c '^hooks\u002F' || true` — adapt if the local git log shape is different.\n4. If the hook-touching PR count is `>= due_at_pr_count` AND `.correctless\u002Fverification\u002Fpath-scoped-rules-pat001-measurement.md` does NOT exist, emit a warning banner (prominently, above the standard status block):\n\n   > WARNING — Measurement overdue: path-scoped-rules-pat001 — run measurement gate per MG-003 or roll back per PRH-002.\n\n   Include a one-line pointer: \"See `.correctless\u002Fspecs\u002Fpath-scoped-rules-pat001.md` MG-003 for the procedure, and PRH-002 for the rollback steps.\"\n5. If the measurement report already exists at `.correctless\u002Fverification\u002Fpath-scoped-rules-pat001-measurement.md`, suppress the warning — the gate has been evaluated.\n6. If the meta file is missing, this check is a no-op. Do not create it.\n\nThis check is dormant by design: it fires only when the post-merge measurement window has elapsed and the human has not yet run the gate. It is the only merge-time-enforceable signal for MG-003 (the measurement gate is evaluated post-merge via git archaeology, not at PR time).\n\n**Meta baseline pollution advisory (calibration-writer RS-013)**: run the detection-only helper and surface any output:\n\n```bash\nbash .correctless\u002Fscripts\u002Fmeta-pollution-detect.sh 2>\u002Fdev\u002Fnull\n```\n\nEach line it prints flags a `.correctless\u002Fmeta\u002F*.json` whose `created_at_commit` names an **unknown commit** in this repo — the unambiguous corruption \u002F #226 cross-feature-pollution signal (an earlier \u002Fcdocs blanket-scan stamping one feature's merge-base onto another feature's baseline, where that commit is not reachable here). The helper no longer flags a mere merge-base *divergence* (MA-M4): a legitimately different feature baseline also diverges, so that sub-check was chronic false-positive signal-erosion and was removed — this advisory fires only on the unambiguous case, not on every run. This is **advisory and detection-only** (repair is out of scope — gitignored local state, last-write-wins): show the lines verbatim under a \"meta baseline advisory\" heading and suggest the human verify the flagged baseline. Empty output means clean — say nothing. If the helper is absent (un-re-`setup` install), skip silently.\n\n**No active workflow**: \"No active workflow on this branch. You can edit freely — the gate only blocks during active workflows. To start a structured workflow: `git checkout -b feature\u002Fmy-feature` then `\u002Fcspec`.\"\n\n### 6a. Incomplete Pipeline Detection (R-009)\n\nCheck for a pipeline manifest at `.correctless\u002Fartifacts\u002Fpipeline-manifest-{branch_slug}.json` (derive `branch_slug` via `workflow-advance.sh status` output or `scripts\u002Flib.sh`). If the manifest exists and `status` is not `\"complete\"`, report:\n\n> **Incomplete pipeline detected.** Last completed step: {last_completed}. Missing steps: {list}. Expected end phase: {expected_end_phase}, current phase: {current_phase}. Run `\u002Fcauto` to resume.\n\nIf the manifest does not exist or `status` is `\"complete\"`, produce no output for this section (dormant — PAT-019).\n\nThe workflow state is authoritative — the manifest report is a diagnostic signal, not an override of workflow state.\n\n### 6a-bis. Incomplete \u002Fcchores Run Detection (INV-016 \u002F ABS-043)\n\n`\u002Fcchores` runs on a `chore\u002Fissue-N-*` branch that the user is typically **not** on\nby the time they next open `\u002Fcstatus` (a chore launched overnight leaves them on\n`main` or another feature branch in the morning). Deriving the manifest path from\nthe CURRENT branch would therefore miss every truncated chore run. So scan\n**branch-independently**, exactly like the retained-branch scan below: **glob**\n`.correctless\u002Fartifacts\u002Fchore-run-*.json` and report any manifest whose `status` is\nnot `\"complete\"`. Name the affected branch from **inside** the manifest (its\n`branch_slug` \u002F `branch` field), not from the current branch.\n\nFor each globbed manifest with `status != \"complete\"`:\n\n- **`in_progress`** — a truncated run. Report:\n\n  > **Incomplete \u002Fcchores run detected** on `{branch from manifest}`. Selected issue: #{selected_issue}. Status: in_progress (truncated run). Re-run `\u002Fcchores` to resume.\n\n- **`aborted`** — Report:\n\n  > **Aborted \u002Fcchores run** on `{branch from manifest}`. Selected issue: #{selected_issue}. {abort_reason}. Re-run `\u002Fcchores` to resume.\n\n- **`noop`** — a clean run that found no suitable issue. This is NOT a truncation;\n  do not tell the user to \"re-run to resume\". Report instead:\n\n  > **\u002Fcchores ran and found no suitable issues** — nothing to resume. (Last run on `{branch from manifest}` selected no candidate.)\n\nTruncation\u002Fstate is determined by `status` content equality, not mtime (EA-008). If\nno `chore-run-*.json` manifest exists, or every manifest has `status` `\"complete\"`,\nproduce no output for this section (dormant — PAT-019).\n\n**Retained abort branches**: scan `.correctless\u002Fartifacts\u002Fchore-abort-*.md` and `.correctless\u002Fartifacts\u002Fchore-report-*.md` for any `\u002Fcchores` abort that **retained** a local-only chore branch (a chore branch with commits that was not pushed — unreachable from GitHub). For each retained branch, surface it so it is not lost:\n\n> **Retained chore branch:** `{branch}` (issue #{N}) — retained locally on abort, not pushed. Resume or delete it manually.\n\nIf no abort artifact references a retained branch, produce no output for this section (dormant — PAT-019).\n\n### 6a-ter. \u002Fcchores attempted-issues store (INV-019 consumer)\n\nINV-019 names `\u002Fcstatus` as a consumer of the durable cross-run loop-prevention\nstore `.correctless\u002Fmeta\u002Fcchores-attempted.json` (the same store\n`\u002Fcchores`'s candidate selector reads via `--attempted-store`). Surfacing it here\ngives the user visibility into which issues `\u002Fcchores` has already attempted or\nsuppressed, so a repeatedly-skipped issue is not invisible.\n\nRead `.correctless\u002Fmeta\u002Fcchores-attempted.json` if it exists. It holds an\n`attempts` array of `{issue, branch_slug, outcome}` records. Summarize:\n\n> **\u002Fcchores attempted issues:** {N} recorded. Suppressed\u002Fattempted: #{issue} ({outcome}), … — these are excluded from future autonomous selection. To re-allow one, edit the store.\n\nIf the file does not exist, is empty, or its `attempts` array is empty, produce no\noutput for this section (dormant per PAT-019 — pre-upgrade and never-run projects\nsee nothing).\n\n### 6b. Deferred Findings Backlog\n\nRead `.correctless\u002Fmeta\u002Fdeferred-findings.json` if it exists. Show the following:\n\n- **Total open findings count** and **severity breakdown** (MEDIUM\u002FLOW\u002FADVISORY counts)\n- When open findings exceed 20: \"Consider running `\u002Fctriage` to review the deferred findings backlog.\"\n\n**When the file does not exist or has zero open findings, omit this section entirely** (dormant per PAT-019 — no \"0 findings\" noise).\n\n**Drift detection**: If review artifacts (`.correctless\u002Fartifacts\u002Freview-spec-findings-*.md` or `.correctless\u002Fartifacts\u002Freview-findings-*.md` or `.correctless\u002Fartifacts\u002Freviews\u002Freview-findings-*.md`) contain \"pending\" findings not present in the backlog, suggest: \"Review artifacts contain pending findings not in the backlog. Run `bash scripts\u002Fsync-deferred-backlog.sh` to re-sync.\"\n\n### 6c. Cross-Feature Intelligence Health\n\nCheck the state of the cross-feature intelligence brief and its data sources. Three states:\n\n1. **No data**: When `.correctless\u002Fmeta\u002Fcross-feature-intel.json` does not exist AND no data sources have content (no deferred findings, no devadv reports, no overrides, no lens recommendations, no debug investigations, no workflow effectiveness data), display: \"No cross-feature intelligence available yet — data accumulates as features complete review, audit, or debug phases.\"\n\n2. **Stale**: When the brief exists but is older than 7 days (based on file mtime), display brief age, entry count per section, and remediation: \"Cross-feature intelligence brief is {N} days old. Will refresh on next \u002Fcspec run, or run: bash .correctless\u002Fscripts\u002Fcross-feature-intel.sh\"\n\n3. **Current**: When the brief exists and is less than 7 days old, display brief age and entry count per section.\n\n**Threshold proximity reporting**: When the brief exists (states 2 or 3), report threshold proximity for entries — the occurrence-level breakdown showing how many entries are at each count below the threshold. For example: \"5 entries at 2\u002F3 occurrences, 3 entries at 1\u002F3, 2 entries above threshold.\" This provides diagnostic visibility for users investigating why intelligence is not surfacing in reviews. Read occurrence counts via `jq '[.sections | to_entries[] | .value[] | .occurrences \u002F\u002F 0]' .correctless\u002Fmeta\u002Fcross-feature-intel.json`.\n\n**Dormant when the script itself (`scripts\u002Fcross-feature-intel.sh` or `.correctless\u002Fscripts\u002Fcross-feature-intel.sh`) does not exist** — pre-upgrade projects should see no intelligence health output (PAT-019). When the script does not exist, omit this section entirely.\n\n### 6d. Stranded SFG lift sentinel (RS-024 \u002F AP-037)\n\nDetect a committed-but-not-restored SFG lift sentinel. When `.correctless\u002F.sfg-lift-active` exists in the working tree, display a WARNING: \"Stranded SFG lift sentinel detected (.correctless\u002F.sfg-lift-active). An AP-037 lift-and-restore is mid-flight — a lift commit removed a deliverable from sensitive-file-guard.sh DEFAULTS but the restore commit has not landed. Before pushing: restore `agents\u002Ffix-diff-reviewer.md` to the DEFAULTS list, run `bash sync.sh`, then `git rm -f .correctless\u002F.sfg-lift-active`. The final-state backstop is `bash scripts\u002Fcheck-no-pending-sfg-lift.sh` (source) \u002F `bash .correctless\u002Fscripts\u002Fcheck-no-pending-sfg-lift.sh` (installed). See .claude\u002Frules\u002Fsfg-deliverable.md.\"\n\nWhen the sentinel is absent, omit this section entirely.\n\n### 6e. Cross-model review discoverability advisory (RS-010 \u002F INV-023)\n\nIf `codex` is on PATH (`command -v codex`) AND `.workflow.external_models` in\n`workflow-config.json` is empty or absent, emit a one-time advisory:\n\n```\ncodex detected — run \u002Fcsetup to enable cross-model spec review (codex reviews specs alongside Claude in \u002Fcreview-spec).\n```\n\nThis keeps the feature discoverable rather than invisibly dormant. If `codex` is not on\nPATH, or `external_models.codex` is already configured, omit this section entirely.\n\n### 6f. Un-adjudicated cross-model review runs (INV-008 \u002F RS-027 \u002F MA-005)\n\nINV-008\u002FRS-027 promise the `pending` surface (completed codex runs whose findings\nhave not yet been adjudicated) in BOTH `\u002Fcreview-spec` AND `\u002Fcstatus`. Run the\nproducer's `pending` subcommand and report any un-adjudicated runs so a user who\ndeferred adjudication and never reopened `\u002Fcreview-spec` still gets a signal\n(PMB-008 lost-findings class):\n\n```bash\nbash .correctless\u002Fscripts\u002Fexternal-review-run.sh pending\n```\n\n(Use `scripts\u002Fexternal-review-run.sh` from the source tree.) When the output is\nempty or \"(no external-review history)\", this section is **dormant** — emit\nnothing. When it lists one or more runs, surface:\n\n```\nUn-adjudicated cross-model review run(s): {run_id} — {N} finding(s) awaiting disposition.\nReopen \u002Fcreview-spec to adjudicate, or run: external-review-run.sh set-disposition \u003Crun_id> \u003Cfinding_id> \u003Caccepted|rejected|modified|deferred|duplicate>.\n```\n\nIf the producer script does not exist at either path, this section is dormant\n(PAT-019) — no error, no output.\n\n### 7. Health Check (if requested)\n\nIf the human asks \"is everything set up correctly?\" or similar, validate:\n- Hooks registered in `.claude\u002Fsettings.json`\n- Config file valid JSON with required fields\n- Hook scripts exist and are executable at `.correctless\u002Fhooks\u002F`\n- .correctless\u002FARCHITECTURE.md has content (not template)\n- .correctless\u002FAGENT_CONTEXT.md has content (not template)\n\nReport any issues with fix instructions.\n\n## Pruning Recommended Signal (INV-013)\n\nRun a lightweight staleness check using `scripts\u002Fprune-scan.sh` (or `.correctless\u002Fscripts\u002Fprune-scan.sh`). If the scanner script does not exist (file does not exist at either path), this section is dormant per PAT-019 — no error, no warning, no output.\n\nWhen the scanner is available, check two categories:\n1. Orphaned artifacts: `bash scripts\u002Fprune-scan.sh --category artifacts --base . | jq '.candidates | length'` — read `.candidates` from the wrapped-object schema (BND-001)\n2. Architecture staleness: `bash scripts\u002Fprune-scan.sh --category architecture --base . | jq 'length'` — bare array, read length directly\n\nSurface the signal when either: (a) more than 10 orphaned artifact files exist, or (b) more than 3 architecture entries have all-dead file references.\n\nSignal text: \"Pruning recommended: {N} orphaned artifacts, {M} stale architecture entries. Run `\u002Fcprune` to clean up.\"\n\n## Autonomous Defaults\n\n- **AD-001**: Display scope — show full pipeline status with next steps (default). No human input required; this skill runs to completion autonomously.\n\n## If Something Goes Wrong\n\n- `\u002Fcstatus` is read-only — it reads workflow state and project files but modifies nothing. Re-run anytime safely.\n- If status looks wrong, check that `.correctless\u002Fconfig\u002Fworkflow-config.json` exists and the hook scripts are installed at `.correctless\u002Fhooks\u002F`.\n\n## Constraints\n\n- **Keep it short.** Status should be a quick glance, not a wall of text.\n- **Always suggest the next action.** Don't just show state — tell them what to do.\n- **Don't modify anything.** This is read-only.\n","# \u002Fcstatus — Workflow Status and Next Steps\n\n> **Shared constraints apply.** Before executing, read `_shared\u002Fconstraints.md` from the parent of this skill's base directory. All constraints there apply to this skill.\n\nYou are the status agent. Show the human where they are in the workflow and what to do next. Be concise and actionable.\n\n## Intensity Configuration\n\n| | Standard | High | Critical |\n|---|---|---|---|\n| Display | Phase + next step + time in phase | add stale workflow warning | add token budget warning |\n\n## Effective Intensity\n\nDetermine the effective intensity using the computation in the shared constraints (`_shared\u002Fconstraints.md`).\n\n## Behavior\n\n### Intensity-Aware Status Display\n\n- At standard intensity: show phase, next step, and time in phase.\n- At high intensity: additionally show stale workflow warning when a phase exceeds its expected duration.\n- At critical intensity: additionally show token budget warning to alert when context usage is approaching limits.\n\n### 1. Check Setup\n\nFirst, verify Correctless is set up in this project:\n- Does `.correctless\u002Fconfig\u002Fworkflow-config.json` exist?\n- Does `.correctless\u002Fhooks\u002Fworkflow-gate.sh` exist?\n- Does `.correctless\u002FARCHITECTURE.md` exist and not contain `{PROJECT_NAME}` or `{PLACEHOLDER}` template markers? (Note: a minimal .correctless\u002FARCHITECTURE.md with \"This project is in early development\" is valid — it means `\u002Fcsetup` ran on a greenfield project and intentionally deferred architecture docs.)\n\nIf not set up: \"Correctless isn't configured in this project yet. Run `\u002Fcsetup` to get started.\"\n\n### 2. Check Current Workflow State\n\nRun:\n```bash\n.correctless\u002Fhooks\u002Fworkflow-advance.sh status 2>\u002Fdev\u002Fnull\n```\n\nIf no active workflow, also run:\n```bash\n.correctless\u002Fhooks\u002Fworkflow-advance.sh status-all 2>\u002Fdev\u002Fnull\n```\n\n### 3. Present Status\n\n**If no active workflow on current branch:**\n\n\"No active workflow on `{branch}`. You can:\n- Start a new feature: `git checkout -b feature\u002Fmy-feature` then `\u002Fcspec`\n- Check other branches: {show status-all output if there are active workflows elsewhere}\"\n\n**When displaying the current phase, calculate and show the time spent in this phase.** Read `phase_entered_at` from the state file, compute the duration as `now - phase_entered_at`, and display in human-readable format:\n- Under 60 minutes: '{N} minutes' (e.g., '12 minutes')\n- 1-24 hours: '{N} hours' (e.g., '2 hours')\n- Over 24 hours: '{N} days' (e.g., '1 day')\n\nFormat: 'Phase: {phase} ({duration})'\n\nProactive warnings at thresholds:\n- After more than 1 hour in a phase: 'This phase has been active for {duration}. If you are stuck, try re-running the skill for this phase.'\n- After more than 24 hours: 'This workflow has been in {phase} for {duration}. The workflow may be stalled — re-run the skill or use `workflow-advance.sh override` if needed.'\n\n**If workflow is active, show a pipeline diagram with the current phase marked.** Use `▶` to indicate the active phase. At standard intensity:\n\n```\n  spec → review → [ tdd ] → verify → docs → merge\n                     │\n               ┌─────┴─────┐\n              RED → GREEN → QA\n                     │       │\n               test audit    │\n                     └─ fix ◄┘\n```\n\nAt high+ intensity, include the extra steps:\n\n```\n  spec → model → review → [ tdd ] → verify → arch → docs → audit → merge\n                             │\n                       ┌─────┴─────┐\n                      RED → GREEN → QA\n                             │       │\n                       test audit    │\n                             └─ fix ◄┘\n```\n\nMark the current phase with `▶` and show it in the diagram. For TDD sub-phases (tdd-tests, tdd-impl, tdd-qa), mark the specific position inside the TDD box.\n\n**Then show phase-specific guidance:**\n\n| Phase | Show |\n|-------|------|\n| `spec` | \"Writing the spec. When done, the human approves and you run `\u002Fcreview` (at standard intensity) or `\u002Fcreview-spec` (at high+ intensity).\" |\n| `review` \u002F `review-spec` | \"Run `\u002Fcreview` (at standard intensity) or `\u002Fcreview-spec` (at high+ intensity) to review the spec. After review and approval, run `\u002Fctdd` to start writing tests.\" |\n| `model` | \"Formal modeling phase. Run `\u002Fcmodel` to generate the Alloy model.\" |\n| `tdd-tests` | \"RED phase — writing tests. Source files are blocked (except stubs with STUB:TDD). When tests exist and fail, advance with `workflow-advance.sh impl`.\" |\n| `tdd-impl` | \"GREEN phase — implementing. Make the tests pass. When done, advance with `workflow-advance.sh qa`.\" |\n| `tdd-qa` | \"QA review — edits blocked. If issues found: `workflow-advance.sh fix`. If a bug is hard to understand, try `\u002Fcdebug`. If clean: `workflow-advance.sh done` (at standard intensity) or `workflow-advance.sh verify-phase` (at high+ intensity).\" |\n| `tdd-verify` | \"Final verification — edits blocked. If checks pass: `workflow-advance.sh done`.\" |\n| `done` | \"TDD complete. MANDATORY: run `\u002Fcverify` next (it advances the state automatically).\" |\n| `verified` | \"Verification complete. MANDATORY: run `\u002Fcdocs` next (it advances the state automatically).\" |\n| `documented` | \"All steps complete. Options: create PR (`gh pr create`), merge locally, keep branch, or discard. After merging: `\u002Fcpostmortem` if bugs escape, `\u002Fcmetrics` for health, `\u002Fcaudit` for sweep (at high+ intensity).\" |\n| `audit` | \"Audit in progress. Run `\u002Fcaudit` to continue the convergence loop.\" |\n\n### 3a. Harness fingerprint advisory line\n\nAfter the phase-specific guidance in section 3 and before showing available commands in section 4, emit a single advisory line about the harness fingerprint state. This sits between the workflow state section and the intensity calibration section (per harness-fingerprint spec INV-015).\n\nRead `.correctless\u002Fmeta\u002Fharness-fingerprint.json` if it exists. Compute the short form:\n\n- If the file is missing: `Harness: model=unknown version=? fingerprint=00000000 status=new`\n- If present and valid JSON: `Harness: model={X} version={Y} fingerprint={hash[:8]} status=ok`\n- If `status=version_bumped` was reported by the most recent `harness-fingerprint.sh check` (read from `.correctless\u002Fartifacts\u002Fharness-notified-*.flag` presence in current session): `Harness: model={X} version={Y} fingerprint={hash[:8]} status=version-bumped`\n\nThe format is fixed: `Harness: model=\\S+ version=\\d+ fingerprint=[0-9a-f]{8} status=(ok|new|version-bumped)`. The `fingerprint` short form is the first 8 hex characters of `sha256(fingerprint)` for compact display only — the literal fingerprint stored in the meta file is `{model_name}|{HARNESS_VERSION}` without hashing (INV-001).\n\nThis line is advisory — never block, never error. If the file is malformed or unreadable, emit `Harness: model=unknown version=? fingerprint=00000000 status=ok` and continue silently.\n\n### 4. Show Available Commands\n\nBased on the current state:\n\n```\nAvailable commands:\n  \u002Fcspec          Start a new feature spec\n  \u002Fcreview        Skeptical spec review\n  \u002Fctdd           Enforced TDD workflow\n  \u002Fcverify        Post-implementation verification\n  \u002Fcdocs          Update documentation\n  \u002Fcstatus        This command — show status and next steps\n  \u002Fcsummary       Feature summary — what the workflow caught\n  \u002Fcmetrics       Project-wide metrics dashboard\n  \u002Fcrefactor      Structured refactoring with behavioral equivalence\n  \u002Fcpr-review     Multi-lens PR review\n  \u002Fccontribute    Contribute to an open source project\n  \u002Fcmaintain      Maintainer review for incoming contributions\n  \u002Fcdebug         Structured bug investigation\n  \u002Fcsetup         Re-run setup \u002F validate configuration\n  \u002Fchelp          Quick help — workflow pipeline and commands\n  \u002Fcwtf           Workflow accountability — did agents do their job?\n  \u002Fcquick         Lightweight TDD — quick-start without full spec\n  \u002Fcrelease       Versioning and changelog management\n  \u002Fcexplain       Guided codebase exploration\n  \u002Fcauto          Semi-auto pipeline — orchestrates ctdd through PR\n  \u002Fcmodelupgrade  Harness regression report (after model upgrade or version_bumped advisory)\n  \u002Fcarchitect     Architecture definition — reverse-engineer or greenfield\n  \u002Fcdashboard     HTML project dashboard — metrics + artifact browser\n  \u002Fctriage        Bulk triage deferred findings backlog\n  \u002Fcprune         Documentation and artifact pruning\n  \u002Fcpostmortem    Post-merge bug analysis\n  \u002Fcdevadv        Devil's advocate — challenge assumptions\n\nIntensity-gated (shown at high+ unless noted):\n  \u002Fcreview-spec   Adversarial 6-agent spec review                    [high+]\n  \u002Fcmodel         Formal Alloy modeling                              [critical+]\n  \u002Fcaudit         Olympics audit (QA\u002FHacker\u002FPerformance\u002FUX)           [high+]\n  \u002Fcupdate-arch   Update .correctless\u002FARCHITECTURE.md                [high+]\n  \u002Fcredteam       Live red team assessment                           [critical+]\n\nState management:\n  .correctless\u002Fhooks\u002Fworkflow-advance.sh status      Current phase\n  .correctless\u002Fhooks\u002Fworkflow-advance.sh status-all   All active workflows\n  .correctless\u002Fhooks\u002Fworkflow-advance.sh diagnose \"file\"   Why a file is blocked\n  .correctless\u002Fhooks\u002Fworkflow-advance.sh override \"reason\"  Temporarily bypass gate\n```\n\nRead `.correctless\u002Fconfig\u002Fworkflow-config.json`. If `workflow.intensity` is below `high`, omit the \"Intensity-gated\" section from the output — those commands are not available at standard intensity.\n\n### 5. Install Freshness\n\nCheck install freshness and display as a single status line:\n\n```bash\nsource .correctless\u002Fscripts\u002Flib.sh\noutput=\"$(check_install_freshness \"$(pwd)\u002F.correctless\" 2>\u002Fdev\u002Fnull)\"\n```\n\nParse the output and display one line:\n- If all lines are `ok:*`: **\"Install: current\"**\n- If any line is `source_ahead:*`: **\"Install: STALE — {N} source files changed since last setup (run setup)\"** where N is the count of `source_ahead` lines.\n- If any line is `modified:*` or `missing:*` (without `source_ahead`): **\"Install: STALE ({N} files differ — run setup)\"** where N is the count of `modified` + `missing` lines.\n- If output is `no_manifest`: **\"Install: unknown (no manifest — run setup)\"**\n\nThis is a single line in the status output, not a separate section.\n\n### 6. Detect Problems\n\nAfter showing phase and commands, proactively check for issues:\n\n**Stale workflow**: If >24 hours in a phase, this is already handled by the time-in-phase display in section 3 above — do not repeat the warning here. Only check for stale workflows if section 3 did not already display a >24h warning (e.g., if phase_entered_at was missing or unparsable).\n\n**Empty docs**: Check if .correctless\u002FARCHITECTURE.md contains `{PROJECT_NAME}` or `{PLACEHOLDER}` markers, or if .correctless\u002FAGENT_CONTEXT.md contains `{PROJECT_NAME}` or `{PLACEHOLDERS}`. If either is still the template: \".correctless\u002FARCHITECTURE.md \u002F .correctless\u002FAGENT_CONTEXT.md is still the default template. Run `\u002Fcsetup` to populate it from your codebase — this significantly improves spec and review quality.\"\n\n**Override usage**: Read `override_count` from the state file. If ≥2: \"You've used {N} overrides on this workflow. If the gate keeps blocking legitimate edits, the workflow config or file patterns may need adjustment. Run `workflow-advance.sh diagnose 'yourfile.ts'` to understand why.\"\n\n**Measurement-overdue check (path-scoped-rules-pat001 dogfood, INV-016 \u002F MG-003)**: If `.correctless\u002Fmeta\u002Fpat001-measurement-due.json` exists, inspect it:\n\n1. Read `due_at_pr_count` (an integer, typically 3) and `created_at_commit` (a commit SHA or null).\n2. If `created_at_commit` is null, the feature has merged but the measurement baseline commit was never recorded — emit a one-line advisory: \"pat001-measurement-due.json exists but `created_at_commit` is null; \u002Fcdocs or \u002Fcverify should fill it at merge time.\" Then stop this check.\n3. Otherwise, count hook-touching merged PRs since `created_at_commit`. A hook-touching PR is any PR whose merge commit modifies a file under `hooks\u002F*.sh`. Use: `git log --merges --name-only \"$created_at_commit\"..HEAD -- 'hooks\u002F*.sh' | grep -c '^hooks\u002F' || true` — adapt if the local git log shape is different.\n4. If the hook-touching PR count is `>= due_at_pr_count` AND `.correctless\u002Fverification\u002Fpath-scoped-rules-pat001-measurement.md` does NOT exist, emit a warning banner (prominently, above the standard status block):\n\n   > WARNING — Measurement overdue: path-scoped-rules-pat001 — run measurement gate per MG-003 or roll back per PRH-002.\n\n   Include a one-line pointer: \"See `.correctless\u002Fspecs\u002Fpath-scoped-rules-pat001.md` MG-003 for the procedure, and PRH-002 for the rollback steps.\"\n5. If the measurement report already exists at `.correctless\u002Fverification\u002Fpath-scoped-rules-pat001-measurement.md`, suppress the warning — the gate has been evaluated.\n6. If the meta file is missing, this check is a no-op. Do not create it.\n\nThis check is dormant by design: it fires only when the post-merge measurement window has elapsed and the human has not yet run the gate. It is the only merge-time-enforceable signal for MG-003 (the measurement gate is evaluated post-merge via git archaeology, not at PR time).\n\n**Meta baseline pollution advisory (calibration-writer RS-013)**: run the detection-only helper and surface any output:\n\n```bash\nbash .correctless\u002Fscripts\u002Fmeta-pollution-detect.sh 2>\u002Fdev\u002Fnull\n```\n\nEach line it prints flags a `.correctless\u002Fmeta\u002F*.json` whose `created_at_commit` names an **unknown commit** in this repo — the unambiguous corruption \u002F #226 cross-feature-pollution signal (an earlier \u002Fcdocs blanket-scan stamping one feature's merge-base onto another feature's baseline, where that commit is not reachable here). The helper no longer flags a mere merge-base *divergence* (MA-M4): a legitimately different feature baseline also diverges, so that sub-check was chronic false-positive signal-erosion and was removed — this advisory fires only on the unambiguous case, not on every run. This is **advisory and detection-only** (repair is out of scope — gitignored local state, last-write-wins): show the lines verbatim under a \"meta baseline advisory\" heading and suggest the human verify the flagged baseline. Empty output means clean — say nothing. If the helper is absent (un-re-`setup` install), skip silently.\n\n**No active workflow**: \"No active workflow on this branch. You can edit freely — the gate only blocks during active workflows. To start a structured workflow: `git checkout -b feature\u002Fmy-feature` then `\u002Fcspec`.\"\n\n### 6a. Incomplete Pipeline Detection (R-009)\n\nCheck for a pipeline manifest at `.correctless\u002Fartifacts\u002Fpipeline-manifest-{branch_slug}.json` (derive `branch_slug` via `workflow-advance.sh status` output or `scripts\u002Flib.sh`). If the manifest exists and `status` is not `\"complete\"`, report:\n\n> **Incomplete pipeline detected.** Last completed step: {last_completed}. Missing steps: {list}. Expected end phase: {expected_end_phase}, current phase: {current_phase}. Run `\u002Fcauto` to resume.\n\nIf the manifest does not exist or `status` is `\"complete\"`, produce no output for this section (dormant — PAT-019).\n\nThe workflow state is authoritative — the manifest report is a diagnostic signal, not an override of workflow state.\n\n### 6a-bis. Incomplete \u002Fcchores Run Detection (INV-016 \u002F ABS-043)\n\n`\u002Fcchores` runs on a `chore\u002Fissue-N-*` branch that the user is typically **not** on\nby the time they next open `\u002Fcstatus` (a chore launched overnight leaves them on\n`main` or another feature branch in the morning). Deriving the manifest path from\nthe CURRENT branch would therefore miss every truncated chore run. So scan\n**branch-independently**, exactly like the retained-branch scan below: **glob**\n`.correctless\u002Fartifacts\u002Fchore-run-*.json` and report any manifest whose `status` is\nnot `\"complete\"`. Name the affected branch from **inside** the manifest (its\n`branch_slug` \u002F `branch` field), not from the current branch.\n\nFor each globbed manifest with `status != \"complete\"`:\n\n- **`in_progress`** — a truncated run. Report:\n\n  > **Incomplete \u002Fcchores run detected** on `{branch from manifest}`. Selected issue: #{selected_issue}. Status: in_progress (truncated run). Re-run `\u002Fcchores` to resume.\n\n- **`aborted`** — Report:\n\n  > **Aborted \u002Fcchores run** on `{branch from manifest}`. Selected issue: #{selected_issue}. {abort_reason}. Re-run `\u002Fcchores` to resume.\n\n- **`noop`** — a clean run that found no suitable issue. This is NOT a truncation;\n  do not tell the user to \"re-run to resume\". Report instead:\n\n  > **\u002Fcchores ran and found no suitable issues** — nothing to resume. (Last run on `{branch from manifest}` selected no candidate.)\n\nTruncation\u002Fstate is determined by `status` content equality, not mtime (EA-008). If\nno `chore-run-*.json` manifest exists, or every manifest has `status` `\"complete\"`,\nproduce no output for this section (dormant — PAT-019).\n\n**Retained abort branches**: scan `.correctless\u002Fartifacts\u002Fchore-abort-*.md` and `.correctless\u002Fartifacts\u002Fchore-report-*.md` for any `\u002Fcchores` abort that **retained** a local-only chore branch (a chore branch with commits that was not pushed — unreachable from GitHub). For each retained branch, surface it so it is not lost:\n\n> **Retained chore branch:** `{branch}` (issue #{N}) — retained locally on abort, not pushed. Resume or delete it manually.\n\nIf no abort artifact references a retained branch, produce no output for this section (dormant — PAT-019).\n\n### 6a-ter. \u002Fcchores attempted-issues store (INV-019 consumer)\n\nINV-019 names `\u002Fcstatus` as a consumer of the durable cross-run loop-prevention\nstore `.correctless\u002Fmeta\u002Fcchores-attempted.json` (the same store\n`\u002Fcchores`'s candidate selector reads via `--attempted-store`). Surfacing it here\ngives the user visibility into which issues `\u002Fcchores` has already attempted or\nsuppressed, so a repeatedly-skipped issue is not invisible.\n\nRead `.correctless\u002Fmeta\u002Fcchores-attempted.json` if it exists. It holds an\n`attempts` array of `{issue, branch_slug, outcome}` records. Summarize:\n\n> **\u002Fcchores attempted issues:** {N} recorded. Suppressed\u002Fattempted: #{issue} ({outcome}), … — these are excluded from future autonomous selection. To re-allow one, edit the store.\n\nIf the file does not exist, is empty, or its `attempts` array is empty, produce no\noutput for this section (dormant per PAT-019 — pre-upgrade and never-run projects\nsee nothing).\n\n### 6b. Deferred Findings Backlog\n\nRead `.correctless\u002Fmeta\u002Fdeferred-findings.json` if it exists. Show the following:\n\n- **Total open findings count** and **severity breakdown** (MEDIUM\u002FLOW\u002FADVISORY counts)\n- When open findings exceed 20: \"Consider running `\u002Fctriage` to review the deferred findings backlog.\"\n\n**When the file does not exist or has zero open findings, omit this section entirely** (dormant per PAT-019 — no \"0 findings\" noise).\n\n**Drift detection**: If review artifacts (`.correctless\u002Fartifacts\u002Freview-spec-findings-*.md` or `.correctless\u002Fartifacts\u002Freview-findings-*.md` or `.correctless\u002Fartifacts\u002Freviews\u002Freview-findings-*.md`) contain \"pending\" findings not present in the backlog, suggest: \"Review artifacts contain pending findings not in the backlog. Run `bash scripts\u002Fsync-deferred-backlog.sh` to re-sync.\"\n\n### 6c. Cross-Feature Intelligence Health\n\nCheck the state of the cross-feature intelligence brief and its data sources. Three states:\n\n1. **No data**: When `.correctless\u002Fmeta\u002Fcross-feature-intel.json` does not exist AND no data sources have content (no deferred findings, no devadv reports, no overrides, no lens recommendations, no debug investigations, no workflow effectiveness data), display: \"No cross-feature intelligence available yet — data accumulates as features complete review, audit, or debug phases.\"\n\n2. **Stale**: When the brief exists but is older than 7 days (based on file mtime), display brief age, entry count per section, and remediation: \"Cross-feature intelligence brief is {N} days old. Will refresh on next \u002Fcspec run, or run: bash .correctless\u002Fscripts\u002Fcross-feature-intel.sh\"\n\n3. **Current**: When the brief exists and is less than 7 days old, display brief age and entry count per section.\n\n**Threshold proximity reporting**: When the brief exists (states 2 or 3), report threshold proximity for entries — the occurrence-level breakdown showing how many entries are at each count below the threshold. For example: \"5 entries at 2\u002F3 occurrences, 3 entries at 1\u002F3, 2 entries above threshold.\" This provides diagnostic visibility for users investigating why intelligence is not surfacing in reviews. Read occurrence counts via `jq '[.sections | to_entries[] | .value[] | .occurrences \u002F\u002F 0]' .correctless\u002Fmeta\u002Fcross-feature-intel.json`.\n\n**Dormant when the script itself (`scripts\u002Fcross-feature-intel.sh` or `.correctless\u002Fscripts\u002Fcross-feature-intel.sh`) does not exist** — pre-upgrade projects should see no intelligence health output (PAT-019). When the script does not exist, omit this section entirely.\n\n### 6d. Stranded SFG lift sentinel (RS-024 \u002F AP-037)\n\nDetect a committed-but-not-restored SFG lift sentinel. When `.correctless\u002F.sfg-lift-active` exists in the working tree, display a WARNING: \"Stranded SFG lift sentinel detected (.correctless\u002F.sfg-lift-active). An AP-037 lift-and-restore is mid-flight — a lift commit removed a deliverable from sensitive-file-guard.sh DEFAULTS but the restore commit has not landed. Before pushing: restore `agents\u002Ffix-diff-reviewer.md` to the DEFAULTS list, run `bash sync.sh`, then `git rm -f .correctless\u002F.sfg-lift-active`. The final-state backstop is `bash scripts\u002Fcheck-no-pending-sfg-lift.sh` (source) \u002F `bash .correctless\u002Fscripts\u002Fcheck-no-pending-sfg-lift.sh` (installed). See .claude\u002Frules\u002Fsfg-deliverable.md.\"\n\nWhen the sentinel is absent, omit this section entirely.\n\n### 6e. Cross-model review discoverability advisory (RS-010 \u002F INV-023)\n\nIf `codex` is on PATH (`command -v codex`) AND `.workflow.external_models` in\n`workflow-config.json` is empty or absent, emit a one-time advisory:\n\n```\ncodex detected — run \u002Fcsetup to enable cross-model spec review (codex reviews specs alongside Claude in \u002Fcreview-spec).\n```\n\nThis keeps the feature discoverable rather than invisibly dormant. If `codex` is not on\nPATH, or `external_models.codex` is already configured, omit this section entirely.\n\n### 6f. Un-adjudicated cross-model review runs (INV-008 \u002F RS-027 \u002F MA-005)\n\nINV-008\u002FRS-027 promise the `pending` surface (completed codex runs whose findings\nhave not yet been adjudicated) in BOTH `\u002Fcreview-spec` AND `\u002Fcstatus`. Run the\nproducer's `pending` subcommand and report any un-adjudicated runs so a user who\ndeferred adjudication and never reopened `\u002Fcreview-spec` still gets a signal\n(PMB-008 lost-findings class):\n\n```bash\nbash .correctless\u002Fscripts\u002Fexternal-review-run.sh pending\n```\n\n(Use `scripts\u002Fexternal-review-run.sh` from the source tree.) When the output is\nempty or \"(no external-review history)\", this section is **dormant** — emit\nnothing. When it lists one or more runs, surface:\n\n```\nUn-adjudicated cross-model review run(s): {run_id} — {N} finding(s) awaiting disposition.\nReopen \u002Fcreview-spec to adjudicate, or run: external-review-run.sh set-disposition \u003Crun_id> \u003Cfinding_id> \u003Caccepted|rejected|modified|deferred|duplicate>.\n```\n\nIf the producer script does not exist at either path, this section is dormant\n(PAT-019) — no error, no output.\n\n### 7. Health Check (if requested)\n\nIf the human asks \"is everything set up correctly?\" or similar, validate:\n- Hooks registered in `.claude\u002Fsettings.json`\n- Config file valid JSON with required fields\n- Hook scripts exist and are executable at `.correctless\u002Fhooks\u002F`\n- .correctless\u002FARCHITECTURE.md has content (not template)\n- .correctless\u002FAGENT_CONTEXT.md has content (not template)\n\nReport any issues with fix instructions.\n\n## Pruning Recommended Signal (INV-013)\n\nRun a lightweight staleness check using `scripts\u002Fprune-scan.sh` (or `.correctless\u002Fscripts\u002Fprune-scan.sh`). If the scanner script does not exist (file does not exist at either path), this section is dormant per PAT-019 — no error, no warning, no output.\n\nWhen the scanner is available, check two categories:\n1. Orphaned artifacts: `bash scripts\u002Fprune-scan.sh --category artifacts --base . | jq '.candidates | length'` — read `.candidates` from the wrapped-object schema (BND-001)\n2. Architecture staleness: `bash scripts\u002Fprune-scan.sh --category architecture --base . | jq 'length'` — bare array, read length directly\n\nSurface the signal when either: (a) more than 10 orphaned artifact files exist, or (b) more than 3 architecture entries have all-dead file references.\n\nSignal text: \"Pruning recommended: {N} orphaned artifacts, {M} stale architecture entries. Run `\u002Fcprune` to clean up.\"\n\n## Autonomous Defaults\n\n- **AD-001**: Display scope — show full pipeline status with next steps (default). No human input required; this skill runs to completion autonomously.\n\n## If Something Goes Wrong\n\n- `\u002Fcstatus` is read-only — it reads workflow state and project files but modifies nothing. Re-run anytime safely.\n- If status looks wrong, check that `.correctless\u002Fconfig\u002Fworkflow-config.json` exists and the hook scripts are installed at `.correctless\u002Fhooks\u002F`.\n\n## Constraints\n\n- **Keep it short.** Status should be a quick glance, not a wall of text.\n- **Always suggest the next action.** Don't just show state — tell them what to do.\n- **Don't modify anything.** This is read-only.\n",{"name":5,"description":7,"allowed-tools":38,"disallowed-tools":39,"interaction_mode":27},"Bash, Read, Grep, Glob","Edit, Write, MultiEdit, NotebookEdit, CreateFile","main","74f9ef3f5acae9c857f6be6dd86cdc3b10830c90","correctless\u002Fskills\u002Fcstatus",4,"https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless","https:\u002F\u002Fjoshft.github.io\u002Fcorrectless\u002F","https:\u002F\u002Fgithub.com\u002Fjoshft","2026-11-07 02:53:35",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add joshft\u002Fcorrectless --skill cstatus",{"tool":54,"command":55},"bunx","bunx skills add joshft\u002Fcorrectless --skill cstatus",{"tool":57,"command":58},"pnpm","pnpm dlx skills add joshft\u002Fcorrectless --skill cstatus","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless\u002Fblob\u002Fmain\u002Fcorrectless\u002Fskills\u002Fcstatus\u002FSKILL.md",true,[],[63,86,110,128,145,159],{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":74,"publishedAt":33},"01M6JJW224Q40TCVMTKRZPDHDY","cwtf","Audit the workflow itself. Use when you suspect agents shortcut or after a bug escapes despite the workflow running. Checks phase execution, rule coverage, and agent thoroughness.","https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless\u002Fblob\u002Fmain\u002Fskills\u002Fcwtf\u002FSKILL.md",[69],{"categoryNo":70,"categoryName":71,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[65,19,75,76,77,78,22,23,79,80,24,25,26,81,27,82,83,84,32,85],"git","artifacts","audit","execution","find","jq","coverage","use","wtf","bug","shortcut",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":98,"publishedAt":33},"01M6JJVT9M4KGWQ99V0CSF6WZ5","cverify","Verify implementation matches spec. Check rule coverage, undocumented dependencies, architecture compliance. Writes verification report and drift debt. Run after \u002Fctdd completes.","https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless\u002Fblob\u002Fmain\u002Fskills\u002Fcverify\u002FSKILL.md",[92,93],{"categoryNo":70,"categoryName":71,"taxonomyType":72,"taxonomyTypeDesc":73},{"categoryNo":94,"categoryName":95,"taxonomyType":96,"taxonomyTypeDesc":97},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[88,99,19,100,20,75,101,102,22,24,25,26,81,103,104,105,106,107,108,109],"go","architecture","verification","Meta","diff","ruff","drift","verify implementation","cargo","stryker","ctdd",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":33},"01M6JJVP2E6BHHKF3SCMDXG0S2","cupdate-arch","Update .correctless\u002FARCHITECTURE.md after features land. Use after \u002Fcdocs or when the codebase structure has changed.","https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless\u002Fblob\u002Fmain\u002Fskills\u002Fcupdate-arch\u002FSKILL.md",[],[117,118,119,100,120,75,121,22,122,23,24,25,26,82,123,124,125,126,127],"arch","cupdate arch","docs","update","land","Rules","structure","codebase","features","codebase structure","cdocs",{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":134,"publishedAt":33},"01M6JJVJVZ72KVWN1K3RWQK0YJ","ctriage","Bulk triage deferred findings backlog. Presents findings one at a time with disposition options.","https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless\u002Fblob\u002Fmain\u002Fskills\u002Fctriage\u002FSKILL.md",[],[130,135,102,22,136,23,80,137,24,25,26,138,139,140,141,142,143,144],"triage","json","one at a time","interactive","options","backlog","time","bulk","with","at",{"skillNo":146,"name":109,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":151,"publishedAt":33},"01M6JJVCYCNYD4GHK33DZE9DXA","Enforced TDD workflow. Write failing tests from spec rules, then implement. Use after \u002Fcreview approves a spec.","https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless\u002Fblob\u002Fmain\u002Fskills\u002Fctdd\u002FSKILL.md",[150],{"categoryNo":70,"categoryName":71,"taxonomyType":72,"taxonomyTypeDesc":73},[109,152,153,154,19,76,155,22,122,23,24,25,26,82,156,157,158],"spec","implement","tdd","tdd workflow","task","tests","creview",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":165,"publishedAt":33},"01M6JJV7S3EQG3GHQ56DD8P1SA","csummary","Feature summary. Use after \u002Fcdocs to see what the workflow caught, or mid-feature to check progress.","https:\u002F\u002Fgithub.com\u002Fjoshft\u002Fcorrectless\u002Fblob\u002Fmain\u002Fskills\u002Fcsummary\u002FSKILL.md",[],[161,19,75,76,22,23,166,24,25,26,27,82,167,168,169,170,127],"check","what the","summary","feature","progress"]