Skip to content
Merged
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
6 changes: 5 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,11 @@ jobs:
set -euo pipefail
EXCLUDE=(':!CHANGELOG.md' ':!.github/workflows/ci.yml')
if git grep -nI -e 'claude-opus-4-7' -- "${EXCLUDE[@]}"; then
echo 'FAIL: claude-opus-4-7 found outside CHANGELOG.md (pin is claude-fable-5)' >&2
echo 'FAIL: claude-opus-4-7 found outside CHANGELOG.md (pin is claude-opus-4-8)' >&2
exit 1
fi
if git grep -nI -e 'claude-fable-5' -- "${EXCLUDE[@]}"; then
echo 'FAIL: claude-fable-5 found outside CHANGELOG.md (Fable access is blocked — pin is claude-opus-4-8)' >&2
exit 1
fi
if git grep -nIP -e '(?<!TESTCONTAINERS_)RYUK_DISABLED' -- "${EXCLUDE[@]}"; then
Expand Down
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,37 @@

All notable changes to superflow will be documented in this file.

## [5.6.0] - 2026-06-30

### Changed — Fable access blocked → Opus everywhere
- **Deep judgment roles moved `fable` → `opus`**: `deep-spec-reviewer`, `deep-code-reviewer`, `deep-product-reviewer`, and `deep-analyst` frontmatter now pins `model: opus` (effort stays `max`). Fable access is blocked, so every judgment role runs on Opus; depth is differentiated by *effort* (deep = max, standard = high), not by model. Implementers stay on Sonnet (deep/standard/fast = max/high/low) — Sonnet was deliberately NOT pushed into review/judgment roles.
- **Model-profile selection removed**: Phase 1 Step 2c no longer asks `frontier`/`balanced` (both collapsed to Opus). `context.model_profile` is dropped from the state schema, the Autonomy Charter frontmatter, the pre-execution plan recap, and all dispatch docs. Step 2c is now a fixed "Model Policy" note.
- **Secondary-model pin**: every Claude secondary invocation `claude --model claude-fable-5` → `claude --model claude-opus-4-8` across SKILL.md, codex/AGENTS.md, codex dispatch patterns, and the codex phase overlays. PAR `provider` strings `claude-fable-5|split-focus` → `claude-opus-4-8|split-focus`. CHANGELOG history entries intentionally untouched.
- **Stale "inherits Fable" warnings corrected**: a forgotten `model:` now inherits the orchestrator's session model (Opus); the warning text in `superflow-enforcement.md`, `references/phase2/overview.md`, and `references/phase2/steps/impl-dispatch.md` reflects this.

### Fixed — Reviewer context wiring (spec/plan/charter reach the reviewers)
- **Code reviewer context slots added**: `agents/deep-code-reviewer.md`, `agents/standard-code-reviewer.md`, and the `prompts/code-quality-reviewer.md` mirror gained `<spec_or_plan>` and `<autonomy_charter>` context slots — the Plan-completeness (#11) and Charter-compliance (#12) checks previously had instructions but no structured input.
- **Product reviewer context slots added**: the three product-reviewer copies gained `<product_brief>` and `<autonomy_charter>` slots (alongside the existing `<original_spec>`), feeding the Product Brief validation (#6) and Charter compliance (#5) checks.
- **`/superflow-review` workflow passes context**: new optional `spec_path`, `plan_path`, `brief_path` args wired into both the product and technical reviewer prompts (superflow-review.js, 143 → 158 lines); missing inputs are flagged as unverifiable rather than passing silently. The technical lens now receives the plan too — a diff alone cannot reveal a stub.
- **Dispatch contract made explicit**: `references/phase2/steps/review-unified.md` now states both reviewers receive SPEC/plan + Charter + Brief + diff (pasted verbatim into the dispatch prompt); the codex overlay technical dispatches pass plan + charter for the plan-completeness and charter-compliance checks.

## [5.5.0] - 2026-06-11

### Added — Hybrid Workflow Acceleration (opt-in)
- **`references/workflow-orchestration.md`** (202 lines): single authority on Workflow-tool usage inside Superflow — documented facts only (JS script orchestrating subagents in the background, Claude Code ≥ 2.1.154, intermediate results live in script variables, not orchestrator context), opt-in policy with the verbatim plan-approval wording, permission gates table (default: every run; Auto: first launch only; bypass/`-p`/SDK: never) with the Auto-mode recommendation for Phase 2, limits (16 concurrent / 1,000 total / no mid-run input / no script fs-shell access), saved-workflow locations and `/name` invocation, full specs of both saved workflows, the UNDOCUMENTED-API warning, the `/goal` watchdog section, and the Codex/fallback chain. Step files point here instead of re-explaining
- **Two saved workflow scripts** in `workflows/`, deployed via checksum sync to `~/.claude/workflows/` at startup (SKILL.md step 4, Claude runtime only, `mkdir -p ~/.claude/workflows`) — invocable as `/superflow-review` and `/superflow-wave` in any project:
- `workflows/superflow-review.js` (143 lines): unified review fan-out — parallel product reviewer (follows `standard-product-reviewer.md` + charter) and technical reviewer (applies the codex-exec-or-Claude fallback chain itself via Bash); returns `{product, technical, pass}` where `pass` requires both verdicts in APPROVE/ACCEPTED/PASS
- `workflows/superflow-wave.js` (96 lines): implementation-only wave (v5.4.0 parallel-wave dispatch rule: implementation-only fan-out; orchestrator runs review/docs/PAR/ship per sprint) — one implementer agent per sprint, worktree-isolated, no review/docs/PAR/PR; returns position-bound `[{sprint, status: "done"|"failed", summary, test_evidence}]`; the orchestrator still runs review → docs → PAR → ship per sprint afterwards
- Both: documented API surface only (`agent`, `parallel`, `phase`, `log`, `args`), `export const meta`, LAST-fenced-json extraction via regex + `JSON.parse` in try/catch, FAIL CLOSED on any parse failure or null result (REQUEST_CHANGES / `status: "failed"`), no clock or randomness calls (orchestrator stamps timestamps)
- **`context.use_workflows` opt-in**: Phase 1 Step 12 plan-approval summary states the workflows opt-in verbatim (incl. the permission-prompt heads-up and the "no-workflows" objection path); the decision is recorded post-approval in `.superflow-state.json` (`context.use_workflows`, boolean, default true; always false on Codex runtime) and in the Autonomy Charter YAML beside `model_profile`. State schema extended accordingly. The recorded opt-in is what justifies the orchestrator invoking saved workflows in Phase 2
- **`/goal` watchdog suggestion**: at Phase 2 launch the orchestrator PRINTS a ready-to-paste `/goal Superflow Phase 2 complete: all <N> sprints implemented, unified-reviewed, PRs created and CI-green, Completion Report delivered.` template (`references/phase2/overview.md` § Phase 2 Launch). `/goal` is user-only — the model cannot set it; the evaluator (Haiku, prompt-based Stop hook) judges only the transcript; one goal per session, survives `--resume`, cleared with `/goal clear`; subagents do NOT inherit goals — charter injection remains the per-sprint alignment mechanism
- **`workflow-review` provider**: `.par-evidence.json` provider enum extended to `codex|code-review-skill|split-focus|workflow-review` (enforcement Rule 3 step 7, `par-evidence.md`); workflow returns arrive pre-extracted — skip `extract_verdict` and assemble evidence from `{product, technical, pass}` directly

### Notes
- **Hybrid, not a rewrite**: the markdown DAG and Agent-based dispatch remain the default path. Workflows accelerate exactly two Phase 2 spots — unified review fan-out (`review-unified.md`) and parallel implementation waves (`impl-dispatch.md`) — both presented as PREFERRED-WHEN-AVAILABLE with explicit fallback to the v5.4.0 Agent flow (no behavior change)
- **Codex runtime unaffected**: no Workflow tool, no `/goal` — Codex ignores `context.use_workflows` and keeps the spawn_agent paths (new Critical Codex Difference #6 in `references/codex/phase2-execution.md`)
- **Documented-API-only scripts**: shipped workflow scripts never use undocumented fields (`schema`, `agentType`, `isolation`, `resume-run-id` — observed in some builds, absent from official docs); structured data returns ONLY via the v5.4.0 fenced-JSON verdict contract with fail-closed parsing

## [5.4.0] - 2026-06-11

### Fixed — Critical
Expand Down
Loading
Loading