diff --git a/Justfile b/Justfile index 465036a..0a832ab 100644 --- a/Justfile +++ b/Justfile @@ -50,10 +50,6 @@ install: assail: @command -v panic-attack >/dev/null 2>&1 && panic-attack assail . || echo "panic-attack not found — install from https://github.com/hyperpolymath/panic-attacker" -# --- Domain-Specific Recipes (verisimiser) --- - -# Augment a database with VeriSimDB octad\naugment DB_URL:\n cargo run -- augment {{DB_URL}}\n\n# Check octad layer completeness\ncheck-octad DB_URL:\n cargo run -- check-octad {{DB_URL}}\n\n# Generate migration scripts\nmigrate DB_URL:\n cargo run -- migrate {{DB_URL}} - # Run contractile checks contractile-check: @echo "Running contractile validation..." diff --git a/docs/decisions/0002-no-aspirational-justfile-recipes.adoc b/docs/decisions/0002-no-aspirational-justfile-recipes.adoc new file mode 100644 index 0000000..dbf156f --- /dev/null +++ b/docs/decisions/0002-no-aspirational-justfile-recipes.adoc @@ -0,0 +1,53 @@ += Architecture Decision Record: 0002-no-aspirational-justfile-recipes + + + +# 2. Keep the Justfile honest — no recipes for unbuilt CLI subcommands + +Date: 2026-05-14 + +## Status + +Accepted + +## Context + +The Justfile had recipes — `augment`, `check-octad`, `migrate` — wrapping +`cargo run -- …` calls for clap subcommands that do not exist in +`src/main.rs`. The clap CLI exposes only `init / generate / start / drift / +provenance / history / status / octad`. Anyone invoking `just augment` would +hit a clap "unrecognized subcommand" error. + +This is the "wishlist as code" anti-pattern: the build automation advertises +capabilities the program does not have. Readers cannot tell which recipes +work, contributors waste time discovering broken paths, and future grep-driven +refactors get false positives. + +## Decision + +Adopt **Option A** from V-L3-C2: delete the aspirational recipes from the +Justfile. New CLI subcommands earn their Justfile recipe only after they +exist and have a stable signature. + +If the capabilities are wanted (and at least `augment` looks plausible +given the project's framing), the path forward is to open a per-subcommand +issue with a proposed clap signature, build it, then add the Justfile +recipe in the same PR. The Justfile is not the place to track intent — +the issue tracker is. + +## Consequences + +### Positive + +- `just ` is reliable: every recipe runs against real code. +- `just --list` becomes an honest inventory of what the project can do. +- Removes one source of grep noise during refactors. + +### Negative + +- The intent that the aspirational recipes encoded is now only in the + issue tracker; if it loses follow-up there, the wish disappears entirely. + +### Neutral + +- The recipes were already broken; nothing that worked before stops working.