Skip to content

Commit 14634e1

Browse files
chore(justfile): delete aspirational augment/check-octad/migrate recipes (#69)
Closes #11. The recipes wrapped clap subcommands that do not exist. Per V-L3-C2 Option A (recommended), drop them from the Justfile and record the decision in docs/decisions/0002-no-aspirational-justfile-recipes.adoc. Existing CLI subcommands (init/generate/start/drift/provenance/history/ status/octad) keep their recipes. New subcommands earn theirs only once the code lands. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 212a6a5 commit 14634e1

2 files changed

Lines changed: 53 additions & 4 deletions

File tree

Justfile

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,6 @@ install:
5050
assail:
5151
@command -v panic-attack >/dev/null 2>&1 && panic-attack assail . || echo "panic-attack not found — install from https://github.com/hyperpolymath/panic-attacker"
5252

53-
# --- Domain-Specific Recipes (verisimiser) ---
54-
55-
# 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}}
56-
5753
# Run contractile checks
5854
contractile-check:
5955
@echo "Running contractile validation..."
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
= Architecture Decision Record: 0002-no-aspirational-justfile-recipes
2+
<!-- SPDX-License-Identifier: PMPL-1.0-or-later -->
3+
<!-- Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk> -->
4+
5+
# 2. Keep the Justfile honest — no recipes for unbuilt CLI subcommands
6+
7+
Date: 2026-05-14
8+
9+
## Status
10+
11+
Accepted
12+
13+
## Context
14+
15+
The Justfile had recipes — `augment`, `check-octad`, `migrate` — wrapping
16+
`cargo run -- <subcmd> …` calls for clap subcommands that do not exist in
17+
`src/main.rs`. The clap CLI exposes only `init / generate / start / drift /
18+
provenance / history / status / octad`. Anyone invoking `just augment` would
19+
hit a clap "unrecognized subcommand" error.
20+
21+
This is the "wishlist as code" anti-pattern: the build automation advertises
22+
capabilities the program does not have. Readers cannot tell which recipes
23+
work, contributors waste time discovering broken paths, and future grep-driven
24+
refactors get false positives.
25+
26+
## Decision
27+
28+
Adopt **Option A** from V-L3-C2: delete the aspirational recipes from the
29+
Justfile. New CLI subcommands earn their Justfile recipe only after they
30+
exist and have a stable signature.
31+
32+
If the capabilities are wanted (and at least `augment` looks plausible
33+
given the project's framing), the path forward is to open a per-subcommand
34+
issue with a proposed clap signature, build it, then add the Justfile
35+
recipe in the same PR. The Justfile is not the place to track intent —
36+
the issue tracker is.
37+
38+
## Consequences
39+
40+
### Positive
41+
42+
- `just <recipe>` is reliable: every recipe runs against real code.
43+
- `just --list` becomes an honest inventory of what the project can do.
44+
- Removes one source of grep noise during refactors.
45+
46+
### Negative
47+
48+
- The intent that the aspirational recipes encoded is now only in the
49+
issue tracker; if it loses follow-up there, the wish disappears entirely.
50+
51+
### Neutral
52+
53+
- The recipes were already broken; nothing that worked before stops working.

0 commit comments

Comments
 (0)