Fork deleted 9 ce-* reviewer agents in step (c.1) and dropped the ce-dhh-
rails-style skill in step (c.2). Tests and legacy-cleanup registries
needed corresponding updates.
Tests:
- tests/review-skill-contract.test.ts: drop ce-dhh-rails-reviewer,
ce-kieran-rails-reviewer, and ce-data-migration-expert from persona list
tests. Remove the data-migration-expert unstructured-format test.
- tests/legacy-cleanup.test.ts: switch the .agent.md copilot-format test
to use agents that still have ce-* versions (correctness-reviewer,
maintainability-reviewer) since security-sentinel and performance-oracle
are gone. Drop the `lint` case from legacy-only cleanup since the fork
re-introduced ce-lint (Python linter) as a current agent.
Legacy cleanup registries:
- src/utils/legacy-cleanup.ts: add the 9 deleted ce-* agent names to
STALE_AGENT_NAMES and ce-dhh-rails-style to STALE_SKILL_DIRS so upgrades
from pre-merge installs sweep the old files.
- src/data/plugin-legacy-artifacts.ts: mirror the additions in the
compound-engineering plugin's historical artifact lists.
Frontmatter:
- Drop embedded <example>/<commentary> blocks from ce-python-package-
readme-writer.agent.md and ce-tiangolo-fastapi-reviewer.agent.md
descriptions. Cowork's plugin validator rejects bare angle-bracket
tokens; tests/frontmatter.test.ts was failing on these two local agents.
Test state: 944 pass / 9 fail. Remaining 9 failures are pre-existing
detect-project-type.sh monorepo probe tests in ce-polish-beta that were
failing on baseline HEAD before this merge work began. Not introduced
by this merge.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Applies triage doc 022. Most of the sweep was no-op because upstream already
renamed everything in place when we branched from origin/main. Remaining
fixes:
- ce-pr-comments-review/SKILL.md: replace compound-engineering:review:/
workflow: prefixed agent refs with bare ce-<name> form (self-correction
from step g where I accidentally used old convention)
- ce-essay-edit/SKILL.md: update /essay-outline reference to /ce-essay-outline
Prose references to generic words ("onboarding", "changelog") are left
alone — they are natural-language uses, not skill references.
Known follow-up: tests/review-skill-contract.test.ts and
tests/legacy-cleanup.test.ts still reference locally-removed agents
(ce-dhh-rails-reviewer, ce-kieran-rails-reviewer, ce-data-migration-expert,
ce-security-sentinel). These will need test updates + registration of
removed names in src/utils/legacy-cleanup.ts and
src/data/plugin-legacy-artifacts.ts — flagged for step (j).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Applies triage doc 021 in full. Legacy file-based todo system is gone; the
two local workflows that depended on it are retooled around platform-
native task tracking and ce-code-review-style walkthrough patterns.
Deletions:
- commands/resolve_todo_parallel.md — obsolete; ce-pr-comments-review now
orchestrates resolution inline
- commands/pr-comments-to-todos.md — replaced by ce-pr-comments-review skill
- skills/ce-upstream-merge/assets/merge-triage-template.md — template now
lives inline in SKILL.md since decisions live in the task tracker
Retool:
- New skill skills/ce-pr-comments-review/SKILL.md: fetch PR comments,
pressure-test each via validator agent, walk through with AskUserQuestion
(Fix now / Clarify / Push back / Skip), dispatch ce-pr-comment-resolver
for accepted fixes. Uses TaskCreate instead of todos/*.md.
Rewrite:
- skills/ce-upstream-merge/SKILL.md: drops the "create todos in todos/"
pattern entirely. Phase 2 builds a platform-task decision set instead.
Phase 3 walks through with AskUserQuestion. Phase 4 splits execution
into 7 named checkpoints (b-h) so the user can inspect and course-
correct mid-flight. Adds explicit "hidden conflicts" detection in
Phase 1 (upstream rename of file local deleted, upstream deletion of
file local depends on, structural refactors).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Applies triage doc 020 — moves local ce-review/* modifications into upstream's
renamed ce-code-review/ skill.
- persona-catalog.md: rebase to local's richer 21-persona catalog (4
always-on + 8 conditional + 4 stack-specific + 5 language/framework)
plus 4 CE conditional agents. Rename all agent refs from
compound-engineering:review:<name> to ce-<name>. Keep upstream's swift-ios
persona. Drop rails personas (local deleted those reviewers).
- SKILL.md: add ce-design-conformance-reviewer, ce-zip-agent-validator, and
ce-tiangolo-fastapi-reviewer to the conditional team; add Zip Agent
Validation section as Stage 6 item 11; update dispatch context and
artifact preservation notes for the new CE conditional agents.
- review-output-template.md: add Zip Agent Validation example section
between Deployment Notes and Coverage, plus formatting-rule entry.
- Delete ce-review/ directory (content fully ported).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Applies triage docs 016-019 — merges upstream's structural refactor with
local's fork-specific additions.
README:
- Drop entries for locally-removed agents (dhh/kieran-rails, design/*,
ankane-readme-writer, performance-oracle, security-sentinel,
data-migration-expert)
- Add local custom skills (ce-john-voice, ce-hugo-blog-publisher,
ce-story-lens, ce-essay-outline, ce-essay-edit, ce-excalidraw-png-export,
ce-sync-confluence, ce-jira-ticket-writer, ce-upstream-merge,
ce-proof-push, ce-ship-it, ce-weekly-shipped) under appropriate sections
- Add local custom agents (ce-design-conformance-reviewer,
ce-tiangolo-fastapi-reviewer, ce-zip-agent-validator, ce-lint,
ce-python-package-readme-writer)
- Add ce-fastapi-style, ce-python-package-writer to Development Frameworks
- Preserve "privacy/compliance angle" suffix on ce-data-integrity-guardian
- Add ce-previous-comments-reviewer entry (present in code, was missing
from README)
- Update component counts to match actual filesystem (47 agents, 50 skills)
ce-brainstorm: insert Deploy wiring flag paragraph once in Phase 2
approach presentation (local carried this edit; deduped the accidental
double-insertion from the local diff).
ce-plan: insert Deploy wiring check bullet in "Every plan should contain"
list and in Phase 1 Repo Scan Signals section.
ce-work: insert "Did I add new env vars or config fields?" row in the
Phase 2 pattern-sensitive check table.
ce-work shipping-workflow: insert "If new env vars added to backend
config, deploy values files updated in same PR" line in pre-PR checklist.
All deploy-wiring additions reference
docs/solutions/deployment-issues/missing-env-vars-in-values-yaml.md
(note: the referenced solution doc doesn't exist yet — flagged for
follow-up).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Completes step (c)'s convention-convergence: commands were migrated to skills
in upstream v2.39.0. Local essay-* commands now live as skills with the ce-
prefix. commands/workflows/{plan,review,work}.md predated ce-plan/ce-code-
review/ce-work and are now redundant — deleted.
Remaining in commands/: pr-comments-to-todos (retool in step g) and
resolve_todo_parallel (delete in step f).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Brings 47 local-only files from backup-local-main into the merge-upstream
branch at their pre-rename paths. Subsequent steps will rename these to
the ce-* convention and port shared-file merges.
Includes:
- Custom skills: john-voice, jira-ticket-writer, hugo-blog-publisher,
weekly-shipped, proof-push, ship-it, story-lens, sync-confluence,
excalidraw-png-export, python-package-writer, fastapi-style,
upstream-merge
- Custom agents: design-conformance-reviewer, tiangolo-fastapi-reviewer,
zip-agent-validator, python-package-readme-writer, lint
- Custom commands: essay-edit, essay-outline, pr-comments-to-todos,
resolve_todo_parallel, workflows/{plan,review,work}
- Local mods to ce-review/SKILL.md + review-output-template.md (will be
ported to ce-code-review in a later step)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PR #663 squash-merged as `feat(ce-commit-push-pr):` — adding two
short-circuits that skip a blocking prompt when the agent just authored
the change. The intent was a UX/flow fix, not a new capability, so the
correct conventional prefix is `fix:`. Since the prefix drove a minor
bump, the open release PR (#661) is pinning the linked `cli` /
`compound-engineering` group at 3.1.0.
This empty commit reclassifies the pending release to 3.0.2 via
`Release-As:` footers so the patch-level fixes in this window
(#660 ce-update, #664 ce-demo-reel, #663 ce-commit-push-pr) land as
3.0.2 instead of 3.1.0. The feat prefix remains in history and may
still render under a Features heading in the generated changelog —
hand-edit the release PR body before merge if so.
Release-As: cli@3.0.2
Release-As: compound-engineering@3.0.2