@ai-dossier/cli 0.9.0 → 0.10.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.
package/README.md CHANGED
@@ -311,6 +311,254 @@ ai-dossier skill-export my-skill --version 2.0.0 --changelog "Add range support"
311
311
 
312
312
  ---
313
313
 
314
+ ## Runstate — workflow milestones
315
+
316
+ Issue-workflow dossiers (`imboard-ai/git/full-cycle-issue` and friends) record their
317
+ progress by appending a `<!-- runstate:v1 -->` comment to the GitHub issue after every
318
+ phase. That trail is the only run state that survives a session: it is what lets a later
319
+ run resume mid-workflow instead of starting over.
320
+
321
+ Until now the milestone was a markdown heredoc that each agent reproduced by hand, and
322
+ agents silently got it wrong — skipping milestones entirely, or pasting `$(date …)` into
323
+ the comment verbatim. `ai-dossier runstate` makes it a command: the timestamp is filled
324
+ in for you, and phase/status/required keys are validated *before* anything is posted.
325
+
326
+ ```bash
327
+ # Mint the run id once, at the gate phase
328
+ ai-dossier runstate mint --issue 440 # -> r-440-ab56
329
+
330
+ # Post a milestone at the end of each phase
331
+ ai-dossier runstate post --issue 440 \
332
+ --phase setup --status done --run r-440-ab56 \
333
+ --kv branch=feature/440-runstate \
334
+ --kv worktree=/repo/worktrees/feature-440-runstate \
335
+ --kv pool_claimed=false \
336
+ --kv base_branch=main
337
+
338
+ # Read the last milestone back
339
+ ai-dossier runstate last --issue 440 --json
340
+
341
+ # Ask where a run should resume from
342
+ ai-dossier runstate verify --issue 440
343
+ ```
344
+
345
+ ### Subcommands
346
+
347
+ | Command | What it does | Writes? |
348
+ |---|---|---|
349
+ | `post` | Validates and posts one milestone comment via `gh issue comment` | yes |
350
+ | `last` | Prints the most recent milestone on the issue, parsed | no |
351
+ | `verify` | Runs the gate's resume verification and prints `resume_from` + `resume_context` | no |
352
+ | `mint` | Prints a fresh run id (`r-<issue>-<hex>`) | no |
353
+
354
+ `last` and `verify` are strictly read-only — they only run `gh issue view`, `gh pr view`,
355
+ `git ls-remote`/`rev-parse`, and `stat`, so they work fine without push access to the
356
+ repository.
357
+
358
+ Every subcommand takes `--issue <n>` (a positive integer — the number only, not a URL or
359
+ a `#`-prefixed string). `post`, `last`, and `verify` additionally take `--repo
360
+ <owner/name>` (a bare slug, not a URL; defaults to the repository `gh` resolves for the
361
+ current directory) and `--json`. `mint` takes `--issue` and nothing else.
362
+
363
+ `last` prints the milestone's own `key=value` lines, so the output is already in the
364
+ shape a shell or a dossier reads:
365
+
366
+ ```
367
+ $ ai-dossier runstate last --issue 440
368
+ phase=setup
369
+ status=done
370
+ run=r-440-ab56
371
+ at=2026-08-24T07:59:32Z
372
+ branch=feature/440-runstate
373
+ worktree=/repo/worktrees/feature-440-runstate
374
+ pool_claimed=false
375
+ base_branch=main
376
+ next=plan
377
+ ```
378
+
379
+ With `--json` the same keys come back as one flat object; an issue with no milestones
380
+ prints `No runstate milestones on issue #440.` (or `null` under `--json`) and exits 0.
381
+
382
+ ### `post`
383
+
384
+ | Flag | Meaning |
385
+ |---|---|
386
+ | `--issue <n>` | Issue to comment on (required) |
387
+ | `--phase <p>` | `gate`, `setup`, `plan`, `implement`, `review`, `ship`, `report` (required) |
388
+ | `--status <s>` | `done`, `partial`, `blocked`, `awaiting-merge` (required) |
389
+ | `--run <id>` | Run id minted at the gate phase (required) |
390
+ | `--kv <key=value...>` | Phase-specific key, repeatable (and variadic: `--kv a=1 b=2` works too) |
391
+ | `--next <phase>` | Override the computed `next=` line — a phase name or `done` |
392
+ | `--repo <owner/name>` | Target repository (defaults to the current one) |
393
+ | `--dry-run` | Print the comment body instead of posting it |
394
+ | `--json` | Machine-readable output |
395
+
396
+ Validation failures print one actionable message per problem on stderr and exit 1
397
+ **without posting**:
398
+
399
+ ```
400
+ $ ai-dossier runstate post --issue 440 --phase setup --status done --run r-440-ab56 --kv branch=x
401
+ ❌ Phase 'setup' with status 'done' requires worktree= pool_claimed= base_branch= — add with --kv worktree=<value> --kv pool_claimed=<value> --kv base_branch=<value>
402
+ ```
403
+
404
+ A valid `--dry-run` prints the exact body that would be posted:
405
+
406
+ ```
407
+ $ ai-dossier runstate post --issue 440 --phase setup --status done --run r-440-ab56 \
408
+ --kv branch=feature/440-runstate --kv worktree=/repo/worktrees/feature-440-runstate \
409
+ --kv pool_claimed=false --kv base_branch=main --dry-run
410
+ <!-- runstate:v1 -->
411
+ phase=setup status=done run=r-440-ab56 at=2026-08-24T07:59:32Z
412
+ branch=feature/440-runstate
413
+ worktree=/repo/worktrees/feature-440-runstate
414
+ pool_claimed=false
415
+ base_branch=main
416
+ next=plan
417
+ ```
418
+
419
+ Without `--dry-run` a successful post prints `✅ setup done → <comment url>`; `--json`
420
+ returns `{ "posted": true, "url": …, "body": … }` (and `{ "posted": false, "dryRun":
421
+ true, "body": … }` under `--dry-run`). See [When `gh` or `git`
422
+ fails](#when-gh-or-git-fails) for what a failed post prints.
423
+
424
+ ### Phases, statuses, and required keys
425
+
426
+ This table is the executable copy of the "Runstate Milestones" table in
427
+ `imboard-ai/git/full-cycle-issue@3.8.0`:
428
+
429
+ | Phase | Statuses | Required keys |
430
+ |---|---|---|
431
+ | `gate` | `done`, `blocked` | `base_branch` `warnings` |
432
+ | `setup` | `done`, `blocked` | `branch` `worktree` `pool_claimed` `base_branch` |
433
+ | `plan` | `done`, `blocked` | `planning` `head` `open_questions` `visual_review` |
434
+ | `implement` | `done`, `blocked` | `head` `files` `tests_added` `tests_run` `ci_parity` |
435
+ | `review` | `done`, `partial`, `blocked` | `head` `fixed` `escalated` `agents_done` `agents_pending` |
436
+ | `ship` (1st, before the CI wait) | `awaiting-merge` | `pr` `head` `ci_fix_attempts` |
437
+ | `ship` (2nd, after merge + teardown) | `done`, `blocked` | `pr` `merge_commit` `ci_fix_attempts` `cleanup` |
438
+ | `report` | `done` | `pr` `traps_added` |
439
+
440
+ The `Statuses` column is a closed set: a status not listed for a phase is rejected, so
441
+ `report` cannot be `blocked` and only `ship` may be `awaiting-merge`. Any phase that
442
+ *can* report `status=blocked` must also carry `reason=<short-slug>` when it does.
443
+
444
+ `next=` is computed for you: the linear order `gate → setup → plan → implement → review →
445
+ ship → report → done`, except that `blocked` ends the run (`next=done`) and the two
446
+ non-terminal statuses stay in their own phase — `ship`/`awaiting-merge` is followed by a
447
+ second `ship` milestone, and a `partial` review still has agents to run. Use `--next` to
448
+ override.
449
+
450
+ ### Key and value rules
451
+
452
+ Every `--kv` pair is checked before anything is posted:
453
+
454
+ - Keys are `lower_snake_case` (`^[a-z][a-z0-9_]*$`) and may appear at most once.
455
+ - No empty values — omit the key instead.
456
+ - No `$` in values. This is the check that catches an unexpanded `$(date …)` before it
457
+ reaches the issue.
458
+ - One line per value. A newline would split into extra `key=` lines that readers parse as
459
+ real state, so it is rejected for **every** key, including `ac*` ones — collapse it
460
+ (`,` or ` / `) instead.
461
+ - No spaces in values (use `-` or `,`). Only `ac*` keys — `ac`, `ac1`, `ac_results` — are
462
+ exempt, because acceptance-criterion lines are prose. (The newline rule above still
463
+ applies to them.)
464
+ - A value is at most 4000 characters and the whole comment at most 60000 (GitHub rejects
465
+ a longer issue comment with an opaque 422). A milestone is an index, not a report:
466
+ replace a long value with a count or a path to the full text.
467
+ - `worktree=` and `planning=` must be absolute paths, so a resume from a different
468
+ working directory can still find them.
469
+ - `--next` must be a phase name or `done`. It is written to the comment verbatim, so an
470
+ unchecked typo would point the next resume at a phase that does not exist.
471
+ - Comments are append-only: never edit or delete a prior milestone.
472
+
473
+ ### When `gh` or `git` fails
474
+
475
+ Every subcommand exits **1** on failure with the cause *and its fix* on stderr, so a
476
+ calling dossier can branch on the exit code and an agent knows what to do next. The three
477
+ causes that look identical from the outside are reported as three different things:
478
+
479
+ ```
480
+ $ ai-dossier runstate last --issue 440
481
+ ❌ Could not read issue #440: gh is not authenticated.
482
+ Fix: run 'gh auth login', confirm with 'gh auth status', then re-run.
483
+ gh said: To get started with GitHub CLI, please run: gh auth login
484
+ ```
485
+
486
+ | Cause | What you get |
487
+ |---|---|
488
+ | `gh` not on PATH | "'gh' is not installed, or is not on PATH" + the install link |
489
+ | Not logged in | "gh is not authenticated" + `gh auth login` |
490
+ | Issue/PR does not exist | "GitHub could not find it in …" + a nudge to check `--repo` |
491
+ | No permission (403) | "the authenticated account lacks access to …" + `gh auth status` |
492
+ | github.com unreachable | "gh could not reach GitHub" + retry guidance |
493
+ | Anything else | the exit status, and "run the same gh command by hand" |
494
+
495
+ `gh`'s own stderr is **always** echoed on a `gh said:` line, including for causes the CLI
496
+ cannot classify — nothing is swallowed. `gh` exiting 0 with output that is not JSON, or
497
+ with JSON that has no `comments` array, is also a hard failure rather than a silent "no
498
+ milestones": the two must never look alike, because reading a fresh run out of a broken
499
+ response makes a resume start over and throw away finished work.
500
+
501
+ When `post` cannot reach GitHub, it prints the exact `gh issue comment …` command to run
502
+ by hand. The milestone is the only durable record of the phase, so re-running the phase
503
+ costs far more than retrying the comment.
504
+
505
+ ### `verify`
506
+
507
+ `verify` implements `imboard-ai/git/gate-issue`'s resume table. It never trusts the
508
+ comment alone — each claim is checked against reality (is the branch still on the remote,
509
+ does the worktree still exist, does the planning file exist, has HEAD moved, what is the
510
+ PR's state) before it reports where to resume:
511
+
512
+ ```
513
+ $ ai-dossier runstate verify --issue 440
514
+ resume_from=implement
515
+ run_id=r-440-ab56
516
+ verified=branch,worktree,planning
517
+ resume_context={"branch":"feature/440-runstate","worktree":"/repo/worktrees/feature-440-runstate",...}
518
+ ```
519
+
520
+ `resume_from` is a phase name, or one of:
521
+
522
+ | Value | Meaning |
523
+ |---|---|
524
+ | `none` | No milestones on the issue — a fresh run |
525
+ | `ship-wait` | The PR is open and mergeable; re-enter `ship` at the CI wait |
526
+ | `ship-teardown` | The PR is already merged; re-enter `ship` at post-merge cleanup |
527
+ | `done` | The `report` milestone is posted and the issue is closed (`note=already complete`) |
528
+
529
+ A failed check sends the resume *backwards*, never forwards: if the branch is gone from
530
+ the remote or the worktree no longer exists, a `plan`/`implement`/`review` milestone
531
+ still yields `resume_from=setup`. A milestone with `status=blocked` resumes at its own
532
+ phase.
533
+
534
+ `resume_context` is merged across the run's milestones (later ones winning), so a resume
535
+ at `plan` still sees `branch`/`worktree` from the `setup` milestone. (The dossier's own
536
+ table carries only the last milestone's keys; merging is what makes a mid-run resume
537
+ self-sufficient.) If the last three milestones are all `blocked` on the same phase,
538
+ `verify` adds `hard_block=resume-loop` — the run is looping and needs a human.
539
+
540
+ When a check cannot run at all — `git`/`gh` is missing or the remote is unreachable, or
541
+ the milestone's `branch=`/`worktree=`/`pr=` value is not one `verify` will hand to a
542
+ subprocess — that check degrades to "not verified" and `verify` warns instead of failing.
543
+ It still exits 0, because a conservative `resume_from` is the safe direction (redo a phase
544
+ rather than skip one), but the reader needs to know the answer is conservative *because a
545
+ check could not run*. Warnings go to stderr so stdout stays parseable:
546
+
547
+ ```
548
+ ⚠️ verify could not check everything: could not reach 'origin' to confirm branch 'feature/440-runstate' (git exited 128: fatal: 'origin' does not appear to be a git repository) — treating it as missing
549
+ ```
550
+
551
+ Anyone who can comment on the issue can post a `<!-- runstate:v1 -->` body, so the values
552
+ `verify` reads back are untrusted input. Nothing is run through a shell, and a value that
553
+ would be read as a flag (leading `-`) or that is not the absolute path the protocol
554
+ requires is refused rather than passed to `git`/`gh` — it becomes one of the warnings
555
+ above.
556
+
557
+ `--json` returns the same fields as an object (`resume_from`, `run_id`, `verified`,
558
+ `resume_context`, plus `hard_block`, `note`, and `warnings` when they apply).
559
+
560
+ ---
561
+
314
562
  ## Cache and Version Resolution
315
563
 
316
564
  The CLI maintains a local cache at `~/.dossier/cache/`:
@@ -523,6 +771,35 @@ Project registries are merged with user registries. User-configured registries t
523
771
  - ❌ Invalid → Signature failed → **BLOCK**
524
772
  - ⚠️ No signature → Unsigned (warn for high-risk)
525
773
 
774
+ #### Managing trusted keys
775
+
776
+ Trust is a local decision: a valid signature from a key you have not added is
777
+ reported as untrusted, never auto-trusted. Keys live in `~/.dossier/trusted-keys.txt`,
778
+ one `<public-key> <identifier>` per line.
779
+
780
+ ```bash
781
+ ai-dossier keys generate --name my-key # new Ed25519 pair in ~/.dossier/
782
+ ai-dossier keys list # what is trusted right now
783
+ ai-dossier keys add <public-key> <identifier>
784
+ ```
785
+
786
+ `keys add` accepts a raw 44-char base64 key, an SPKI PEM block, or a legacy
787
+ minisign `RWT...` key, and stores the **canonical raw base64** form regardless —
788
+ so a key added in one encoding still matches a signature carrying another.
789
+ Anything it cannot interpret (a typo, a truncated key, a path to a `.pub` file)
790
+ is rejected outright rather than written and silently never matching.
791
+
792
+ > **Passing a PEM needs `--`.** A PEM begins with `-`, which the option parser
793
+ > reads as a flag:
794
+ > ```bash
795
+ > ai-dossier keys add -- "$(cat ~/.dossier/my-key.pub)" "my-key"
796
+ > ```
797
+ > `ai-dossier verify <dossier>` sidesteps this entirely — it prints a
798
+ > ready-to-run `keys add` command with the key already in base64 form.
799
+
800
+ If `keys list` warns about unusable entries, those keys are **not** trusted; the
801
+ warning names the line to fix.
802
+
526
803
  ### 3. Risk Assessment
527
804
 
528
805
  **Analyzes**:
package/dist/cli.js CHANGED
@@ -32,6 +32,7 @@ const pull_1 = require("./commands/pull");
32
32
  const remove_1 = require("./commands/remove");
33
33
  const reset_hooks_1 = require("./commands/reset-hooks");
34
34
  const run_1 = require("./commands/run");
35
+ const runstate_1 = require("./commands/runstate");
35
36
  const search_1 = require("./commands/search");
36
37
  const sign_1 = require("./commands/sign");
37
38
  const skill_export_1 = require("./commands/skill-export");
@@ -95,6 +96,7 @@ Agent-friendly: Run \`ai-dossier --agent\` for machine-readable capabilities.`);
95
96
  (0, history_1.registerHistoryCommand)(commander_1.program);
96
97
  (0, doctor_1.registerDoctorCommand)(commander_1.program);
97
98
  (0, traces_1.registerTracesCommand)(commander_1.program);
99
+ (0, runstate_1.registerRunstateCommand)(commander_1.program);
98
100
  // Hidden
99
101
  (0, prompt_hook_1.registerPromptHookCommand)(commander_1.program);
100
102
  (0, reset_hooks_1.registerResetHooksCommand)(commander_1.program);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"install-skill.d.ts","sourceRoot":"","sources":["../../src/commands/install-skill.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,OAAO,EACL,oBAAoB,EAOrB,MAAM,kBAAkB,CAAC;AAM1B,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyQlE;AAGD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"install-skill.d.ts","sourceRoot":"","sources":["../../src/commands/install-skill.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,OAAO,EACL,oBAAoB,EAOrB,MAAM,kBAAkB,CAAC;AAQ1B,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyRlE;AAGD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -14,6 +14,8 @@ const multi_registry_1 = require("../multi-registry");
14
14
  const opencode_sync_1 = require("../opencode-sync");
15
15
  Object.defineProperty(exports, "isDossierFrontmatter", { enumerable: true, get: function () { return opencode_sync_1.isDossierFrontmatter; } });
16
16
  const registry_client_1 = require("../registry-client");
17
+ const skill_collision_1 = require("../skill-collision");
18
+ const skill_frontmatter_1 = require("../skill-frontmatter");
17
19
  /** Valid values for --for. Anything else is rejected up front. */
18
20
  const VALID_TARGETS = new Set(['claude', 'opencode', 'both']);
19
21
  function registerInstallSkillCommand(program) {
@@ -100,10 +102,17 @@ function registerInstallSkillCommand(program) {
100
102
  const skillName = dossierName.split('/').pop() ?? dossierName;
101
103
  const skillDir = node_path_1.default.join(skillsDir, skillName);
102
104
  const skillFile = node_path_1.default.join(skillDir, 'SKILL.md');
103
- if (!options.force && node_fs_1.default.existsSync(skillFile)) {
104
- console.error(`\n❌ Skill '${skillName}' already installed at ${skillDir}`);
105
- console.error(' Use --force to overwrite\n');
106
- process.exit(1);
105
+ // Reinstalling or upgrading the SAME dossier is the common case and should not
106
+ // need --force; requiring it there taught everyone to pass --force reflexively,
107
+ // which is precisely what made the dangerous case dangerous. A DIFFERENT dossier
108
+ // occupying the directory (two registry paths sharing a basename) still stops,
109
+ // and now says which one it is instead of just "already installed".
110
+ if (node_fs_1.default.existsSync(skillFile)) {
111
+ const collision = (0, skill_collision_1.checkSkillCollision)(skillFile, dossierName);
112
+ if (collision.collides && !options.force) {
113
+ console.error((0, skill_collision_1.collisionMessage)(skillName, collision.existingSource, dossierName, skillFile));
114
+ process.exit(1);
115
+ }
107
116
  }
108
117
  try {
109
118
  let resolvedVersion = version;
@@ -140,7 +149,9 @@ function registerInstallSkillCommand(program) {
140
149
  // future flows (e.g. opencode-only refreshes via sync-skills) can opt out.
141
150
  if (targets.writeClaude) {
142
151
  node_fs_1.default.mkdirSync(skillDir, { recursive: true });
143
- node_fs_1.default.writeFileSync(skillFile, content, 'utf8');
152
+ // Emit YAML frontmatter so the runtime can read `name`/`description`.
153
+ // The signed payload is unchanged — see skill-frontmatter.ts.
154
+ node_fs_1.default.writeFileSync(skillFile, (0, skill_frontmatter_1.toSkillFrontmatter)(content, dossierName), 'utf8');
144
155
  }
145
156
  // Dual-write the opencode wrapper when requested. YAML-native sources are
146
157
  // skipped because opencode reads them directly from ~/.claude/skills/.
@@ -1 +1 @@
1
- {"version":3,"file":"install-skill.js","sourceRoot":"","sources":["../../src/commands/install-skill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-skill.js","sourceRoot":"","sources":["../../src/commands/install-skill.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/commands/keys.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6L1D"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/commands/keys.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2Q1D"}