v2.1.31 — CC v2.1.218 Fork Background-Default Compat
bkit v2.1.31 — CC v2.1.218 Fork Background-Default Compat
Restores the intended behavior of bkit's context: fork skills on Claude Code v2.1.218, which changed forked skills to run in the background by default. Nine bkit fork skills were silently affected. Skill-frontmatter-level fix; architecture counts invariant.
🎯 Highlights
- Fork skills run in the foreground again on CC ≥ 2.1.218. The 8 producer fork skills opt out of CC's new background-by-default with
background: false— no more silently-backgrounded phase scans. qa-phasestays genuinely interactive. Its PRE-SCAN CRITICAL continue/abort gate is now a realAskUserQuestion— becauseAskUserQuestionis stripped at the fork sub-agent boundary regardless of foreground/background,qa-phasedropscontext: forkand runs in the main context instead.- Grounded, not guessed. Root cause verified against the CC CHANGELOG + 4 GitHub issues (#19751 / #34592 / #46654 / #54892), which confirm
background: falserestores scheduling but notAskUserQuestion. - Zero architecture drift. 44 Skills · 34 Agents · 22 Hook Events. Version 2.1.30 → 2.1.31, docs=code 0 drift, all CI-gated contract tests green vs both baselines.
🔬 Root cause
CC v2.1.218 made context: fork skills background by default. Two distinct effects had to be told apart:
- Scheduling — a backgrounded fork no longer runs inline. Fixed by
background: falseon the skill frontmatter. AskUserQuestionavailability — this tool is stripped at the fork sub-agent boundary regardless of foreground/background (CC #34592 / #54892).background: falsedoes not bring it back. The only fix for a skill that must ask the user mid-run is to not fork at all.
So the response is split: 8 non-interactive producers keep context: fork + add background: false; the one interactive skill (qa-phase) leaves context: fork entirely.
🛠️ What changed
| Area | Change |
|---|---|
| 8 producer skills | Add background: false — phase-1-schema, phase-2-convention, phase-3-mockup, phase-4-api, phase-5-design-system, phase-8-review, zero-script-qa, skill-status. Backward-safe on older CC. |
skills/qa-phase/SKILL.md |
Drops context: fork → runs in main context; PRE-SCAN CRITICAL gate upgraded to a real AskUserQuestion continue/abort call. |
test/contract/deprecation-registry.json + contract-test-run.js |
New contextChanges allowance (ADR 0014 pattern) so the intentional qa-phase context removal passes L1-SK against both immutable baselines without rewriting baseline JSON. |
lib/infra/cc-version-checker.js |
MF-2: RECOMMENDED_VERSION 2.1.198 → 2.1.218; README, SessionStart advisory, and marketplace narrative synced. |
lib/cc-regression/registry.js |
MON-CC-06-51165 stale note fixed; invocation-inventory fork detection scoped to frontmatter (no longer false-matches prose). |
docs/ |
Carries in prior CC-version-analysis reports (cc-v2208 → cc-v2218 impact analyses, EN/KO pairs) + refreshed GitHub traffic stats. |
✨ User experience changes
- On CC v2.1.218+, running a phase skill (e.g.
/bkit:phase-4-api) executes in the foreground as before, instead of being quietly moved to a background task. qa-phasePRE-SCAN now surfaces a proper interactive continue/abort prompt when a CRITICAL condition is detected, rather than losing the question at the fork boundary.- SessionStart advisory now recommends CC v2.1.218 (install floor remains v2.1.143; model floor v2.1.170 for Fable-pinned agents).
- No action required for users on CC < 2.1.218 — the added
background: falseis a no-op there.
📋 Compatibility
- CC recommended: v2.1.218 · install floor: v2.1.143 (displayName schema) · model floor: v2.1.170+ (Fable-pinned agents)
- Architecture invariant: 44 Skills · 34 Agents · 22 Hook Events (25 blocks) · 195 Lib Modules · 2 MCP Servers (19 tools)
Resolves the CC v2.1.218 context: fork background-default regression. Full diff in #141.
🤖 Release notes generated with Claude Code