@milehimikey/em 1.10.0 → 1.12.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 (134) hide show
  1. package/.claude/skills/event-modeling/SKILL.md +1 -1
  2. package/.claude/skills/event-modeling-conform/SKILL.md +5 -1
  3. package/.claude/skills/event-modeling-design/SKILL.md +41 -14
  4. package/.claude/skills/event-modeling-discover/SKILL.md +1 -1
  5. package/.claude/skills/event-modeling-implement/SKILL.md +24 -7
  6. package/.claude/skills/event-modeling-implement/reference/implement.md +227 -19
  7. package/.claude/skills/event-modeling-review/SKILL.md +14 -3
  8. package/.claude/skills/event-modeling-shared/reference/em-dsl.md +80 -15
  9. package/.claude/skills/event-modeling-shared/reference/slice-doc-schema.md +43 -1
  10. package/.claude/skills/event-modeling-shared/templates/constitution.md +118 -0
  11. package/.claude/skills/event-modeling-shared/templates/model-readme.md +2 -2
  12. package/.claude/skills/event-modeling-shared/templates/slice.md +4 -0
  13. package/dist/catalog/build.js +42 -1
  14. package/dist/catalog/build.js.map +1 -1
  15. package/dist/catalog/coverage.d.ts +15 -0
  16. package/dist/catalog/coverage.js +34 -0
  17. package/dist/catalog/coverage.js.map +1 -0
  18. package/dist/catalog/docJoin.d.ts +19 -2
  19. package/dist/catalog/docJoin.js +30 -4
  20. package/dist/catalog/docJoin.js.map +1 -1
  21. package/dist/catalog/docModelConsistencyValidate.js +1 -1
  22. package/dist/catalog/docModelConsistencyValidate.js.map +1 -1
  23. package/dist/catalog/noteBindingValidate.js +18 -0
  24. package/dist/catalog/noteBindingValidate.js.map +1 -1
  25. package/dist/catalog/orphanedSliceDocValidate.d.ts +8 -1
  26. package/dist/catalog/orphanedSliceDocValidate.js +33 -6
  27. package/dist/catalog/orphanedSliceDocValidate.js.map +1 -1
  28. package/dist/catalog/pages.d.ts +16 -1
  29. package/dist/catalog/pages.js +16 -4
  30. package/dist/catalog/pages.js.map +1 -1
  31. package/dist/catalog/sliceDoc.d.ts +8 -0
  32. package/dist/catalog/sliceDoc.js +2 -0
  33. package/dist/catalog/sliceDoc.js.map +1 -1
  34. package/dist/catalog/sliceReadyValidate.d.ts +12 -1
  35. package/dist/catalog/sliceReadyValidate.js +4 -4
  36. package/dist/catalog/sliceReadyValidate.js.map +1 -1
  37. package/dist/cli/agentsMd.js +9 -3
  38. package/dist/cli/agentsMd.js.map +1 -1
  39. package/dist/cli/ciInit.js +3 -0
  40. package/dist/cli/ciInit.js.map +1 -1
  41. package/dist/cli/conformScope.js +10 -3
  42. package/dist/cli/conformScope.js.map +1 -1
  43. package/dist/cli/coverage.d.ts +34 -9
  44. package/dist/cli/coverage.js +61 -24
  45. package/dist/cli/coverage.js.map +1 -1
  46. package/dist/cli/ledgerCheck.d.ts +72 -0
  47. package/dist/cli/ledgerCheck.js +122 -1
  48. package/dist/cli/ledgerCheck.js.map +1 -1
  49. package/dist/cli/markImplemented.js +12 -1
  50. package/dist/cli/markImplemented.js.map +1 -1
  51. package/dist/cli/ratify.d.ts +37 -5
  52. package/dist/cli/ratify.js +123 -10
  53. package/dist/cli/ratify.js.map +1 -1
  54. package/dist/cli/reratify.js +26 -6
  55. package/dist/cli/reratify.js.map +1 -1
  56. package/dist/cli/review.d.ts +38 -0
  57. package/dist/cli/review.js +171 -0
  58. package/dist/cli/review.js.map +1 -0
  59. package/dist/cli/sliceIndex.d.ts +3 -0
  60. package/dist/cli/sliceIndex.js +14 -8
  61. package/dist/cli/sliceIndex.js.map +1 -1
  62. package/dist/cli/sliceLink.js +16 -0
  63. package/dist/cli/sliceLink.js.map +1 -1
  64. package/dist/cli/stateFile.d.ts +10 -0
  65. package/dist/cli/stateFile.js +14 -0
  66. package/dist/cli/stateFile.js.map +1 -1
  67. package/dist/cli/status.d.ts +55 -3
  68. package/dist/cli/status.js +92 -19
  69. package/dist/cli/status.js.map +1 -1
  70. package/dist/cli.js +203 -47
  71. package/dist/cli.js.map +1 -1
  72. package/dist/emit/coverageJson.d.ts +2 -2
  73. package/dist/emit/coverageJson.js +6 -2
  74. package/dist/emit/coverageJson.js.map +1 -1
  75. package/dist/emit/freshnessJson.d.ts +1 -1
  76. package/dist/emit/freshnessJson.js +5 -1
  77. package/dist/emit/freshnessJson.js.map +1 -1
  78. package/dist/emit/json.d.ts +45 -1
  79. package/dist/emit/json.js +82 -3
  80. package/dist/emit/json.js.map +1 -1
  81. package/dist/emit/ledgerJson.d.ts +1 -1
  82. package/dist/emit/ledgerJson.js +6 -1
  83. package/dist/emit/ledgerJson.js.map +1 -1
  84. package/dist/emit/queryJson.d.ts +1 -1
  85. package/dist/emit/queryJson.js +5 -1
  86. package/dist/emit/queryJson.js.map +1 -1
  87. package/dist/emit/statusJson.d.ts +1 -1
  88. package/dist/emit/statusJson.js +10 -1
  89. package/dist/emit/statusJson.js.map +1 -1
  90. package/dist/emit/validateJson.d.ts +4 -3
  91. package/dist/emit/validateJson.js +10 -3
  92. package/dist/emit/validateJson.js.map +1 -1
  93. package/dist/mcp/server.js +47 -22
  94. package/dist/mcp/server.js.map +1 -1
  95. package/dist/model/continuation.d.ts +23 -0
  96. package/dist/model/continuation.js +49 -0
  97. package/dist/model/continuation.js.map +1 -0
  98. package/dist/model/edges.d.ts +18 -3
  99. package/dist/model/edges.js +34 -0
  100. package/dist/model/edges.js.map +1 -1
  101. package/dist/model/model.d.ts +4 -0
  102. package/dist/model/model.js +1 -0
  103. package/dist/model/model.js.map +1 -1
  104. package/dist/model/queryIndex.d.ts +5 -2
  105. package/dist/model/queryIndex.js +5 -2
  106. package/dist/model/queryIndex.js.map +1 -1
  107. package/dist/model/rules.d.ts +25 -0
  108. package/dist/model/rules.js +25 -0
  109. package/dist/model/rules.js.map +1 -1
  110. package/dist/model/sliceDocIndex.d.ts +12 -5
  111. package/dist/model/sliceDocIndex.js +18 -7
  112. package/dist/model/sliceDocIndex.js.map +1 -1
  113. package/dist/model/validate.js +82 -1
  114. package/dist/model/validate.js.map +1 -1
  115. package/dist/parser/ast.d.ts +21 -0
  116. package/dist/parser/parser.js +96 -32
  117. package/dist/parser/parser.js.map +1 -1
  118. package/dist/render/drawEdges.js +7 -0
  119. package/dist/render/drawEdges.js.map +1 -1
  120. package/dist/render/drawNotes.d.ts +13 -3
  121. package/dist/render/drawNotes.js +96 -20
  122. package/dist/render/drawNotes.js.map +1 -1
  123. package/dist/render/render.js +6 -5
  124. package/dist/render/render.js.map +1 -1
  125. package/dist/render/sliceStatus.d.ts +3 -3
  126. package/dist/render/sliceStatus.js +27 -29
  127. package/dist/render/sliceStatus.js.map +1 -1
  128. package/dist/templates.d.ts +14 -1
  129. package/dist/templates.js +141 -5
  130. package/dist/templates.js.map +1 -1
  131. package/dist/util/localDate.d.ts +2 -0
  132. package/dist/util/localDate.js +17 -0
  133. package/dist/util/localDate.js.map +1 -0
  134. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/cli/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/cli/status.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -7,6 +7,8 @@ import { fileURLToPath } from "node:url";
7
7
  import { Command } from "commander";
8
8
  import { compile } from "./pipeline.js";
9
9
  import { isMainModule } from "./util/isMainModule.js";
10
+ import { localIsoDate } from "./util/localDate.js";
11
+ import { continuationOf } from "./model/continuation.js";
10
12
  import { ParseError } from "./parser/parser.js";
11
13
  import { renderDot, layoutDot, composeSvg, writeRendered, formatFromPath } from "./render/render.js";
12
14
  import { buildSliceDiagram } from "./render/sliceDiagram.js";
@@ -28,12 +30,12 @@ import { validateDocModelConsistency } from "./catalog/docModelConsistencyValida
28
30
  import { validateOrphanedSliceDocs } from "./catalog/orphanedSliceDocValidate.js";
29
31
  import { validateSliceReady, computeSliceReadyGates } from "./catalog/sliceReadyValidate.js";
30
32
  import { detectSliceDocCollisions } from "./catalog/modelCollisionValidate.js";
31
- import { checkLedger } from "./cli/ledgerCheck.js";
33
+ import { checkLedger, readLedgerWaiverTrailers, applyLedgerWaivers } from "./cli/ledgerCheck.js";
32
34
  import { planMigration, verifyMigration } from "./cli/migrateReactionShape.js";
33
35
  import { buildLedgerJson } from "./emit/ledgerJson.js";
34
- import { buildCoverageReport } from "./cli/coverage.js";
36
+ import { buildCoverageReport, resolveScopedSlices } from "./cli/coverage.js";
35
37
  import { buildCoverageJson } from "./emit/coverageJson.js";
36
- import { resolveSliceStatusFacts, countOpenIssues, resolveConformanceEntry, aggregateInvariantTotals, buildStatusReport, formatStatusText, formatStatusMarkdown, buildStatusBadge, formatConformancePart, } from "./cli/status.js";
38
+ import { resolveSliceStatusFacts, countOpenIssues, resolveConformanceEntry, aggregateInvariantTotals, buildStatusReport, formatStatusText, formatStatusMarkdown, buildStatusBadge, formatConformancePart, findSpecifyRoot, } from "./cli/status.js";
37
39
  import { buildStatusJson } from "./emit/statusJson.js";
38
40
  import { buildFreshnessJson } from "./emit/freshnessJson.js";
39
41
  import { planSkillSyncBundle, applySkillSyncBundle } from "./cli/skillSync.js";
@@ -52,6 +54,7 @@ import { planCatalogArgs } from "./cli/catalog-inputs.js";
52
54
  import { runSliceIndex } from "./cli/sliceIndex.js";
53
55
  import { runMarkImplemented } from "./cli/markImplemented.js";
54
56
  import { runRatify } from "./cli/ratify.js";
57
+ import { runReview } from "./cli/review.js";
55
58
  import { runConformSupersede } from "./cli/conformSupersede.js";
56
59
  import { buildConformScope, changedPathsSince, resolveSliceDocFacts, seedAsisModel } from "./cli/conformScope.js";
57
60
  import { buildSliceDocContent, isSlicePattern, sliceDocKey, SLICE_PATTERNS } from "./cli/sliceNew.js";
@@ -59,8 +62,8 @@ import { wireSliceNote } from "./cli/sliceLink.js";
59
62
  import { listModelCommits } from "./cli/changelog-git.js";
60
63
  import { buildChangelogDoc } from "./cli/changelogBuild.js";
61
64
  import { runReratify } from "./cli/reratify.js";
62
- import { STATE_FILE_NAME, PHASES, isPhase, loadStateFile, parseState, setPhase, setConformance, setReview, isValidDateString, } from "./cli/stateFile.js";
63
- import { STARTER_EM, starterEmFor, scaffoldReadme, scaffoldStateFile } from "./templates.js";
65
+ import { STATE_FILE_NAME, PHASES, isPhase, loadStateFile, parseState, setPhase, setConformance, setReview, isValidDateString, modelPathMismatch, } from "./cli/stateFile.js";
66
+ import { STARTER_EM, starterEmFor, scaffoldReadme, scaffoldStateFile, scaffoldConstitution } from "./templates.js";
64
67
  import { kebabSlug } from "./util/slug.js";
65
68
  import { ciWorkflowPath, conformWorkflowPath, buildCiWorkflowFile, buildConformWorkflowFile, ciManagedBody, conformManagedBody, planCiFile, applyCiFile, findUnsafeCiInitArg, CI_WORKFLOW_MARKER, CONFORM_WORKFLOW_MARKER, } from "./cli/ciInit.js";
66
69
  import { RULES } from "./model/rules.js";
@@ -98,7 +101,9 @@ program
98
101
  });
99
102
  program
100
103
  .command("scaffold")
101
- .description("scaffold a full project: <slug>/<slug>.em, README.md, .event-modeling.md " +
104
+ .description("scaffold a full project: <slug>/<slug>.em, README.md, .event-modeling.md, and " +
105
+ "constitution.md (the implementation constitution — skipped, with a note, in a spec-kit " +
106
+ "project, where `.specify/memory/constitution.md` IS that document) " +
102
107
  "(see docs/cli.md — for just a starter .em, use `em init`; for a multi-model project, " +
103
108
  "pass --under to nest it under a shared parent directory)")
104
109
  .argument("<name>", "model display name — kebab-cased for the directory and file names, used as-is for titles/prose")
@@ -118,11 +123,22 @@ program
118
123
  process.exit(1);
119
124
  }
120
125
  await mkdir(dirPath, { recursive: true });
121
- const today = new Date().toISOString().slice(0, 10);
126
+ const today = localIsoDate();
122
127
  writeFileSync(join(dirPath, `${slugName}.em`), starterEmFor(name));
123
128
  writeFileSync(join(dirPath, "README.md"), scaffoldReadme(name, slugName));
124
129
  writeFileSync(join(dirPath, STATE_FILE_NAME), scaffoldStateFile(name, slugName, today));
130
+ // MIL-202: the implementation constitution. One document per project, never two — in a
131
+ // spec-kit project `.specify/memory/constitution.md` already IS that slot, so em defers to it
132
+ // and writes nothing rather than seeding a second, competing copy beside the model. Same
133
+ // walk-up resolution `em status` reports with (src/cli/status.ts's resolveConstitution).
134
+ const specifyRoot = findSpecifyRoot(dirPath);
135
+ if (!specifyRoot)
136
+ writeFileSync(join(dirPath, "constitution.md"), scaffoldConstitution(name));
125
137
  console.log(`scaffolded ${dirPath}/`);
138
+ if (specifyRoot) {
139
+ console.log("note: .specify/ found — the implementation constitution is .specify/memory/constitution.md " +
140
+ "(spec-kit's file); em writes no second copy");
141
+ }
126
142
  });
127
143
  program
128
144
  .command("render")
@@ -520,17 +536,56 @@ slice
520
536
  ? `marked implemented: ${result.path} (implementedIn: ${prUrl})`
521
537
  : `already implemented (no-op): ${result.path}`);
522
538
  });
539
+ slice
540
+ .command("review")
541
+ .description("flip a slice doc's frontmatter to `status: reviewed` and record `reviewedBy:`/`reviewedOn:` " +
542
+ "— the FIRST of the two human gates (MIL-201, docs/process.md#the-slice-lifecycle-gates): " +
543
+ "the room walked this slice and every open question it raised is resolved. Ratification is " +
544
+ "a separate, later gate (`em slice ratify`). Legal from `status: draft`; idempotent on the " +
545
+ "same --by/--on pair; refuses to overwrite a different one already recorded; refuses a doc " +
546
+ "already `ready-to-implement`/`implemented`; never touches `version:` or the doc body")
547
+ .argument("<file>", "input .em file")
548
+ .argument("<slice-key>", "slice export key (kebab-case)")
549
+ .requiredOption("--by <name>", "the reviewer's (or facilitator's) name")
550
+ .option("--on <date>", "review date, YYYY-MM-DD (default: today, local date)")
551
+ .action((file, sliceKey, opts) => {
552
+ const { model, refs, diagnostics } = compileFile(file);
553
+ printDiagnostics(diagnostics);
554
+ // Scoped the same way `em slice ratify`/`em slice mark-implemented`/`em export --slice`/
555
+ // `em validate --slice-ready` are: only an error concerning THIS slice refuses.
556
+ const scopedErrors = diagnostics.filter((d) => d.severity === "error" && d.refs?.some((r) => r === sliceKey || r.startsWith(`${sliceKey}/`)));
557
+ if (scopedErrors.length > 0) {
558
+ console.error(`em slice review: slice "${sliceKey}" has errors — fix them first`);
559
+ process.exit(1);
560
+ }
561
+ const today = localIsoDate();
562
+ const reviewedOn = opts.on ?? today;
563
+ if (opts.on !== undefined && !isValidDateString(opts.on)) {
564
+ console.error(`em slice review: invalid --on date "${opts.on}" — expected YYYY-MM-DD`);
565
+ process.exit(1);
566
+ }
567
+ const result = runReview(model, refs, dirname(file), sliceKey, opts.by, reviewedOn);
568
+ if (!result.ok) {
569
+ console.error(`em slice review: ${result.message}`);
570
+ process.exit(1);
571
+ }
572
+ console.log(result.changed
573
+ ? `reviewed: ${result.path} (reviewedBy: ${opts.by}, reviewedOn: ${reviewedOn})`
574
+ : `already reviewed (no-op): ${result.path}`);
575
+ });
523
576
  slice
524
577
  .command("ratify")
525
578
  .description("flip a slice doc's frontmatter to `status: ready-to-implement` and record `ratifiedBy:`/" +
526
- "`ratifiedOn:` — the handoff sign-off (MIL-165, docs/process.md#what-ratified-means) that " +
527
- "makes who ratified, and when, a first-class recorded fact. Idempotent on the same " +
528
- "--by/--on pair; refuses to overwrite a different one already recorded; never touches " +
529
- "`version:` or the doc body")
579
+ "`ratifiedOn:` — the handoff sign-off (MIL-165, docs/process.md#the-slice-lifecycle-gates) " +
580
+ "that makes who ratified, and when, a first-class recorded fact. Refuses a doc that never " +
581
+ "passed the review gate (`em slice review`) unless --skip-review is passed. Idempotent on " +
582
+ "the same --by/--on pair; refuses to overwrite a different one already recorded; never " +
583
+ "touches `version:` or the doc body")
530
584
  .argument("<file>", "input .em file")
531
585
  .argument("<slice-key>", "slice export key (kebab-case)")
532
586
  .requiredOption("--by <name>", "the ratifier's name")
533
- .option("--on <date>", "ratification date, YYYY-MM-DD (default: today)")
587
+ .option("--on <date>", "ratification date, YYYY-MM-DD (default: today, local date)")
588
+ .option("--skip-review", "ratify without a recorded review — prints a loud notice on stderr")
534
589
  .action((file, sliceKey, opts) => {
535
590
  const { model, refs, diagnostics } = compileFile(file);
536
591
  printDiagnostics(diagnostics);
@@ -541,17 +596,29 @@ slice
541
596
  console.error(`em slice ratify: slice "${sliceKey}" has errors — fix them first`);
542
597
  process.exit(1);
543
598
  }
544
- const today = new Date().toISOString().slice(0, 10);
599
+ const today = localIsoDate();
545
600
  const ratifiedOn = opts.on ?? today;
546
601
  if (opts.on !== undefined && !isValidDateString(opts.on)) {
547
602
  console.error(`em slice ratify: invalid --on date "${opts.on}" — expected YYYY-MM-DD`);
548
603
  process.exit(1);
549
604
  }
550
- const result = runRatify(model, refs, dirname(file), sliceKey, opts.by, ratifiedOn);
605
+ const result = runRatify(model, refs, dirname(file), sliceKey, opts.by, ratifiedOn, opts.skipReview === true);
551
606
  if (!result.ok) {
552
607
  console.error(`em slice ratify: ${result.message}`);
553
608
  process.exit(1);
554
609
  }
610
+ // Loud, on stderr, exactly when --skip-review is what let this through — the skip is a
611
+ // visible act in the terminal and in CI logs, and deliberately leaves no trace in the doc.
612
+ if (result.skippedReviewFrom !== null) {
613
+ console.error(`notice: --skip-review — ratifying "${sliceKey}" without a recorded review ` +
614
+ `(status was ${result.skippedReviewFrom})`);
615
+ }
616
+ // MIL-198: advisory only, never refuses — ratifying ahead of an upstream slice the model's
617
+ // own timeline puts before this one (query index `in` adjacency, one hop, other slices only)
618
+ // is sometimes deliberate; this just makes it visible in the terminal and CI logs.
619
+ for (const upstream of result.upstreamWarnings) {
620
+ console.error(`warn: ratifying "${sliceKey}" ahead of upstream slice "${upstream.sliceKey}" (status: ${upstream.status})`);
621
+ }
555
622
  console.log(result.changed
556
623
  ? `ratified: ${result.path} (ratifiedBy: ${opts.by}, ratifiedOn: ${ratifiedOn})`
557
624
  : `already ratified (no-op): ${result.path}`);
@@ -561,8 +628,9 @@ slice
561
628
  .description("bump `version:` and flip a shipped slice doc's frontmatter back to `status: " +
562
629
  "ready-to-implement` — the re-ratification mechanical edit (MIL-161, mirrors `em slice " +
563
630
  "mark-implemented`). Only applies to a doc at `status: implemented`; clears any stale " +
564
- "`ratifiedBy:`/`ratifiedOn:` (they describe the PRIOR version's sign-off) so a follow-up " +
565
- "`em slice ratify --by` applies cleanly; never touches `implementedIn:` or the doc body")
631
+ "`ratifiedBy:`/`ratifiedOn:`/`reviewedBy:`/`reviewedOn:` (they describe the PRIOR version's " +
632
+ "review and sign-off) so a follow-up `em slice ratify --by` applies cleanly — and needs no " +
633
+ "fresh review; never touches `implementedIn:` or the doc body")
566
634
  .argument("<file>", "input .em file")
567
635
  .argument("<slice-key>", "slice export key (kebab-case)")
568
636
  .action((file, sliceKey) => {
@@ -613,7 +681,7 @@ function writeStateUpdate(dirOrFile, cmdLabel, mutate) {
613
681
  console.error(loaded.message);
614
682
  process.exit(1);
615
683
  }
616
- const today = new Date().toISOString().slice(0, 10);
684
+ const today = localIsoDate();
617
685
  const result = mutate(loaded.text, today);
618
686
  if (!result.ok) {
619
687
  console.error(`${cmdLabel}: ${result.message}`);
@@ -708,7 +776,7 @@ state
708
776
  console.error(loaded.message);
709
777
  process.exit(1);
710
778
  }
711
- const today = new Date().toISOString().slice(0, 10);
779
+ const today = localIsoDate();
712
780
  const result = appendUsageLogEntry(loaded.text, today, phases, categories);
713
781
  if (!result.ok) {
714
782
  console.error(`em state log-usage: ${result.message}`);
@@ -765,7 +833,14 @@ program
765
833
  console.error(`em conform-scope: ${parsed.message}`);
766
834
  process.exit(1);
767
835
  }
768
- const { lastConformance } = parsed.state;
836
+ // MIL-179: the state file names exactly one model in `Model file:`; a sibling this run
837
+ // isn't describing (e.g. a `--seed-asis` scratch copy) must not inherit its conformance
838
+ // record. Same check `em status`'s resolveConformanceEntry runs (PR #116).
839
+ const stateFileMismatch = modelPathMismatch(parsed.state.modelPath, file);
840
+ if (stateFileMismatch) {
841
+ console.error(stateFileMismatch);
842
+ }
843
+ const lastConformance = stateFileMismatch ? null : parsed.state.lastConformance;
769
844
  const { facts, diagnostics: docDiags } = resolveSliceDocFacts(model, refs, dirname(file));
770
845
  printDiagnostics(newDiagnostics(docDiags, diagnostics));
771
846
  const skipGit = !!opts.full || lastConformance === null;
@@ -780,6 +855,9 @@ program
780
855
  }
781
856
  const scope = buildConformScope(facts, lastConformance, changedPaths, !!opts.full);
782
857
  const output = { ...scope };
858
+ if (stateFileMismatch) {
859
+ output.stateFile = { error: stateFileMismatch };
860
+ }
783
861
  if (opts.seedAsis) {
784
862
  output.seeded = seedAsisModel(file);
785
863
  }
@@ -797,9 +875,9 @@ program
797
875
  .argument("<report-path>", "path to the conformance report, relative to the model's directory")
798
876
  .requiredOption("--as-of <rev>", "the revision this ruling was made against — same value passed to `em state set-conformance`")
799
877
  .requiredOption("--findings <spec>", 'which finding number(s) this stamps as ruled, e.g. "1-3" or "1,2,4"')
800
- .option("--on <date>", "ruling date, YYYY-MM-DD (default: today)")
878
+ .option("--on <date>", "ruling date, YYYY-MM-DD (default: today, local date)")
801
879
  .action((file, reportPath, opts) => {
802
- const today = new Date().toISOString().slice(0, 10);
880
+ const today = localIsoDate();
803
881
  const on = opts.on ?? today;
804
882
  if (opts.on !== undefined && !isValidDateString(opts.on)) {
805
883
  console.error(`em conform-supersede: invalid --on date "${opts.on}" — expected YYYY-MM-DD`);
@@ -929,11 +1007,18 @@ program
929
1007
  // MIL-128: the 4 named gates (see computeSliceReadyGates) plus the same `scoped`
930
1008
  // diagnostics and `ready` verdict driving the exit code below — replaces both the
931
1009
  // scraped warning prose and the two hand-parsed English sentences.
932
- const gates = computeSliceReadyGates(model, refs, dirname(file), key);
933
- process.stdout.write(buildSliceReadyJson(file, key, gates, scoped, ready) + "\n");
1010
+ const result = computeSliceReadyGates(model, refs, dirname(file), key);
1011
+ process.stdout.write(buildSliceReadyJson(file, key, result?.gates ?? null, scoped, ready, result?.continuationOf ?? null) + "\n");
934
1012
  }
935
1013
  else {
936
1014
  console.log(ready ? `slice "${key}" is ready-to-implement` : `slice "${key}" is NOT ready-to-implement`);
1015
+ // MIL-208: `--slice-ready` on a continuation key transparently reports the
1016
+ // originating slice's own verdict (the doc join resolves straight through) — name
1017
+ // that slice so the text mode doesn't look like this key has a doc of its own.
1018
+ const sliceIdx = refs.sliceKeys.indexOf(key);
1019
+ const continuation = sliceIdx === -1 ? null : continuationOf(model, refs, sliceIdx);
1020
+ if (continuation)
1021
+ console.log(` (continuation of "${continuation.sliceKey}")`);
937
1022
  }
938
1023
  if (!ready)
939
1024
  process.exit(1);
@@ -1031,6 +1116,9 @@ program
1031
1116
  if (plan.refusals.length > 0)
1032
1117
  process.exitCode = 1;
1033
1118
  });
1119
+ function describeLedgerWaiveSource(source) {
1120
+ return source.source === "flag" ? "--waive" : `trailer ${source.commit.slice(0, 7)}`;
1121
+ }
1034
1122
  program
1035
1123
  .command("ledger")
1036
1124
  .description("check slice docs' version: field agrees with their content across two git revisions " +
@@ -1038,6 +1126,8 @@ program
1038
1126
  .argument("<file>", "anchor .em file — locates slices/ relative to it; never parsed")
1039
1127
  .option("--from <rev>", "baseline revision")
1040
1128
  .option("--to <rev>", "compare revision (default: current working tree)")
1129
+ .option("--waive <slice-key>", "excuse a doc-content-without-version-bump finding for this slice key (repeatable; MIL-185, " +
1130
+ "see docs/cli.md) — never waives a version regression or bump-without-content-change", (value, previous) => [...previous, value], [])
1041
1131
  .option("--json", "print a JSON document instead of the text report (see docs/cli.md)")
1042
1132
  .action((file, opts) => {
1043
1133
  if (!opts.from) {
@@ -1045,18 +1135,30 @@ program
1045
1135
  process.exit(1);
1046
1136
  }
1047
1137
  const to = opts.to ?? null;
1048
- const result = checkLedger(file, opts.from, to);
1138
+ const rawResult = checkLedger(file, opts.from, to);
1139
+ // Commit trailers apply only to CI/manual runs against a real range — the working-tree
1140
+ // comparison itself (`to === null`) still resolves the trailer range as `from..HEAD`, since
1141
+ // an uncommitted change has no commit to carry a trailer; that gap is `--waive`'s job (see
1142
+ // docs/cli.md).
1143
+ const trailerWaivers = readLedgerWaiverTrailers(file, opts.from, to);
1144
+ const { result, unknownWaivers } = applyLedgerWaivers(rawResult, opts.waive, trailerWaivers);
1145
+ for (const note of unknownWaivers) {
1146
+ console.error(`note: waiver for unknown slice "${note.sliceKey}" ignored`);
1147
+ }
1049
1148
  if (opts.json) {
1050
1149
  process.stdout.write(buildLedgerJson(result, opts.from, to) + "\n");
1051
1150
  }
1052
1151
  else {
1053
1152
  for (const f of result.findings)
1054
1153
  console.log(f.message);
1154
+ for (const w of result.waived)
1155
+ console.log(`waived: ${w.message} (waived by ${describeLedgerWaiveSource(w.waivedBy)})`);
1156
+ const waivedNote = result.waived.length > 0 ? `, ${result.waived.length} waived` : "";
1055
1157
  if (result.findings.length === 0) {
1056
- console.log(`ok — ledger agrees (${result.checkedCount} slice doc(s) checked)`);
1158
+ console.log(`ok — ledger agrees (${result.checkedCount} slice doc(s) checked${waivedNote})`);
1057
1159
  }
1058
1160
  else {
1059
- console.log(`${result.findings.length} ledger mismatch(es)`);
1161
+ console.log(`${result.findings.length} ledger mismatch(es)${waivedNote}`);
1060
1162
  }
1061
1163
  }
1062
1164
  // Set the code rather than process.exit(): same rationale as em diff/em glossary — stdout
@@ -1066,12 +1168,16 @@ program
1066
1168
  });
1067
1169
  program
1068
1170
  .command("coverage")
1069
- .description("check that every INV-* invariant ID cited in a ready-to-implement/implemented slice doc " +
1070
- "is cited by a test under --tests <dir> (MIL-130) — mechanizes reference/implement.md's " +
1071
- "definition-of-done citation check; advisory by default, --strict for CI")
1171
+ .description("check that every INV-* invariant ID cited in an implemented slice doc is cited by a test " +
1172
+ "under --tests <dir> (MIL-130/MIL-207) — mechanizes reference/implement.md's " +
1173
+ "definition-of-done citation check; advisory by default, --strict for CI; " +
1174
+ "--include-ready also counts ready-to-implement docs (forward-looking report); a " +
1175
+ "continuation slice (an `again` view instance with no doc of its own, MIL-208) is excluded " +
1176
+ "from the report — its invariants, if any, live in the originating slice's own doc")
1072
1177
  .argument("<file>", "input .em file")
1073
1178
  .requiredOption("--tests <dir>", "directory to scan recursively for test files citing invariant IDs")
1074
1179
  .option("--strict", "exit non-zero if any invariant ID has zero citations (CI)")
1180
+ .option("--include-ready", "also count ready-to-implement docs, not just implemented (MIL-207)")
1075
1181
  .option("--json", "print a JSON document instead of the text report (see docs/cli.md)")
1076
1182
  .action((file, opts) => {
1077
1183
  const { model, diagnostics, refs } = compileFile(file);
@@ -1080,17 +1186,27 @@ program
1080
1186
  console.error("em coverage: model has errors — fix them first");
1081
1187
  process.exit(1);
1082
1188
  }
1189
+ const baseDir = dirname(file);
1190
+ const includeReady = !!opts.includeReady;
1191
+ // MIL-207: a missing --tests dir is only a defect when something is actually in scope to
1192
+ // check — cheap to know without touching the test tree (resolveScopedSlices never reads
1193
+ // --tests). A fresh scaffold (or a doc-only ratification PR, with the MIL-207 default scope)
1194
+ // has zero implemented docs, so there's nothing yet for a test to cite.
1195
+ const anyInScope = resolveScopedSlices(model, refs, baseDir, includeReady).some((s) => s.inScope);
1083
1196
  if (!existsSync(opts.tests)) {
1084
- console.error(`em coverage: --tests directory not found: ${opts.tests}`);
1085
- process.exit(1);
1197
+ if (anyInScope) {
1198
+ console.error(`em coverage: --tests directory not found: ${opts.tests}`);
1199
+ process.exit(1);
1200
+ }
1201
+ console.error(`warn: em coverage: --tests directory not found: ${opts.tests} — nothing in scope yet`);
1086
1202
  }
1087
- if (!statSync(opts.tests).isDirectory()) {
1203
+ else if (!statSync(opts.tests).isDirectory()) {
1088
1204
  console.error(`em coverage: --tests is not a directory: ${opts.tests}`);
1089
1205
  process.exit(1);
1090
1206
  }
1091
- const report = buildCoverageReport(model, refs, dirname(file), opts.tests);
1207
+ const report = buildCoverageReport(model, refs, baseDir, opts.tests, includeReady);
1092
1208
  if (opts.json) {
1093
- process.stdout.write(buildCoverageJson(file, opts.tests, report) + "\n");
1209
+ process.stdout.write(buildCoverageJson(file, opts.tests, report, includeReady) + "\n");
1094
1210
  }
1095
1211
  else {
1096
1212
  for (const slice of report.slices) {
@@ -1139,15 +1255,12 @@ program
1139
1255
  console.error("em status: --json, --md, and --badge are mutually exclusive");
1140
1256
  process.exit(1);
1141
1257
  }
1142
- if (opts.tests) {
1143
- if (!existsSync(opts.tests)) {
1144
- console.error(`em status: --tests directory not found: ${opts.tests}`);
1145
- process.exit(1);
1146
- }
1147
- if (!statSync(opts.tests).isDirectory()) {
1148
- console.error(`em status: --tests is not a directory: ${opts.tests}`);
1149
- process.exit(1);
1150
- }
1258
+ // The "directory not found" half of the --tests check is deferred until after compiling
1259
+ // (below) — MIL-207: whether that's an error depends on whether anything is actually in
1260
+ // scope across the given models, which needs the compiled model+refs to answer.
1261
+ if (opts.tests && existsSync(opts.tests) && !statSync(opts.tests).isDirectory()) {
1262
+ console.error(`em status: --tests is not a directory: ${opts.tests}`);
1263
+ process.exit(1);
1151
1264
  }
1152
1265
  const compiled = [];
1153
1266
  let anyErrors = false;
@@ -1162,6 +1275,16 @@ program
1162
1275
  console.error("em status: not reporting status — fix the errors above");
1163
1276
  process.exit(1);
1164
1277
  }
1278
+ if (opts.tests && !existsSync(opts.tests)) {
1279
+ // MIL-207: same leniency as `em coverage` — a missing --tests dir is only a defect when
1280
+ // at least one model has something in scope (`implemented`) to check.
1281
+ const anyInScope = compiled.some(({ model, refs, file }) => resolveScopedSlices(model, refs, dirname(file), false).some((s) => s.inScope));
1282
+ if (anyInScope) {
1283
+ console.error(`em status: --tests directory not found: ${opts.tests}`);
1284
+ process.exit(1);
1285
+ }
1286
+ console.error(`warn: em status: --tests directory not found: ${opts.tests} — nothing in scope yet`);
1287
+ }
1165
1288
  const sliceFacts = [];
1166
1289
  const factsByFile = new Map();
1167
1290
  const statusDiagnostics = [];
@@ -1474,8 +1597,10 @@ program
1474
1597
  program
1475
1598
  .command("mcp")
1476
1599
  .description("start an MCP (Model Context Protocol) server over stdio (MIL-21) — a structured, agent-" +
1477
- "facing alternative to shelling out to `em`; see docs/mcp.md for the full, current tool " +
1478
- "table (the list changes as commands gain MCP parity, so it's not repeated here — MIL-187). " +
1600
+ "facing alternative to shelling out to `em`; every tool mirrors a CLI `--json` surface " +
1601
+ "byte-for-byte. docs/mcp.md isn't vendored into the skill bundle — for the handshake and " +
1602
+ "the full, current tool table (the list changes as commands gain MCP parity, so it's not " +
1603
+ "repeated here — MIL-187) see https://github.com/milehimikey/em/blob/main/docs/mcp.md. " +
1479
1604
  "Equivalent to running the `em-mcp` bin directly")
1480
1605
  .action(async () => {
1481
1606
  // A 3-line wrapper only, for discoverability — the server itself (src/mcp/) never imports
@@ -1497,8 +1622,14 @@ const skill = program
1497
1622
  .description("manage Claude Code skills bundled with em");
1498
1623
  skill
1499
1624
  .command("install")
1500
- .description("copy the event-modeling skill bundle into .claude/skills/ (event-modeling, event-modeling-discover/-design/-implement/-conform/-review, event-modeling-shared)")
1501
- .option("-f, --force", "overwrite an existing installation")
1625
+ .description("copy the event-modeling skill bundle into .claude/skills/ (event-modeling, event-modeling-" +
1626
+ "discover/-design/-implement/-conform/-review, event-modeling-shared); across a structural " +
1627
+ "bundle change (e.g. the MIL-157 split of the old single event-modeling/ directory into " +
1628
+ "this six-directory bundle), `em skill sync` is the migration path — --force now performs " +
1629
+ "the same reconcile (MIL-180)")
1630
+ .option("-f, --force", "overwrite an existing installation, reconciling added/updated/removed files within the " +
1631
+ "bundle's own managed directories the same way `em skill sync` does — never touching an " +
1632
+ "unrelated sibling skill (MIL-180)")
1502
1633
  .option("--no-agents-md", "skip writing/updating the AGENTS.md agent-contract section (on by default, MIL-129)")
1503
1634
  .action(async (opts) => {
1504
1635
  const srcRoot = packagedSkillsRoot();
@@ -1508,6 +1639,31 @@ skill
1508
1639
  console.log(`skill already installed at ${anchor}`);
1509
1640
  console.log("re-run with --force to overwrite");
1510
1641
  }
1642
+ else if (existsSync(anchor)) {
1643
+ // --force on an existing installation (MIL-180): reconcile via the same plan/apply
1644
+ // `em skill sync` uses instead of a raw recursive copy, so a file that no longer exists
1645
+ // in the packaged bundle (e.g. left behind by the MIL-157 6-directory split) is removed
1646
+ // from the vendored copy too. Scoped to EM_ALL_SKILL_BUNDLE_DIRS only, exactly like sync
1647
+ // — an unrelated sibling skill under .claude/skills/ is never walked, never touched.
1648
+ await mkdir(destRoot, { recursive: true });
1649
+ const bundlePlan = planSkillSyncBundle(srcRoot, destRoot, EM_ALL_SKILL_BUNDLE_DIRS);
1650
+ const totalChanges = bundlePlan.reduce((n, { plan }) => n + plan.changes.length, 0);
1651
+ const totalUnchanged = bundlePlan.reduce((n, { plan }) => n + plan.unchangedCount, 0);
1652
+ const removedCount = bundlePlan.reduce((n, { plan }) => n + plan.changes.filter((c) => c.kind === "removed").length, 0);
1653
+ applySkillSyncBundle(bundlePlan, srcRoot, destRoot);
1654
+ for (const { dirName, plan } of bundlePlan) {
1655
+ for (const c of plan.changes)
1656
+ console.log(`${c.kind}: ${dirName}/${c.relPath}`);
1657
+ }
1658
+ if (totalChanges === 0) {
1659
+ console.log(`installed event-modeling skill bundle → ${destRoot} — already up to date (${totalUnchanged} file(s))`);
1660
+ }
1661
+ else {
1662
+ console.log(`installed event-modeling skill bundle → ${destRoot} — ${totalChanges} file(s) changed ` +
1663
+ `(${removedCount} removed), ${totalUnchanged} unchanged`);
1664
+ }
1665
+ console.log("in Claude Code, run /event-modeling to start a guided session");
1666
+ }
1511
1667
  else {
1512
1668
  await mkdir(destRoot, { recursive: true });
1513
1669
  for (const name of EM_ALL_SKILL_BUNDLE_DIRS) {