create-cmp-cli 0.14.0 → 0.15.0

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 (39) hide show
  1. package/README.md +51 -353
  2. package/bin/create-cmp.mjs +19 -3
  3. package/llms.txt +3 -3
  4. package/options.schema.json +4 -0
  5. package/package.json +2 -2
  6. package/packages/harness/package.json +11 -3
  7. package/packages/harness/src/lib/harness-lock.mjs +2 -2
  8. package/packages/harness/src/lib/inputs-hash.mjs +1 -1
  9. package/packages/harness/src/lib/receipt-validate.mjs +1 -1
  10. package/packages/harness/src/receipt-check.mjs +1 -1
  11. package/packages/harness/src/verify.mjs +15 -1
  12. package/packages/receipts/package.json +11 -3
  13. package/packages/receipts/src/index.mjs +1 -1
  14. package/packages/receipts/src/inputs-hash.mjs +1 -1
  15. package/packages/receipts/src/receipt-validate.mjs +1 -1
  16. package/src/commands/attach.mjs +250 -0
  17. package/src/commands/create.mjs +13 -2
  18. package/src/commands/harden.mjs +263 -0
  19. package/src/commands/upgrade.mjs +20 -2
  20. package/src/lib/adr-seed.mjs +27 -0
  21. package/src/lib/harness-upgrade.mjs +40 -5
  22. package/src/lib/hooks.mjs +140 -0
  23. package/src/lib/minimal.mjs +130 -0
  24. package/src/lib/toggle.mjs +4 -1
  25. package/src/lib/verify.mjs +6 -1
  26. package/src/scaffold.mjs +18 -1
  27. package/template/.github/workflows/verify.yml +15 -0
  28. package/template/AGENTS.md +57 -8
  29. package/template/CLAUDE.md +49 -0
  30. package/template/CONTRIBUTING.md +13 -0
  31. package/template/README.md +33 -0
  32. package/template/docs/ARCHITECTURE.md +18 -1
  33. package/template/docs/TESTING.md +10 -0
  34. package/template/manifest.json +13 -0
  35. package/template/qa/lib/harness-lock.mjs +2 -2
  36. package/template/qa/lib/inputs-hash.mjs +1 -1
  37. package/template/qa/lib/receipt-validate.mjs +1 -1
  38. package/template/qa/receipt-check.mjs +1 -1
  39. package/template/qa/verify.mjs +15 -1
@@ -93,6 +93,14 @@ Flags:
93
93
  with --profile ci (or release) it runs
94
94
  inside the lane and lands on the receipt.
95
95
  Never combinable with --fast
96
+ --no-journal skip the qa/flight-recorder.jsonl append.
97
+ qa/watch.mjs passes this on every
98
+ save-triggered run: journalling each save
99
+ would add hundreds of committed lines a day
100
+ and leave a permanently dirty tree inside
101
+ the loop the recorder exists to observe. The
102
+ gap is disclosed in the retrospective's own
103
+ output
96
104
  --json print the receipt as JSON instead of the
97
105
  human-readable step-by-step log
98
106
  --help, -h print this usage and exit 0 without
@@ -116,7 +124,13 @@ if (rawArgs.includes("--help") || rawArgs.includes("-h")) {
116
124
  process.exit(0);
117
125
  }
118
126
 
119
- const RECOGNIZED_FLAGS = new Set(["--profile", "--json", "--fast", "--determinism"]);
127
+ // Every flag this file CONSUMES must be listed here, or the strict check below
128
+ // rejects it. `--no-journal` was consumed but unlisted in 0.13.0, which meant
129
+ // qa/watch.mjs — whose spawn passes exactly these flags — exited 2 on every
130
+ // save without ever running the lane. test/verify-flags.test.mjs now pins
131
+ // consumed ⊆ recognized and watch's spawn ⊆ recognized so the class cannot
132
+ // recur.
133
+ const RECOGNIZED_FLAGS = new Set(["--profile", "--json", "--fast", "--determinism", "--no-journal"]);
120
134
  for (let i = 0; i < rawArgs.length; i += 1) {
121
135
  const arg = rawArgs[i];
122
136
  if (arg === "--profile") {