done-done-axi 0.6.9 → 0.6.10

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.
package/README.md CHANGED
@@ -37,6 +37,8 @@ You need **[Node 22.18+](https://nodejs.org) and git**, plus your own signed-in
37
37
  2. **Set up your repo.** `init` asks you, in a terminal, which coding agent drives your app and which judge checks it. done-done never picks either for you. It then writes a minimal `.done-done.yaml` and a verify skill: how to launch and drive your app. Outside a terminal, pass `--agent <agent> --model <model> --judge <agent> --judge-model <model>` instead.
38
38
  3. **Get your first result.** Say what works now, in plain words. `verify` has your agent drive the real product the way a user does and save screenshots or output. A fresh judge checks whether each capture shows your claim. A pass names the capture and writes a receipt for this commit. Anything else stops at a gate with the judge's reason, and `done-done respond` answers it. No judge pass, no receipt.
39
39
 
40
+ `done-done --version` prints the bare version first; help headers show it too, and suffixed versions are labelled `pre-release`.
41
+
40
42
  Optional setup check: `done-done doctor --probe` requires a real answer from your chosen agent; it checks setup, not whether your app works.
41
43
 
42
44
  For a signed-in Claude Code setup, pass `--agent claude --model claude-haiku-5-5 --judge claude --judge-model claude-haiku-5-5` to `init`. For Codex, use `--agent codex --model gpt-6.1-sol` with that same judge. Codex readers and probes require a CLI with `exec --ignore-user-config` and `debug models --bundled`: they keep your login, but disable MCP, project instructions and model-provided tools; edit/drive steps keep your normal Codex config. Codex is not a judge route.
@@ -196,7 +198,7 @@ Every answer is an exit code: **0** pass, **1** fail, **2** usage or config erro
196
198
 
197
199
  done-done works on its own: the CLI and the skill need nothing else. It is one of three tools that each do one job and connect through small written contracts ([Vision](VISION.md)):
198
200
 
199
- - [`sign-off-axi`](https://www.npmjs.com/package/sign-off-axi): the board where agents ask you questions. `done-done signoff` writes a run's gate (when the judge was unsure) or its evidence in sign-off's message format and prints the post command; it never posts on its own. With the opt-in (`done-done signoff --post`, or `signoff.post: true` in `.done-done.yaml`) it posts that message to the board through sign-off-axi, records the card on the run, and `done-done signoff --wait` brings the answer back to the same run. Without sign-off you answer at the terminal with `done-done respond`.
201
+ - [`sign-off-axi`](https://www.npmjs.com/package/sign-off-axi): the board where agents ask you questions. `done-done signoff` prepares a run's gate (when the judge was unsure) or evidence in sign-off's message format and prints the post command. done-done itself does not publish to a board; sign-off-axi posts the card. With the opt-in (`done-done signoff --post`, or `signoff.post: true` in `.done-done.yaml`), done-done hands the run to sign-off-axi, which posts the message and returns a card that done-done records. `done-done signoff --wait` brings the answer back to the same run. Without sign-off you answer at the terminal with `done-done respond`.
200
202
  - [`learn-from-mistakes-axi`](https://www.npmjs.com/package/learn-from-mistakes-axi): the retro tool that finds mistakes your agents keep repeating, with evidence. Neither tool needs the other.
201
203
  - [`first-draft-axi`](https://www.npmjs.com/package/first-draft-axi): turns a prompt into design mocks. Pass a mock to `done-done design <screen> --mock <screen>=<mock>` to judge a captured screen next to it.
202
204
 
package/dist/cli.js CHANGED
@@ -25,6 +25,8 @@ import { mapChange } from './affected.js';
25
25
  import { codeOnly, codeOnlyJourneys, configFault, MARK, namedJourney, releaseArtifacts, RULE, runsFault, STEPS_FILE, STEPS_SHAPE, stepRecordFault, stepsFault } from './proof.js';
26
26
  const PASS = 0, FAIL = 1, USAGE = 2, INCONCLUSIVE = 3, WAITING = 4;
27
27
  const VERSION = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')).version;
28
+ const PRE_RELEASE = /^[^+]*-/.test(VERSION);
29
+ const HELP_HEADER = `done-done ${VERSION}${PRE_RELEASE ? ' (pre-release)' : ''}`;
28
30
  // The shape of a journey, so a new user or agent can write one without opening the reference.
29
31
  // done-done sets DONE_DONE_EVIDENCE_ROOT (the run's own folder) and replaces ${RUN_ID}, so the example works for any evidence root.
30
32
  const journeyExample = 'journeys: { smoke: { command: "<drive the core user journey on the real app> > $DONE_DONE_EVIDENCE_ROOT/${RUN_ID}.log", core: true } }';
@@ -342,9 +344,10 @@ each prints the files it changed and runs the journey once as a dirty-tree trial
342
344
  },
343
345
  };
344
346
  const rows = (pairs, width = Math.max(...pairs.map(([a]) => a.length)) + 3) => pairs.map(([a, b]) => ` ${a}${' '.repeat(Math.max(3, width - a.length))}${b}`).join('\n');
345
- const GLOBAL_TEXT = `global flags: --json (JSON instead of TOON), --full (do not truncate lists), --help (this command's usage), --version (done-done's version)
347
+ const GLOBAL_TEXT = `global flags: --json (JSON instead of TOON), --full (do not truncate lists), --help (this command's usage), --version (bare version first; pre-release label on the next line when suffixed)
346
348
  exit codes: 0 pass, 1 fail, 2 usage or config error, 3 inconclusive, 4 the run is still running or a verify run waits at its gate (verify, maintain, rerun, status, respond)`;
347
- const USAGE_TEXT = `install: npm install -g --prefix ~/.local done-done-axi (installs done-done-axi and done-done), or run npx -y done-done-axi <command>
349
+ const USAGE_TEXT = `${HELP_HEADER}
350
+ install: npm install -g --prefix ~/.local done-done-axi (installs done-done-axi and done-done), or run npx -y done-done-axi <command>
348
351
  usage:
349
352
  ${rows([['done-done', "show this repo's config state and the next step"], ...Object.values(COMMANDS).flatMap((c) => c.usage)], 46)}
350
353
  ${GLOBAL_TEXT}
@@ -365,7 +368,7 @@ Run \`done-done <command> --help\` for that command's flags.`;
365
368
  function commandHelp(cmd) {
366
369
  const c = COMMANDS[cmd];
367
370
  const flags = c.flags.length ? rows(c.flags.map((f) => [f, FLAGS[f]])) : ' none';
368
- return [`usage:\n${rows(c.usage)}`, `flags:\n${flags}`, ...c.more, GLOBAL_TEXT].join('\n');
371
+ return [HELP_HEADER, `usage:\n${rows(c.usage)}`, `flags:\n${flags}`, ...c.more, GLOBAL_TEXT].join('\n');
369
372
  }
370
373
  // How many list rows a compact result shows before it reports the rest as omitted.
371
374
  const COMPACT_LIST = 5;
@@ -2772,7 +2775,7 @@ async function cmdSignoff(argv) {
2772
2775
  writeFileSync(file, `${JSON.stringify(msg, null, 2)}\n`);
2773
2776
  const at = citable(repo, file);
2774
2777
  if (!posts) {
2775
- emit({ command: 'signoff', run_id: id, kind: msg.kind, file: at, help: [`Post it to the sign-off board (done-done never posts): npx -y sign-off-axi post --kind ${msg.kind} --from ${arg(at)}`] });
2778
+ emit({ command: 'signoff', run_id: id, kind: msg.kind, file: at, help: [`Post it to the sign-off board with sign-off-axi (done-done prepares the run; sign-off-axi posts): npx -y sign-off-axi post --kind ${msg.kind} --from ${arg(at)}`] });
2776
2779
  return PASS;
2777
2780
  }
2778
2781
  // Post it through the board's own CLI and record the card it made, so the claim traces to the run and its card.
@@ -4525,7 +4528,7 @@ async function main(argv) {
4525
4528
  return PASS;
4526
4529
  }
4527
4530
  if (cmd === '--version') {
4528
- console.log(VERSION);
4531
+ console.log(VERSION + (PRE_RELEASE ? '\npre-release' : ''));
4529
4532
  return PASS;
4530
4533
  }
4531
4534
  if (cmd === '--help' || cmd === '-h' || cmd === 'help') {
package/docs/releasing.md CHANGED
@@ -1,5 +1,5 @@
1
- # 0.6.9 patch release
1
+ # 0.6.10 patch release
2
2
 
3
- This release treats readable one-line ellipses as deliberate when at least 3 words or 20 characters remain visible, and checks each cited image on its own so swapped images cannot support a false claim.
3
+ This release shows the running version in CLI help headers, labels prereleases without changing the bare `--version` line, and clarifies the signoff posting hint.
4
4
 
5
- Do not publish an unmerged candidate. The existing `release` workflow on main tests and publishes an unpublished package version using npm trusted publishing. After merge, confirm `npm view done-done-axi@0.6.9 version dist.integrity` and smoke-test a clean `npx` install with `done-done --version`. Do not run `npm publish` manually unless the workflow fails and the release is blocked; if so, stop and report.
5
+ Do not publish an unmerged candidate. The existing `release` workflow on main tests and publishes an unpublished package version using npm trusted publishing. After merge, confirm `npm view done-done-axi@0.6.10 version dist.integrity` and smoke-test a clean `npx` install with `done-done --version`. Do not run `npm publish` manually unless the workflow fails and the release is blocked; if so, stop and report.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "done-done-axi",
3
- "version": "0.6.9",
3
+ "version": "0.6.10",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Proof that the real product works before a task is called done: commit-bound evidence runs and evidence checks.",
6
6
  "type": "module",
@@ -27,6 +27,7 @@ First run `command -v done-done`. If it prints a path, run `done-done` as shown
27
27
  - `done-done` (no arguments, inside the repo) for this repo's proof setup and the next step
28
28
  - `done-done --help` for every command and flag, the journey format and the exact `## Checks` block
29
29
  - `done-done <command> --help` for one command's usage and flags
30
+ - `done-done --version` prints the bare version first; help headers show it too, and suffixed versions are labelled `pre-release`.
30
31
 
31
32
  Results are TOON: read `result` and follow the `help` lines through
32
33
  `init`, `doctor`, `run`, `verify`, `check` and `receipt`. `design` judges captured screens for visual defects,