compound-agent 2.7.0 → 2.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -0
- package/README.md +1 -1
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,45 @@ All notable changes to this project will be documented in this file.
|
|
|
7
7
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
8
8
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
9
9
|
|
|
10
|
+
## [Unreleased]
|
|
11
|
+
|
|
12
|
+
## [2.7.2] - 2026-04-16
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- **`ca uninstall` command**: reverses `ca init` / `ca setup` in three tiers. Default removes managed Claude Code hooks from `.claude/settings.json`. `--templates` additionally removes the `compound/` template directories (`.claude/agents/compound/`, `.claude/commands/compound/`, `.claude/skills/compound/`, `docs/compound/`) and `.claude/plugin.json`. `--all` additionally removes `.compound-agent/` runtime state and strips managed marker blocks from `AGENTS.md`, `.claude/CLAUDE.md`, root `.gitignore`, and `.claude/.gitignore`. `.claude/lessons/` and `.claude/compound-agent.json` are ALWAYS preserved. Requires `--yes` to skip interactive confirmation.
|
|
17
|
+
- **Install profiles (`ca setup --profile <minimal|workflow|full>`)**: `minimal` installs only lesson-capture plumbing (lessons dir, AGENTS.md integration, plugin.json, and 3 hooks — SessionStart/PreCompact prime + UserPromptSubmit reminder) — no commands, no phase skills, no agent role skills, no docs. `workflow` adds the 5-phase cook-it workflow (all commands, phase skills, agent role skills, doc templates, all phase/failure hooks) but skips the `docs/compound/research/` tree. `full` (default, backward-compatible) installs everything. `--confirm-prune` is required when a lower profile would delete existing templates on disk.
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- **Default model bumped to Opus 4.7**: All default model references updated from `claude-opus-4-6[1m]` to `claude-opus-4-7[1m]`. Affects `ca loop --model`, `ca loop --review-model`, `ca polish --model`, `ca improve --model`, the `claude-opus` reviewer selector in the generated review/polish scripts, and the Simplicity lens in the architect advisory fleet. Template skills (`loop-launcher/SKILL.md`, `architect/references/infinity-loop/README.md`, `architect/references/infinity-loop/troubleshooting.md`, `architect/references/polish-loop/README.md`, `architect/references/advisory-fleet.md`) and shipped docs (`CLI_REFERENCE.md`) updated to match. The Windows PowerShell reference template `$MODEL` default also updated.
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- **Concrete fallback quality-gate commands**: when the project stack cannot be detected, the fallback strings substituted for `{{QUALITY_GATE_TEST}}`, `{{QUALITY_GATE_LINT}}`, and `{{QUALITY_GATE_BUILD}}` are now shell commands that exit non-zero with a `[compound-agent]`-tagged diagnostic on stderr, e.g. `sh -c 'echo "[compound-agent] test command not configured..." >&2; exit 1'`. Previously the fallbacks were English prose ("detect and run the project's test suite") that, when rendered into SKILL.md as shell commands, broke sh parsing on the apostrophe and produced a confusing error rather than a clear failure. Agents now see a visible failure with actionable configuration guidance.
|
|
26
|
+
- **`hasTransitionEvidence` robustness**: replaced hardcoded `5` with `len(Phases)` so the cook-it final-phase branch tracks the phase list automatically. No behavioral change today (architect at index 6 correctly falls through); regression tests (`TestHasTransitionEvidence_OutOfRangeReturnsFalse`, `TestHasTransitionEvidence_FinalPhaseAlwaysTrue`) pin the contract so a future `Phases` shrink can't introduce a panic.
|
|
27
|
+
- **Empty hook arrays in `settings.json`**: `AddHooksForProfile` and `RemoveAllHooks` both drop empty `"PreToolUse": []` style entries at the end of their run (previously created eagerly by `upgradeNpxHooks` calling `getHookArray` for every known hook type). Cosmetic only; no behavioral change for in-profile hooks.
|
|
28
|
+
- **`removeIfPresent` (formerly `removeIfExists`) semantics**: rewrote to suppress `os.ErrNotExist` internally and return `(existed bool, err error)`. `uninstallTemplates` now propagates real I/O errors (permission denied, read-only FS) when removing `.claude/plugin.json` instead of silently reporting success. Previously a permission error on plugin.json would make `ca uninstall --templates` report success without removing the file — flagged by the second-pass reviewer as a blocking issue. Regression tests `TestRemoveIfPresent_RealIOErrorSurfaces` and `TestUninstallTemplates_PropagatesRealIOError` pin the contract.
|
|
29
|
+
- **`polish-loop.sh` dry-run leaked state** (#17, #16): `POLISH_DRY_RUN=1` now fully skips the post-loop commit/push block AND writes a distinct `"status":"dry-run-completed"` to `.polish-status.json` instead of overwriting it with `"status":"completed"`. Previously a dry run still mutated git *and* produced a status file indistinguishable from a real run, defeating the preflight contract and misleading any monitoring tool that polled the status file. Regression test `TestPolishCommand_PostLoopRespectsDryRun` pins the guard structure so this can't silently come back.
|
|
30
|
+
|
|
31
|
+
## [2.7.1] - 2026-04-10
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
|
|
35
|
+
- **Surface alignment reviewer**: New agent-role-skill that verifies cross-layer connectivity (frontend↔backend↔database↔API). Checks regenerate-and-diff compliance, architecture test presence, database testing fidelity, schema evolution safety, and auth surface coverage. Spawned for medium and large diffs during review phase.
|
|
36
|
+
- **P16 "Surfaces stay connected"**: New principle in the agentic audit/setup manifesto (Pillar II). Scores projects on cross-layer integration testing maturity (0-2). Updated overall scoring from 30→32.
|
|
37
|
+
- **5 deep research documents** shipped with the library: architecture tests (ArchUnit survey), regenerate-and-diff patterns, database testing patterns, test infrastructure as code, and protobuf schema evolution. Mapped to specific reviewer agents for calibrated reviews.
|
|
38
|
+
- **Research-calibrated review fleet**: Review skill now includes surface-alignment-reviewer in medium+ tier (9 reviewers), with calibration query for surface alignment lessons. Lesson-calibration references updated with all 5 research doc mappings.
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
|
|
42
|
+
- **build-great-things**: Added "System coherence is craft" as third design philosophy foundation. New structural coherence section in mandatory quality checklist (6 items). Added laziness pattern #13 "Disconnected layers".
|
|
43
|
+
- **Existing reviewers enhanced**: drift-detector, test-coverage-reviewer, and architecture-reviewer now reference relevant research documents. test-coverage-reviewer distinguishes integration from unit tests and flags SQLite substitution.
|
|
44
|
+
|
|
45
|
+
### Fixed
|
|
46
|
+
|
|
47
|
+
- **Dependencies**: `modernc.org/sqlite` 1.48.0→1.48.1 (fixes memory leaks and double-free in multi-statement queries), `libc` 0.2.183→0.2.184 (patch bump of transitive Rust dependency).
|
|
48
|
+
|
|
10
49
|
## [2.7.0] - 2026-04-09
|
|
11
50
|
|
|
12
51
|
### Changed
|
package/README.md
CHANGED
|
@@ -310,7 +310,7 @@ The CLI binary is `ca` (alias: `compound-agent`).
|
|
|
310
310
|
| `ca loop --review-every <n>` | Review every N completed epics (0 = end-only, default: 0) |
|
|
311
311
|
| `ca loop --max-review-cycles <n>` | Max review/fix iterations (default: 3) |
|
|
312
312
|
| `ca loop --review-blocking` | Fail loop if review not approved after max cycles |
|
|
313
|
-
| `ca loop --review-model <model>` | Model for implementer fix sessions (default: claude-opus-4-
|
|
313
|
+
| `ca loop --review-model <model>` | Model for implementer fix sessions (default: claude-opus-4-7[1m]) |
|
|
314
314
|
| `ca improve` | Generate improvement loop script from `improve/*.md` programs |
|
|
315
315
|
| `ca improve --topics <names...>` | Run only specific topics |
|
|
316
316
|
| `ca improve --max-iters <n>` | Max iterations per topic (default: 5) |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "compound-agent",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Learning system for Claude Code — avoids repeating mistakes across sessions",
|
|
6
6
|
"bin": {
|
|
@@ -51,12 +51,12 @@
|
|
|
51
51
|
"knowledge-management"
|
|
52
52
|
],
|
|
53
53
|
"optionalDependencies": {
|
|
54
|
-
"@syottos/darwin-arm64": "2.7.
|
|
55
|
-
"@syottos/darwin-x64": "2.7.
|
|
56
|
-
"@syottos/linux-arm64": "2.7.
|
|
57
|
-
"@syottos/linux-x64": "2.7.
|
|
58
|
-
"@syottos/win32-x64": "2.7.
|
|
59
|
-
"@syottos/win32-arm64": "2.7.
|
|
54
|
+
"@syottos/darwin-arm64": "2.7.2",
|
|
55
|
+
"@syottos/darwin-x64": "2.7.2",
|
|
56
|
+
"@syottos/linux-arm64": "2.7.2",
|
|
57
|
+
"@syottos/linux-x64": "2.7.2",
|
|
58
|
+
"@syottos/win32-x64": "2.7.2",
|
|
59
|
+
"@syottos/win32-arm64": "2.7.2"
|
|
60
60
|
},
|
|
61
61
|
"author": "Nathan Delacrétaz",
|
|
62
62
|
"license": "MIT",
|