compound-agent 2.3.0 → 2.4.1

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.
Files changed (2) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -7,6 +7,37 @@ 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.4.1] - 2026-03-26
13
+
14
+ ### Fixed
15
+
16
+ - **Platform binary version mismatch**: `package.json` optionalDependencies pointed `@syottos/*` packages at `2.3.0` while the main package was `2.4.0`. Users installing `compound-agent@2.4.0` got v2.3.0 Go binaries, silently missing `build-great-things` and `qa-engineer` skills, updated `architect` references (advisory fleet, improve loop), and updated `review` skill (QA engineer integration). Added `TestPlatformVersionSync` CI test and documented the version sync requirement in CONTRIBUTING.md and CLAUDE.md to prevent recurrence.
17
+
18
+ ## [2.4.0] - 2026-03-26
19
+
20
+ ### Added
21
+
22
+ - **Build Great Things skill**: New `skills/build-great-things/` ships a comprehensive design and development playbook via `ca init`. Covers both software design philosophy (Ousterhout's complexity management, deep modules, information hiding) and the full build sequence for user-facing products across 6 phases (Foundation → Structure → Craft → Motion → Performance → Launch) with separate website and webapp tracks. Includes mandatory quality checklist, 12 anti-patterns for common AI laziness, and routing table for task-specific guidance. 12 reference files provide phase-specific design principles and research pointers.
23
+ - **Design research library**: 50 new research documents shipped under `docs/compound/research/` covering web design (typography, color theory, IA, interaction design, accessibility, responsive design), frontend craft (CSS/WebGL, motion design, award-winning site anatomy), financial report design (dashboards, data visualization, tables), design styles (Swiss International, brutalist, editorial, luxury, academic, synthwave), B2C product strategy (JTBD, positioning, conversion, behavioral psychology, growth loops), and software design philosophy (Ousterhout). All indexed in `research/index.md` with skill/agent targeting.
24
+ - **Architect design skill detection**: Architect skill Phase 1 now auto-detects systems where design quality matters and Phase 2 adds an advisory note recommending `/compound:build-great-things` for applicable epics.
25
+ - **Research docs shipping**: `ca init` now installs `docs/compound/research/` (42 files across 9 topic directories) to consumer repos via `go:embed`. Restores research delivery that was lost during the Go migration -- ~25 template files (agent-role-skills, phase skills, commands) reference these docs for domain knowledge (security, TDD, property testing, code review, etc.).
26
+ - **Research drift tests**: `TestTemplateDrift_ResearchSourceMatchesEmbed` verifies source and embedded research trees stay in sync. `TestTemplateDrift_ResearchReferencesResolve` validates all `docs/compound/research/` path references in templates point to files that actually exist.
27
+ - **Nested reference directories**: `//go:embed` patterns changed from explicit file globs to directory-level embedding (`skills`, `agent-role-skills`), enabling skills to ship structured reference subdirectories. The install/prune pipeline already supported nesting — only the embed pattern was blocking.
28
+ - **Architect infinity-loop reference restructure**: Replaced the 734-line monolith `infinity-loop.md` with 7 concern-based files in `references/infinity-loop/`: README.md (symptom→file router), pre-flight.md, memory-safety.md, epic-ordering.md, logging.md, review-fleet.md, troubleshooting.md. Includes 4 new failure modes from overnight run post-mortem analysis.
29
+ - **Architect advisory fleet**: New `references/advisory-fleet.md` adds a multi-model advisory phase before Gate 2 (post-Spec). Spawns up to 4 external model CLIs (claude-sonnet, gemini, codex, claude-opus) in parallel via background Bash calls, each evaluating the spec through a different lens (security/reliability, scalability/performance, organizational/delivery, simplicity/alternatives). All CLI invocation patterns live-tested against actual CLIs. Advisory only — informs the human's decision at the gate but cannot veto. Gracefully degrades when CLIs are unavailable.
30
+ - **QA Engineer skill**: New `skills/qa-engineer/` ships hands-on browser-based QA testing via `ca init`. Decision-tree routing (Web UI / HTTP API / CLI skip), reconnaissance-first methodology (networkidle → screenshot → DOM → console → network capture before acting), 6 test strategies (smoke, exploratory break-things, visual review, accessibility, form/input boundary, network inspection), and structured P0-P3 reporting. Three reference docs: `exploratory-testing.md` (systematic boundary/state/auth/fuzzing playbook), `browser-automation.md` (Playwright patterns, server lifecycle, viewport testing, axe-core integration), `constitution-schema.md` (optional persistent test definitions per page). Design informed by deep analysis of Anthropic's webapp-testing, lackeyjb/playwright-skill, and hemangjoshi37a/claude-code-frontend-dev. Integrated into review SKILL.md as optional step 8 for visual/UI changes and referenced in infinity-loop review-fleet.md.
31
+
32
+ ### Fixed
33
+
34
+ - **Phantom runtime-verification references**: 4 template files referenced `docs/research/q-and-a/runtime-verification.md` which never existed. Redirected to `docs/compound/research/scenario-testing/`.
35
+ - **Research index.md accuracy**: Fixed source path (was `docs/research/`, now `docs/compound/research/`). Added managed-directory warning so users know `docs/compound/research/` is fully managed by `ca init` and user research belongs in `docs/research/`.
36
+ - **Loop generator: `log()` stdout corruption** (P0): `log()` now writes to stderr (`>&2`). Previously, `log()` wrote to stdout, causing skip messages from `check_deps_closed()` to corrupt epic IDs when captured via `EPIC_ID=$(get_next_epic)`. This single bug caused 5 cascading failures in a 6-hour overnight run.
37
+ - **Loop generator: Claude reviewers silent** (P1): Added `--dangerously-skip-permissions` to Claude reviewer invocations (both `--session-id` cycle 1 and `--resume` cycle 2+). Without it, reviewers couldn't use tools in non-interactive mode, producing 1-byte output files.
38
+ - **Loop generator: Codex reviewer broken** (P1): Fixed Codex invocation — `-p` is `--profile` (not prompt), prompt is a positional arg. Changed to `codex exec --full-auto -o "$report" -- - < "$prompt_file"` for stdin input and clean output capture. Stdout redirect (`>`) captured UI chrome; `-o` captures only the assistant's response.
39
+ - **Loop generator: dry-run contamination** (P2): Guarded `COMPLETED` increment, `log_result`, periodic review trigger, git dirty check, summary JSONL write, `write_status`, and `git push` with `LOOP_DRY_RUN` checks. Previously, dry-run wrote ghost entries to the execution log.
40
+
10
41
  ## [2.3.0] - 2026-03-25
11
42
 
12
43
  ### Added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "compound-agent",
3
- "version": "2.3.0",
3
+ "version": "2.4.1",
4
4
  "type": "module",
5
5
  "description": "Learning system for Claude Code — avoids repeating mistakes across sessions",
6
6
  "bin": {
@@ -50,10 +50,10 @@
50
50
  "knowledge-management"
51
51
  ],
52
52
  "optionalDependencies": {
53
- "@syottos/darwin-arm64": "2.3.0",
54
- "@syottos/darwin-x64": "2.3.0",
55
- "@syottos/linux-arm64": "2.3.0",
56
- "@syottos/linux-x64": "2.3.0"
53
+ "@syottos/darwin-arm64": "2.4.1",
54
+ "@syottos/darwin-x64": "2.4.1",
55
+ "@syottos/linux-arm64": "2.4.1",
56
+ "@syottos/linux-x64": "2.4.1"
57
57
  },
58
58
  "author": "Nathan Delacrétaz",
59
59
  "license": "MIT",