You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Clean follow-on from #522 (closed COMPLETED). The rolling Claude Code adoption tracker — each issue collects ~30 comments of changelog triage, then is superseded by a fresh issue carrying forward only what's still open.
Not committed work — platform capabilities flagged across triage that ArcKit has not adopted. Each needs a feasibility check before building.
DirectoryAdded hook (v2.1.219) — fires after /add-dir or the SDK register_repo_root registers a new working directory mid-session. Natural companion to the shipped FileChanged handler (external-context-watch.mjs), which covers changes to projects/*/external/ evidence but not a whole evidence directory attached partway through a session.
Subagent session ceilings — verify behaviour at the cap (v2.1.212, v2.1.217) — answered in fix: guard arckit-build waves against the subagent concurrency cap (#580) #675 (caps deny, they do not queue) and documented in build.md. Partly superseded by v2.1.224, which removed the 200-spawns-per-session cap entirely; 20 concurrent and the depth cap remain, and the WebSearch cap soft-degrades rather than denying. See the v2.1.221→235 triage — build.md needs a correction.
SubagentStart / TaskCompleted hooks (present in the v2.1.235 binary, undocumented status unverified) — would let telemetry.mjs record subagent duration and outcome rather than only spawns, and TaskCompleted is a plausible wave-barrier mechanism under background-by-default dispatch. Check against published hooks docs first.
Background-agent Notification hook telemetry/status (v2.1.198) — claude agents can emit agent_needs_input / agent_completed; ArcKit registers no Notification hook. Only worth doing once background-agent workflows need status capture.
initialPrompt on agents (v2.1.83) — auto-submit first turn; runtime double-turn risk still unverified. (Confirmed no agent uses it today.)
archive plugin source / air-gapped distribution (v2.1.224, supersedes the v2.1.129 .zip framing) — {"source": "archive", "url": "<https zip>", "sha256": "<64 hex>"} installs a plugin with no git and no npm, verifying the digest on every download. Gives air-gapped UK-Gov / MoD sites an internally-hosted, SHA-pinned install path for all 16 plugins. Needs a decision on which release step produces the zip + digest.
disallowed-tools hardening (v2.1.152, v2.1.178, v2.1.186, v2.1.195) — candidate for read-only commands/skills (/arckit:search, /arckit:navigator, /arckit:health; reference skills). Later permission fixes make this more viable; still needs a scoped spike.
SessionStartsessionTitle / reloadSkills (v2.1.152) — available but not yet used (could title sessions by active project).
MessageDisplay redaction (v2.1.152) — speculative classification-aware screen redaction for OFFICIAL-SENSITIVE / SECRET; needs a concrete user request before building.
sandbox.network.strictAllowlist / sandbox.filesystem.disabled (v2.1.219, v2.1.216) — egress-controlled and air-gapped deployments. Currently a docs candidate; becomes a build item only if we ship a recommended sandbox profile.
Documentation backlog
Open after #643 cleared the previous batch. Six items shipped in #674 (v2.1.201-220 batch).
READER-PATTERN.md — correct the "subagents cannot spawn subagents" claim (nesting is depth 3 by default as of v2.1.219), and record why the orchestrators stay in the slash-command body regardless.
CLAUDE.md — Opus 5 is the default Opus model (1M context); /fast covers Opus 5 and Opus 4.8 with Opus 4.7 dropped; add Opus 5 / Sonnet 5 to the effort matrix. provenance-model.mjs needs no matching change — say why.
build.md — subagent session ceilings vs recipe sizes (44 / 38 / 38 / 11 targets) and the /clear budget reset. Gated on the cap-behaviour spike above.
mcp-servers.md — MCP calls auto-background after 2 minutes (CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS, v2.1.212), which interacts with the shipped MCP_TOOL_TIMEOUT=300000 guidance; per-server request_timeout_ms now honoured (v2.1.206); connect failures now show HTTP status and error text (v2.1.218).
enterprise-scale.md / security-hooks.md — sandbox egress settings; one line noting plugin option values must be set at user scope, not project .claude/settings.json (v2.1.207).
Research guides — the 200-per-session WebSearch cap and its override, for arckit-research and long autoresearch loops.
Build/reader-pattern docs (PR fix: correct subagent-limit docs and dispatch assumptions for Claude Code v2.1.235 (#580) #817) — background-by-default verified and documented in both build.md and READER-PATTERN.md. v2.1.232 made non-teammate spawns background-by-default in interactive sessions, and the Agent tool returns async_launched + an agentId rather than a report. arckit-build's wave barrier and every reader→writer handoff assume synchronous returns.
RELEASING.md (v2.1.233) — claude plugin validate now reports SKILL.md files whose frontmatter fails to parse; add to the pre-release validation step.
enterprise-scale.md (v2.1.223) — owner/* wildcards in strictKnownMarketplaces / blockedMarketplaces.
Research guides (v2.1.233) — CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS for the 15-minute WebFetch session URL cache, for long autoresearch loops.
Ongoing
Triage new Claude Code releases from v2.1.236 onward — one comment per batch, continuing the established High-Value / Critical Fixes / Documentation / Min-Version Floor format, verifying claims against the repo and primary docs.
Resolved / audit notes
Subagent-nesting re-homing candidate — closed "won't do" (v2.1.201→220 triage). The default flipped 5 (v2.1.172) → 1 (v2.1.217) → 3 (v2.1.219) and is user-overridable via CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH. Moving the datascout / grants / gov-reuse orchestrators into agents/ would make them fail outright — not degrade — for any user who sets depth back to 1. Current placement is robust in both directions; only the stale READER-PATTERN.md note needs fixing.
${user_config.*} shell-injection restriction (v2.1.207) — ArcKit verified compliant on every path: exec-form hooks, CLAUDE_PLUGIN_OPTION_* in notify-stale-artifacts.mjs, ${CLAUDE_PLUGIN_ROOT}-only monitor command, and direct headers (not headersHelper) MCP substitution. Confirmed empirically on a v2.1.220 session.
Hook if: single-segment glob change (v2.1.214) — checked and clear: all 8 if: conditions are leading-slash anchored, none is a bare dir/**.
Shared MCP headersHelper (v2.1.85, v2.1.193) — documented in docs: update Claude Code platform guidance #643; ArcKit uses direct headers substitution for its two keyed servers, so consolidation has no remaining driver. Closed.
Summary
Clean follow-on from #522 (closed COMPLETED). The rolling Claude Code adoption tracker — each issue collects ~30 comments of changelog triage, then is superseded by a fresh issue carrying forward only what's still open.
Chain: #215 → #472 → #522 → this.
State carried over:
v2.1.234(plugins/arckit-claude/hooks/version-check.mjsMIN_CLAUDE_CODE_VERSION) — raised from v2.1.219 in PR chore: raise Claude Code minimum-version floor to v2.1.234 (#580) #818 for the v2.1.234 MCP-diagnostics secret-exposure fix, v2.1.221's WebSearch 400 atxhigh/max, and the v2.1.222–v2.1.224 permission/sandbox bypass fixes. Prior floor context:v2.1.219— raised from v2.1.200 in chore: raise Claude Code floor to v2.1.219 for Claude Opus 5 (#580) #676 / v6.6.0 for Claude Opus 5, carrying the v2.1.200 project-scoped-plugin/worktree andclaude agents --plugin-dirfixes, the v2.1.198+ background-subagent reliability fixes, and the v2.1.172 WebFetch wildcard-subdomain fix. Bump actioned in PR chore: raise Claude Code minimum-version floor to v2.1.234 (#580) #818.Changelog: https://github.com/anthropics/claude-code/releases
Carried-forward open candidates
Not committed work — platform capabilities flagged across triage that ArcKit has not adopted. Each needs a feasibility check before building.
DirectoryAddedhook (v2.1.219) — fires after/add-diror the SDKregister_repo_rootregisters a new working directory mid-session. Natural companion to the shippedFileChangedhandler (external-context-watch.mjs), which covers changes toprojects/*/external/evidence but not a whole evidence directory attached partway through a session.build.md. Partly superseded by v2.1.224, which removed the 200-spawns-per-session cap entirely; 20 concurrent and the depth cap remain, and the WebSearch cap soft-degrades rather than denying. See the v2.1.221→235 triage —build.mdneeds a correction.SubagentStart/TaskCompletedhooks (present in the v2.1.235 binary, undocumented status unverified) — would lettelemetry.mjsrecord subagent duration and outcome rather than only spawns, andTaskCompletedis a plausible wave-barrier mechanism under background-by-default dispatch. Check against published hooks docs first.Notificationhook telemetry/status (v2.1.198) —claude agentscan emitagent_needs_input/agent_completed; ArcKit registers noNotificationhook. Only worth doing once background-agent workflows need status capture.initialPrompton agents (v2.1.83) — auto-submit first turn; runtime double-turn risk still unverified. (Confirmed no agent uses it today.)archiveplugin source / air-gapped distribution (v2.1.224, supersedes the v2.1.129.zipframing) —{"source": "archive", "url": "<https zip>", "sha256": "<64 hex>"}installs a plugin with no git and no npm, verifying the digest on every download. Gives air-gapped UK-Gov / MoD sites an internally-hosted, SHA-pinned install path for all 16 plugins. Needs a decision on which release step produces the zip + digest.disallowed-toolshardening (v2.1.152, v2.1.178, v2.1.186, v2.1.195) — candidate for read-only commands/skills (/arckit:search,/arckit:navigator,/arckit:health; reference skills). Later permission fixes make this more viable; still needs a scoped spike.SessionStartsessionTitle/reloadSkills(v2.1.152) — available but not yet used (could title sessions by active project).MessageDisplayredaction (v2.1.152) — speculative classification-aware screen redaction for OFFICIAL-SENSITIVE / SECRET; needs a concrete user request before building.sandbox.network.strictAllowlist/sandbox.filesystem.disabled(v2.1.219, v2.1.216) — egress-controlled and air-gapped deployments. Currently a docs candidate; becomes a build item only if we ship a recommended sandbox profile.Documentation backlog
Open after #643 cleared the previous batch. Six items shipped in #674 (v2.1.201-220 batch).
READER-PATTERN.md— correct the "subagents cannot spawn subagents" claim (nesting is depth 3 by default as of v2.1.219), and record why the orchestrators stay in the slash-command body regardless.CLAUDE.md— Opus 5 is the default Opus model (1M context);/fastcovers Opus 5 and Opus 4.8 with Opus 4.7 dropped; add Opus 5 / Sonnet 5 to the effort matrix.provenance-model.mjsneeds no matching change — say why.build.md— subagent session ceilings vs recipe sizes (44 / 38 / 38 / 11 targets) and the/clearbudget reset. Gated on the cap-behaviour spike above.mcp-servers.md— MCP calls auto-background after 2 minutes (CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS, v2.1.212), which interacts with the shippedMCP_TOOL_TIMEOUT=300000guidance; per-serverrequest_timeout_msnow honoured (v2.1.206); connect failures now show HTTP status and error text (v2.1.218).enterprise-scale.md/security-hooks.md— sandbox egress settings; one line noting plugin option values must be set at user scope, not project.claude/settings.json(v2.1.207).arckit-researchand long autoresearch loops.build.mdandREADER-PATTERN.md. v2.1.232 made non-teammate spawns background-by-default in interactive sessions, and theAgenttool returnsasync_launched+ anagentIdrather than a report.arckit-build's wave barrier and every reader→writer handoff assume synchronous returns.build.mdcorrection (v2.1.224) (PR fix: correct subagent-limit docs and dispatch assumptions for Claude Code v2.1.235 (#580) #817) — delete the per-session spawn-cap row and its denial string, correct the WebSearch row to soft-degrade, note thatCLAUDE_CODE_MAX_SUBAGENTS_PER_SESSIONis now accepted and ignored.READER-PATTERN.md(v2.1.233) (PR fix: correct subagent-limit docs and dispatch assumptions for Claude Code v2.1.235 (#580) #817 — prescriptive copy fixed; the 20 agent allowlists deliberately left as-is, entry is inert) —TodoWriteno longer exists on Opus 4.8 / Sonnet 5 / Fable 5 / Opus 5 and newer. Line 128 prescribes it for every new reader.RELEASING.md(v2.1.233) —claude plugin validatenow reports SKILL.md files whose frontmatter fails to parse; add to the pre-release validation step.enterprise-scale.md(v2.1.223) —owner/*wildcards instrictKnownMarketplaces/blockedMarketplaces.CLAUDE_CODE_WEBFETCH_CACHE_TTL_MSfor the 15-minute WebFetch session URL cache, for long autoresearch loops.Ongoing
Resolved / audit notes
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH. Moving thedatascout/grants/gov-reuseorchestrators intoagents/would make them fail outright — not degrade — for any user who sets depth back to 1. Current placement is robust in both directions; only the staleREADER-PATTERN.mdnote needs fixing.${user_config.*}shell-injection restriction (v2.1.207) — ArcKit verified compliant on every path: exec-form hooks,CLAUDE_PLUGIN_OPTION_*innotify-stale-artifacts.mjs,${CLAUDE_PLUGIN_ROOT}-only monitor command, and directheaders(notheadersHelper) MCP substitution. Confirmed empirically on a v2.1.220 session.if:single-segment glob change (v2.1.214) — checked and clear: all 8if:conditions are leading-slash anchored, none is a baredir/**.provenance-model.mjsneeds no change;MODEL_EFFORTSlists only partial-support models and treats absent models as full-support, which is the provenance effort matrix: EFFORT_RANK inverts max/xhigh; single cap can't model Opus 4.6 support gap #669 design absorbing a new top-tier model with no edit.enforceAvailableModels, OTEL assistant-response caveat, MCP auth /headersHelperrefresh behaviour, v2.1.200+ plugin branch-testing guidance,--safe-modetroubleshooting +disableBundledSkillscaveat, root-levelSKILL.mdlayout note, refreshed model examples.if:path-rule floor candidate (v2.1.176) covered by the v2.1.200 floor bump.SKILL.md(v2.1.142) — N/A for ArcKit's layout; documented in docs: update Claude Code platform guidance #643, no longer a carried candidate.headersHelper(v2.1.85, v2.1.193) — documented in docs: update Claude Code platform guidance #643; ArcKit uses directheaderssubstitution for its two keyed servers, so consolidation has no remaining driver. Closed.parent_agent_idnot in hook input);minimumVersionfloor guidance (feat(version-check): recommend and dogfood minimumVersion floor pin #575, item 92).claude mcpredaction,--fallback-model, WebFetch domain-scoping,\$escape,/plugin list,pluginSuggestionMarketplaces, CLAUDE.md frontmatter/hook mentions.effort: maxaudit (docs(claude): correct effort-tier per-model accuracy (#522) #577 — verified valid, no change);MCP_TOOL_TIMEOUTdocs;terminalSequence(adopted innotify-stale-artifacts.mjs); community-overlayarckitdependency (verified declared on all 9).Reference