Skip to content

Add hone stage, SPDD pipeline completion, and example artifact trail - #16

Merged
forkrul merged 3 commits into
masterfrom
claude/dazzling-galileo-lk16v3
Sep 9, 2026
Merged

forkrul merged 3 commits into
masterfrom
claude/dazzling-galileo-lk16v3

Conversation

@forkrul

@forkrul forkrul commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Summary

This PR completes the SPDD pipeline by adding the hone stage (adversarial code review between quench and merge), restructures agent guidance to enforce the test-freeze contract, and includes a complete example artifact trail showing one feature's journey through all five stages.

Key Changes

Pipeline Completion

  • New stage: hone (skills/hone/SKILL.md) — local adversarial review with three critic lenses (conformance, security, simplicity), mandatory active procedures, ≤400-line review units, A++ rating requires two consecutive zero-blocking rounds, max 3 rounds total
  • Updated all stage skills and README to reflect the complete five-stage flow: forge → anvil → temper → quench → hone → merge
  • Added hone to the stage skill list in install.sh and CI validation

Agent Guidance Hardening

  • fastapi-implementer.md: Replaced 700+ lines of prescriptive best-practices templates with a concise Test Freeze section and minimal Workflow (6 steps: confirm AMBER, read tests, drive AMBER→GREEN, refactor at GREEN, verify stable-green, pass hardening gates). Removed project structure, router/schema/endpoint templates — implementers now read the tests to understand requirements
  • tdd-test-generator.md: Condensed best-practices sections into Pytest Conventions (one-paragraph layout, names, structure, fixtures, markers, isolation, mocking, test data). Replaced 300+ lines of detailed examples with three focused patterns: fixture, FR-marked test (AAA), parametrized test, async test. Clarified RED-AMBER-GREEN phases and the test-freeze contract
  • playwright-e2e-tester.md: Restructured to emphasize Contract with Quench (location, scope, red-amber-green for Playwright, amber freeze, both browsers, stable-green). Removed 400+ lines of project structure and selector priority tables; kept configuration template and one spec example. Clarified that specs are written only for tasks in tasks.md, not speculatively

Example Artifact Trail

  • Added examples/cart-discounts/ — a complete, real-run feature (cart discount codes: percentage/fixed codes, expiry, single-use per customer, Safeguard property test) with all pipeline artifacts:
    • .prd/001_cart-discount-codes.md — REASONS Canvas PRD (forge output)
    • specs/001-cart-discount-codes/spec.md — 3 user stories, 5 FRs, acceptance scenarios (anvil output)
    • specs/001-cart-discount-codes/plan.md — REASONS Canvas implementation plan (anvil output)
    • specs/001-cart-discount-codes/tasks.md — 6 tasks with file paths, FR traceability, gates (anvil output)
    • specs/001-cart-discount-codes/quench-log.md — BDD scenarios, test counts, failure messages, gate results (quench output)
    • specs/001-cart-discount-codes/code-review.md — 3 rounds of adversarial review, blocking/nit counts, judge verdicts (hone output)
    • specs/001-cart-discount-codes/review.md — spec-level adversarial review (temper output)
    • specs/001-cart-discount-codes/smithy-log.md — pipeline orchestration log (smithy output)
  • Added examples/README.md explaining the trail and layout
  • All timestamps, diff sizes, test counts, and gate results are from an actual run — no templates, no placeholders

CI & Release

  • Updated .github/workflows/ci.yml to validate all skills, aliases, agents, and KEEP superpowers from install.sh (sourced, not executed, so renames on disk and in script must agree)
  • Added .github/workflows/release.yml — publishes GitHub Releases from semver tags, extracting changelog section verbatim
  • Updated .github/dependabot.yml and .github/ISSUE_TEMPLATE/bug_report.md to

https://claude.ai/code/session_01HhCxRx3NtQvWL2nYu2GuYD

…d example

Release readiness
- Collapse CHANGELOG into a single [0.1.0] section; add a tag-triggered
  Release workflow that publishes the GitHub Release from that section
- Pin vendor/spec-kit to the v1.0.5 tag; README vendored-submodules table now
  names the real pins (superpowers v6.3.0, spec-kit v1.0.5)
- CI fails unless each submodule pointer sits on an upstream tag named in the
  README, and unless every upstream superpowers skill is KEEP in install.sh or
  a DENY row in the README; Dependabot head-commit bumps fail by design

install.sh
- Exit non-zero when any link could not be placed (non-damascus path in the
  way, or a target that no longer exists); link() refuses missing targets
- Pure-bash relative-path computation replaces realpath --relative-to, so
  stock macOS no longer gets absolute symlinks that break on a fresh clone
- Sourcing guard so CI reads the name arrays from the script instead of
  duplicating them; smoke test covers relative links, DENY skills, and the
  skipped-link exit code

Skill contracts
- Move using-superpowers and subagent-driven-development to DENY: both route
  into already-DENY skills (brainstorming, requesting-code-review)
- anvil: portable DAMASCUS path lookup (no readlink -f)
- quench: dispatch table states the shipped agents' Python/FastAPI shape and
  how another stack binds to the same contract
- smithy: effort frontmatter; every state-machine row decidable from disk
  (quench-log green per task, FINISH line in smithy-log.md)
- Trim tdd-test-generator, fastapi-implementer and playwright-e2e-tester to
  their contracts plus one example per concept (2035 -> 624 lines)

Docs
- examples/cart-discounts: one feature's full artifact trail through all
  five gates, checked for completeness in CI; README "which stage do I start
  at?" table; requirements name the agents' stack; bug template lists hone;
  CLAUDE.md bump policy and release ritual updated

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HhCxRx3NtQvWL2nYu2GuYD
@forkrul
forkrul merged commit 20d91bf into master Sep 9, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants