Commit Graph

671 Commits

Author SHA1 Message Date
Trevin Chow 51ecd9b98f refactor(codex): restore legacy alias cleanup for nested agent names
In cleanupLegacyAgentSkillDirs, re-add the branch that extracts the
final segment after `-ce-` from a compound agent name and seeds
`ce-<final-segment>` as a legacy-cleanup candidate. The branch was
removed in 25f1c8b9 as dead code for compound-engineering itself, but
it's load-bearing for nested-layout third-party plugins passed through
the CLI: their agent names keep the `<category>-ce-<name>` shape, and
without the split a stale `~/.codex/skills/<plugin>/ce-<name>/`
directory from a prior flat-alias install is never swept. For
compound-engineering the branch remains inert (names don't contain
embedded `-ce-`), so this is purely additive coverage for other shapes.

Guard the split on `agent.name.includes("-ce-")` so no-op candidates
are not seeded for flat-only layouts. Add a comment naming the
cross-layout-migration intent so the branch isn't flagged as dead code
again. Regression test in tests/codex-writer.test.ts pins the behavior
against a nested-layout bundle.

Addresses PR #621 review feedback.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 02:19:43 -07:00
Trevin Chow 25f1c8b975 refactor(tests): update fixtures for flat agents layout
Update sourcePath fixtures and expected Codex agent names across the
test suite to reflect agents now living directly under
plugins/compound-engineering/agents/ with no category subfolders:

- tests/codex-converter.test.ts: flip the namespaced-Task test to the
  flat layout with bare ce-<agent> expected names. Add a new test that
  pins the nested-layout fallback: any third-party plugin still using
  agents/<category>/<name>.md passed through convertClaudeToCodex must
  continue to produce <category>-ce-<agent> Codex agent names.
- tests/pi-writer.test.ts, tests/review-skill-contract.test.ts,
  tests/legacy-cleanup.test.ts, tests/pipeline-review-contract.test.ts,
  tests/kiro-writer.test.ts: strip the <category>/ segment from every
  hardcoded plugins/compound-engineering/agents/* path. Several of
  these (legacy-cleanup.test.ts in particular) perform live filesystem
  reads and would throw ENOENT if left pointing at the old nested
  locations.
- tests/review-skill-contract.test.ts: update the
  stack-specific-reviewers contract test to assert bare ce-<agent>
  references in SKILL.md / persona-catalog.md, matching the new
  convention.

Also simplify cleanupLegacyAgentSkillDirs: the `agent.name.includes("-ce-")`
branch relied on compound names like review-ce-foo to extract a legacy
ce-<final> variant. Every current agent now starts with ce- with no
embedded -ce-, so that branch produced nonsense entries (ce-ce-<name>)
and swept nothing. Remove the dead branch; keep the primary
legacySkillNames.add(sanitizePathName(agent.name)) which still catches
stale skill directories under ~/.codex/skills/<plugin>/<agent-name>/.

bun test passes with 830 tests green. bun run release:validate reports
no drift: compound-engineering at 50 agents, 45 skills, 0 MCP servers.

Per docs/plans/2026-04-21-001-refactor-flatten-agents-directory-plan.md
Unit 5.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 02:04:18 -07:00
Trevin Chow 99284a64c6 feat(codex): clean up orphan sidecar dirs for retained agents
When writing Codex custom agents, delete any same-basename sibling
directory under agentsRoot if the retained agent declares zero
sidecarDirs. Previously, cleanupRemovedAgents only swept the sibling
directory when the TOML itself was being removed — a same-name agent
that lost its sidecar between plugin versions left an orphan directory
indefinitely.

The new sweep is narrowly scoped: it only runs against base names of
agents in the current install and only when the agent declares no
sidecars, so unrelated directories under agentsRoot are untouched.
Gated by isSafeManagedPath to match the existing cleanup safety
pattern.

Tests cover the three scenarios: orphan removed when agent has no
sidecars, sidecar preserved when agent declares one, unrelated
directory left alone.

Per docs/plans/2026-04-21-001-refactor-flatten-agents-directory-plan.md
Unit 4b.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 01:59:43 -07:00
Trevin Chow 1726bd1c64 refactor(agents): update AGENTS.md conventions for flat layout
Root AGENTS.md: rewrite "Agent References in Skills" to mandate bare
ce-<agent-name>. Plugin AGENTS.md: collapse the Directory Structure
tree to a flat agents/ listing; update the Naming Convention paragraph
to state bare ce-<agent-name> as the reference form; update the "New
agent" bullet under Adding Components to drop the <category> path
segment.

Verified plugins/compound-engineering/README.md has no prose implying
agents/<category>/ — the topical agent tables describe conceptual
groupings, not directory paths.

Per docs/plans/2026-04-21-001-refactor-flatten-agents-directory-plan.md
Unit 4.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 01:57:44 -07:00
Trevin Chow b6f5e8e6e7 refactor(agents): rewrite category-prefixed refs to bare ce- form
Convert 117 occurrences of `<category>:ce-<agent-name>` to bare
`ce-<agent-name>` across 16 files in the compound-engineering plugin.
The ce- prefix is sufficient for uniqueness; the `<category>:` segment
was only meaningful because the Codex converter's getAgentCategory()
rebuilt it from the source path, which now returns null for every agent
after Unit 1's flatten.

Applied via a narrow perl regex matching only the six known category
names (review, research, workflow, design, document-review, docs) when
followed directly by `:ce-`. Post-sweep grep for the pattern returns
zero. Insertions and deletions balance exactly (117 each), confirming
the rewrite was surface-only.

Per docs/plans/2026-04-21-001-refactor-flatten-agents-directory-plan.md
Unit 3.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 01:55:15 -07:00
Trevin Chow d14023b130 refactor(agents): flatten agents directory
Move all 50 agent files out of category subfolders (review/, research/,
workflow/, design/, document-review/, docs/) into the flat
plugins/compound-engineering/agents/ directory. Filenames and name:
frontmatter values are unchanged; only the parent directory moves.

The subfolder organization was a human-readability aid, not a harness
requirement. The Claude Code parser walks recursively, and every other
target writer (Codex, OpenCode, Gemini, Kiro, Droid, Copilot, Pi) writes
agents to a flat output regardless of input layout. Flattening removes a
coupling point between source structure and Codex agent naming.

Subsequent commits in this series rewrite the 117 category-prefixed
references in skill/agent content, update the AGENTS.md conventions, and
update the test fixtures that hardcoded nested paths.

Per docs/plans/2026-04-21-001-refactor-flatten-agents-directory-plan.md
Unit 1.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 01:54:05 -07:00
Trevin Chow cd4af86e5e refactor(session-history): move extraction scripts behind skills (#619) 2026-04-21 00:12:11 -07:00
Trevin Chow e0f2a4f9d7 feat(ce-proof): broaden triggers and surface markdown viewing (#618)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 21:11:07 -07:00
Trevin Chow 153bea8669 fix(ce-resolve-pr-feedback): stop dropping unresolved and actionable feedback (#617) 2026-04-20 20:44:16 -07:00
Trevin Chow 3ed4a4fa0f feat(codex): native plugin install manifests + agents-only converter (#616) 2026-04-20 19:44:25 -07:00
Trevin Chow c2d60b47be refactor(install): prefer native plugin install across targets (#609)
Co-authored-by: John Cavanaugh <cavanaug@users.noreply.github.com>
2026-04-20 18:47:07 -07:00
Trevin Chow 9497a00d90 fix(ce-plan): inline handoff menu so post-plan options are never skipped (#615) 2026-04-20 14:44:23 -07:00
Trevin Chow d8436b9a3c fix(ce-compound): quote YAML array items starting with reserved indicators (#613)
Co-authored-by: Nathan Vale <hi@nathanvale.com>
2026-04-20 14:01:11 -07:00
GruntworkAI e1524287f7 fix(ce-gemini-imagegen): bump Pillow floor to 10.3.0 to clear 4 CVEs (#608) 2026-04-20 12:11:28 -07:00
Trevin Chow 2dd0a6e6c7 feat(ce-resolve-pr-feedback): tighten clustering to cross-round only (#611) 2026-04-20 01:12:06 -07:00
Trevin Chow b35de99788 feat(ce-resolve-pr-feedback): drop bot noise, centralize test runs (#610) 2026-04-20 00:33:03 -07:00
Trevin Chow c1f68d4d55 feat(doc-review, learnings-researcher): tiers, chain grouping, rewrite (#601)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 20:25:47 -07:00
Trevin Chow 409b07fbc7 fix(ce-pr-description): cap description size and add pre-apply preview (#605) 2026-04-19 17:36:38 -07:00
Trevin Chow 2aee4d4203 fix(ce-release-notes): backtick-wrap <skill-name> token in description (#603) 2026-04-19 00:38:15 -07:00
Trevin Chow b575e49c29 fix(ce-work): reject plan re-scoping into human-time phases (#600) 2026-04-18 17:33:59 -07:00
Trevin Chow 5c0ec9137a refactor(cli)!: rename all skills and agents to consistent ce- prefix (#503)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 15:44:22 -07:00
Trevin Chow 49249d7317 fix(ce-plan): run ambiguity gate before the non-software catch-all (#598)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 15:31:38 -07:00
Trevin Chow d8e87c1790 fix(ce-plan): close exit gates and honor user-named resources (#597)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 15:19:04 -07:00
Trevin Chow 27cbaf8161 feat(ce-review): add per-finding judgment loop to Interactive mode (#590)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 13:09:03 -07:00
github-actions[bot] dfcaddf345 chore: release main (#592)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
cli-v2.68.1 compound-engineering-v2.68.1
2026-04-18 02:44:29 -07:00
Trevin Chow 1afd63cc76 fix(git-commit-push-pr): apply PR description after delegate hand-off (#594) 2026-04-18 02:42:00 -07:00
Trevin Chow cc78551e7c fix(ce-pr-description): mark return block as hand-off (#593) 2026-04-18 01:55:09 -07:00
Trevin Chow 821c69c567 fix(ce-compound-refresh): restore ce:compound hand-off (#591) 2026-04-18 01:47:05 -07:00
github-actions[bot] 7924f5ccc9 chore: release main (#586)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
compound-engineering-v2.68.0 cli-v2.68.0
2026-04-17 11:42:41 -07:00
Trevin Chow 12aaad31eb feat(ce-ideate): mode-aware v2 ideation (#588)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 11:40:54 -07:00
Trevin Chow 59dbaef376 feat(ce-release-notes): add skill for browsing plugin release history (#589)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-17 02:00:37 -07:00
Trevin Chow e7cf0ae957 feat(proof, ce-brainstorm, ce-plan, ce-ideate): HITL review-loop mode (#580)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-16 23:14:33 -07:00
github-actions[bot] d8af513a0a chore: release main (#584)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
cli-v2.67.0 compound-engineering-v2.67.0
2026-04-16 22:59:10 -07:00
Trevin Chow f6465c8d94 chore: pin next release to 2.67.0 (#585) 2026-04-16 22:52:28 -07:00
Trevin Chow c89f18a115 fix(ce-pr-description): hand off PR body via temp file (#581)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-16 22:47:49 -07:00
Trevin Chow 729fa191b6 chore: undo accidental breaking marker on #578 (#583) 2026-04-16 22:43:15 -07:00
Trevin Chow 4ccadcfd3f fix(resolve-pr-feedback): unblock /loop scheduling (#582) 2026-04-16 22:28:52 -07:00
Trevin Chow 1995e3d790 chore(claude-permissions-optimizer)!: remove skill (#578) 2026-04-16 16:46:29 -07:00
Kieran Klaassen 070092d997 feat(ce-polish-beta): human-in-the-loop polish phase between /ce:review and merge (#568)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-16 17:55:10 -05:00
Trevin Chow 3d96c0f074 fix(ce-plan, ce-brainstorm): reliable interactive handoff menus (#575) 2026-04-16 12:04:19 -07:00
github-actions[bot] ee86dc3379 chore: release main (#570)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
cli-v2.66.1 compound-engineering-v2.66.1
2026-04-15 17:42:59 -07:00
Trevin Chow 0b3d4b283c fix(ce-compound, ce-compound-refresh): use injected memory block (#569)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 17:41:51 -07:00
github-actions[bot] d18e28eb57 chore: release main (#549)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
cli-v2.66.0 compound-engineering-v2.66.0
2026-04-15 14:16:07 -07:00
Trevin Chow 5cae4d1dab fix(ce-work,ce-work-beta): add safety checks for parallel subagent dispatch (#557)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 14:10:08 -07:00
alexph-dev ed778e62f1 fix(converters): preserve Codex config on no-MCP install (#564) 2026-04-15 10:06:42 -07:00
alexph-dev ee8e402897 fix(converters): preserve Codex agent sidecar scripts (#563) 2026-04-15 10:06:26 -07:00
Trevin Chow d8305dd159 fix(ce-update): use correct marketplace name in cache path (#566) 2026-04-15 10:04:55 -07:00
Trevin Chow 8ec6d339fe feat(ce-pr-description): focused skill for PR description generation (#561) 2026-04-14 21:41:05 -07:00
Trevin Chow a55990387d fix(git-commit-push-pr): rewrite descriptions as net result, not changelog (#558)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 23:22:47 -07:00
Trevin Chow e4d5f241bd fix(ce-plan): close escape hatches that let the skill abandon direct invocations (#554)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 21:27:05 -07:00