Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ All notable changes to this project. Format: [Keep a Changelog](https://keepacha

## Unreleased

- **chore(compat): CC 2.1.183–2.1.191 survey — schema-gate watch switches from SchemaStore #5723 to #5814; no `tested_up_to` bump.** Resurveyed the upstream CHANGELOG across the 13-day gap since PR #84 (six versions present: 2.1.183, 2.1.185, 2.1.186, 2.1.187, 2.1.190, 2.1.191; 2.1.184/188/189 NOT in CHANGELOG — skipped or internal-only per the verbatim-pull discipline). **Schema gate moved:** SchemaStore #5723 (sync→v2.1.150) is still open/draft and untouched since 2026-05-24 (32 days idle), but a fresh **#5814** (sync→v2.1.177, 84→134 properties, opened 2026-06-13, **not draft, awaiting code-owner LGTM**) supersedes it in scope and is the more likely merge candidate; the maintainer's upstream-gate-playbook watch target switches to `#5814 OR #5723 OR successor` — either merge unblocks. Two further targeted PRs also open and awaiting LGTM: **#5822** (seven UI/notification keys: `theme`, `preferredNotifChannel`, `autoCompactEnabled`, `skipWorkflowUsageWarning`, `skipAutoPermissionPrompt`, `inputNeededNotifEnabled`, `agentPushNotifEnabled` — out of territory by UI-pref precedent), and **#5833** (targeted `attribution.sessionUrl` for CC 2.1.183 — in territory). **New in-territory `settings.json` keys held for the merge:** `sandbox.credentials` (CC 2.1.187, hardening) — blocks sandboxed commands from reading credential files and secret env vars; future stub candidate for the existing `// sandbox` block in `templates/safety/settings-patch.json`. `attribution.sessionUrl` (CC 2.1.183, privacy opt-in) — omits the claude.ai session link from commit/PR text in web and Remote Control sessions; future stub candidate for `templates/git-workflow/settings-patch.json` (#5833 is the targeted schema-side patch). `respondToBashCommands` (CC 2.1.186) classified out of territory: a per-user behavior preference (default-true — `!` bash commands auto-prompt Claude), not a project-level scaffolded default. **Permission-rule syntax extension:** 2.1.186 adds `Agent(type)` deny rules and `Agent(x,y)` allowed-types restrictions for named-subagent specs — same `Tool(param:value)` form already parked from 2.1.178; no shipped template uses either, parking decision stands. **No-impact verifications (greps clean):** the hook-matcher comma-separated silent-fail (CC 2.1.191, e.g. `"Bash,PowerShell"`) is not a self-audit hit — all shipped configurator templates use pipe-separated regex (`Write|Edit|NotebookEdit`), no comma form; the skill-frontmatter case-insensitivity gain (CC 2.1.186 accepts kebab+snake+camel) is not impactful — shipped skills are kebab-case; the auto-mode git/iac destructive-command block (CC 2.1.183: `git reset --hard`, `git checkout -- .`, `git clean -fd`, `git stash drop`, plus `terraform`/`pulumi`/`cdk destroy` unless the specific stack is asked) is a classifier-tier gate orthogonal to the bash-pattern-based `block-dangerous-bash.sh` PreToolUse guard — no overlap to harden; the subagent depth-tracking fix (CC 2.1.187: resumed subagents restore original spawn depth, forks count toward the depth cap) further validates the 5-level cap surfaced in 2.1.181 and lifted into shipped wording in PR #84. **Env mention-only:** `CLAUDE_CLIENT_PRESENCE_FILE` (CC 2.1.181, mobile-push suppression marker — missed in the 2.1.176-181 survey), `CLAUDE_CODE_RETRY_WATCHDOG` (CC 2.1.186, replaces unbounded retry; `CLAUDE_CODE_MAX_RETRIES` capped at 15 in the same release), `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` (CC 2.1.187, overrides the new 5-minute remote-MCP-call abort). Issue #14920 (per-skill plugin disable) re-checked: still open, 13 community comments, no Anthropic engagement, last update 2026-03-31 (86 days stale). Compat comment refreshed in `config_schema.py` with the full survey.

- **chore(skills): sync discipline-skills v5.1.0 → v6.0.2 (obra/superpowers).** First sync since the module landed (PR #59, 2026-05-24); upstream shipped **v6.0.0** on 2026-06-16 (major), then **v6.0.1** + **v6.0.2** on 2026-06-17 as fast-follow patch releases. Skill inventory unchanged (14/14 upstream; we still fork the same 7). **Structural change in `subagent-driven-development`**: the two per-task reviewer prompts upstream removed (`spec-reviewer-prompt.md` + `code-quality-reviewer-prompt.md`) are replaced by a single `task-reviewer-prompt.md` that returns spec-compliance + quality verdicts in one pass; two new bash scripts (`scripts/review-package` + `scripts/task-brief`) move the review diff and task text to files so they don't park in the controller's context (file-handoff, not paste-handoff). Our v5-era "embed code-reviewer.md inline in code-quality-reviewer-prompt.md" SYNC.md edit is RETIRED — the new `task-reviewer-prompt.md` has no external dependency. **Configurator change**: `configure.py`'s `executable` heuristic widened from `rel.endswith(".sh")` to also honor the source file's user-execute bit, so the new `scripts/review-package` and `scripts/task-brief` (no `.sh` extension upstream) arrive at user installs with `+x` set. Other ports are mostly clean re-applies: `using-git-worktrees` + `finishing-a-development-branch` inherit the v6 drop of the global `~/.config/superpowers/worktrees/` path (project-local `.worktrees/` only) and `finishing-a-development-branch`'s forge-neutral rewrite (no hardcoded `gh pr create`); `writing-plans` gains v6's Global Constraints + per-task Interfaces template sections; `brainstorming`'s checklist drops the "offer visual companion just-in-time" step (the v6 process-flow digraph no longer carries the visual-companion nodes either); `executing-plans` re-applies the "This skill works much better" reframe (project-neutral). `superpowers:` prefix re-stripped across all SKILL.md and `*-prompt.md` files — `test-no-superpowers-prefix.sh` clean. Path list in `config_schema.py` updated (removed 2, added 3 → 15 total); test fixtures (`test-module-files-exist.sh` + `test-scaffold-installs-skills.sh`) updated to match. SYNC.md pin bumped to v6.0.2 with a fresh delta paragraph and revised canonical-edit list (5 items → 4; the retired embed-template item documented as removed). README's discipline-skills paragraphs refreshed (v5.1.0 → v6.0.2; carve-out section + module description). Known papercut documented: `subagent-driven-development/SKILL.md` retains one "final whole-branch review" line referencing `../requesting-code-review/code-reviewer.md` (a skill we don't ship) — pre-existing in v5.1.0, not addressed in this sync to keep port scope tight.

- **chore(compat): CC 2.1.176–2.1.181 survey — held subagent-nesting wording lifted; no `tested_up_to` bump.** SchemaStore sync PR #5723 still open/draft (untouched since 2026-05-24 despite dep #5728 merged 2026-06-01), so `tested_up_to` stays pinned at 2.1.150 per the no-lone-bumps rule. **Held constraint resolved:** v2.7.0's 2.1.172–175 survey held the subagent-nesting wording on a CHANGELOG/docs contradiction (CHANGELOG said subagents can nest ≤5 levels; live docs said they cannot). The contradiction is now reconciled — `code.claude.com/docs/en/sub-agents` documents nested subagents under `min-version: 2.1.172`, and CC 2.1.181 explicitly unifies the foreground+background depth cap at 5 levels (*"Fixed foreground subagents spawning unbounded nested chains; they now respect the same 5-level depth limit as background subagents"*). Three shipped-template wording sites updated: `docs/04-subagents-mcp-orchestration.md` lines 59 + 140 and `templates/commands/infinite/SKILL.md` line 65. Leaf-design guidance preserved and remains the recommended pattern within the testing envelope (`tested_up_to < 2.1.172` means most users on the tested band don't have nesting; the `/infinite` skill's no-sibling-coordination invariant still holds because subagent contexts don't share even when nesting is available). **2.1.176–181 versions surveyed** (2.1.177 + 2.1.180 not present in CHANGELOG — skipped or internal-only per the verbatim-pull discipline): no new in-territory `settings.json` keys; out-of-territory by precedent — `footerLinksRegexes` + `language` (2.1.176, UI-pref tier), `sandbox.allowAppleEvents` (2.1.181, macOS-only opt-in). Future opt-in stub candidate: the new `Tool(param:value)` permission-rule form with `*` wildcard (2.1.178, e.g. `Agent(model:opus)`) — no shipped template uses it yet, SchemaStore acceptance status unverified, parking for the next compat batch. Nested `.claude/skills` collision handling (2.1.178) gains `<dir>:<name>` namespacing — reinforces the existing plugin-skill carve-out pattern, no shipped-template impact. MCP server-level specs in subagent `disallowedTools` (`mcp__server`, `mcp__server__*`, `mcp__*`) silently-ignored bug fixed in 2.1.178 — grep against shipped templates clean. Compat comment refreshed in `config_schema.py` with the full survey.
Expand Down
80 changes: 80 additions & 0 deletions config_schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -568,6 +568,86 @@
# survey - still open/draft, untouched since
# 2026-05-24 despite dep #5728 merged
# 2026-06-01. Issue #14920 unchanged.
# 2.1.183-191 survey (2026-06-25): no bump.
# Surveyed versions present in CHANGELOG:
# 2.1.183, 2.1.185, 2.1.186, 2.1.187, 2.1.190,
# 2.1.191 (2.1.184/188/189 NOT PRESENT - skipped
# or internal-only per the verbatim-pull
# discipline). SCHEMA WATCH MOVED: SchemaStore
# #5723 (sync->v2.1.150, draft) is still open
# and untouched since 2026-05-24 (32 days
# idle), but a fresh #5814 (sync->v2.1.177,
# 84->134 properties, opened 2026-06-13, NOT
# draft, awaiting code-owner LGTM) supersedes
# it in scope and is the more likely merge
# candidate; the upstream-gate-playbook watch
# target switches to `#5814 OR #5723 OR
# successor`. Two further targeted PRs also
# open and awaiting LGTM: #5822 (seven UI/
# notification keys: theme,
# preferredNotifChannel, autoCompactEnabled,
# skipWorkflowUsageWarning,
# skipAutoPermissionPrompt,
# inputNeededNotifEnabled,
# agentPushNotifEnabled - out of territory by
# UI-pref precedent); #5833 (targeted
# attribution.sessionUrl for CC 2.1.183 - in
# territory). New in-territory settings.json
# keys held for the merge: sandbox.credentials
# (CC 2.1.187, hardening - blocks sandboxed
# commands from reading credential files /
# secret env vars; future stub candidate for
# the existing // sandbox block in safety
# settings-patch); attribution.sessionUrl
# (CC 2.1.183, privacy opt-in - omits the
# claude.ai session link from commit/PR text
# in web + Remote Control sessions; future
# stub candidate for git-workflow settings-
# patch, with #5833 the targeted schema-side
# patch). respondToBashCommands (CC 2.1.186)
# classified out of territory: a per-user
# behavior preference (default-true: `!` bash
# commands auto-prompt Claude), not a
# project-level scaffolded default.
# Permission-rule syntax extension: 2.1.186
# adds Agent(type) deny rules and Agent(x,y)
# allowed-types restrictions for named-
# subagent specs - same Tool(param:value) form
# already parked from 2.1.178; no shipped
# template uses either, parking decision
# stands. No-impact verifications (greps
# clean): hook-matcher comma-separated silent-
# fail (CC 2.1.191, e.g. "Bash,PowerShell") -
# all shipped templates use pipe-separated
# regex (Write|Edit|NotebookEdit), no comma
# form; skill-frontmatter case-insensitivity
# (CC 2.1.186 accepts kebab+snake+camel) -
# shipped skills are kebab-case; auto-mode
# git/iac destructive-command block (CC
# 2.1.183: git reset --hard, checkout -- .,
# clean -fd, stash drop, plus terraform/
# pulumi/cdk destroy unless the specific
# stack is asked) - classifier-tier gate
# orthogonal to the bash-pattern-based
# block-dangerous-bash.sh PreToolUse guard,
# no overlap to harden; subagent depth-
# tracking fix (CC 2.1.187: resumed subagents
# restore original spawn depth, forks count
# toward the depth cap) - further validates
# the 5-level cap surfaced in 2.1.181 and
# lifted into shipped wording in PR #84.
# Env mention-only: CLAUDE_CLIENT_PRESENCE_FILE
# (CC 2.1.181, mobile-push suppression marker
# - missed in the 2.1.176-181 survey),
# CLAUDE_CODE_RETRY_WATCHDOG (CC 2.1.186,
# replaces unbounded retry; CLAUDE_CODE_MAX_-
# RETRIES capped at 15 in the same release),
# CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT (CC 2.1.187,
# overrides the new 5-minute remote-MCP-call
# abort). Issue #14920 unchanged - still open,
# 13 community comments, no Anthropic
# engagement, last update 2026-03-31 (86 days
# stale).
}


Expand Down