@milehimikey/em 1.11.0 → 1.13.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/.claude/skills/event-modeling/SKILL.md +4 -2
- package/.claude/skills/event-modeling-conform/SKILL.md +20 -9
- package/.claude/skills/event-modeling-conform/reference/conform.md +107 -10
- package/.claude/skills/event-modeling-design/SKILL.md +22 -6
- package/.claude/skills/event-modeling-discover/SKILL.md +1 -1
- package/.claude/skills/event-modeling-implement/SKILL.md +12 -6
- package/.claude/skills/event-modeling-implement/reference/implement.md +165 -18
- package/.claude/skills/event-modeling-review/SKILL.md +5 -1
- package/.claude/skills/event-modeling-shared/reference/em-dsl.md +57 -8
- package/.claude/skills/event-modeling-shared/reference/operating-principles.md +13 -3
- package/.claude/skills/event-modeling-shared/reference/slice-doc-schema.md +69 -0
- package/.claude/skills/event-modeling-shared/templates/conformance-report.md +8 -1
- package/.claude/skills/event-modeling-shared/templates/constitution.md +8 -1
- package/.claude/skills/event-modeling-shared/templates/state.md +3 -0
- package/README.md +1 -0
- package/dist/catalog/build.js +42 -1
- package/dist/catalog/build.js.map +1 -1
- package/dist/catalog/coverage.d.ts +15 -0
- package/dist/catalog/coverage.js +34 -0
- package/dist/catalog/coverage.js.map +1 -0
- package/dist/catalog/docJoin.d.ts +20 -2
- package/dist/catalog/docJoin.js +32 -4
- package/dist/catalog/docJoin.js.map +1 -1
- package/dist/catalog/docModelConsistencyValidate.js +1 -1
- package/dist/catalog/docModelConsistencyValidate.js.map +1 -1
- package/dist/catalog/driftSignal.d.ts +11 -5
- package/dist/catalog/driftSignal.js +18 -4
- package/dist/catalog/driftSignal.js.map +1 -1
- package/dist/catalog/modelVersionValidate.d.ts +9 -0
- package/dist/catalog/modelVersionValidate.js +38 -0
- package/dist/catalog/modelVersionValidate.js.map +1 -0
- package/dist/catalog/noteBindingValidate.js +18 -0
- package/dist/catalog/noteBindingValidate.js.map +1 -1
- package/dist/catalog/orphanedSliceDocValidate.d.ts +8 -1
- package/dist/catalog/orphanedSliceDocValidate.js +33 -6
- package/dist/catalog/orphanedSliceDocValidate.js.map +1 -1
- package/dist/catalog/pages.d.ts +16 -1
- package/dist/catalog/pages.js +16 -4
- package/dist/catalog/pages.js.map +1 -1
- package/dist/catalog/sliceDoc.d.ts +12 -0
- package/dist/catalog/sliceDoc.js +15 -0
- package/dist/catalog/sliceDoc.js.map +1 -1
- package/dist/catalog/sliceReadyValidate.d.ts +12 -1
- package/dist/catalog/sliceReadyValidate.js +4 -4
- package/dist/catalog/sliceReadyValidate.js.map +1 -1
- package/dist/cli/agentsMd.js +9 -3
- package/dist/cli/agentsMd.js.map +1 -1
- package/dist/cli/ciInit.js +20 -0
- package/dist/cli/ciInit.js.map +1 -1
- package/dist/cli/conformScope.d.ts +1 -0
- package/dist/cli/conformScope.js +13 -4
- package/dist/cli/conformScope.js.map +1 -1
- package/dist/cli/conformSupersede.d.ts +24 -2
- package/dist/cli/conformSupersede.js +44 -3
- package/dist/cli/conformSupersede.js.map +1 -1
- package/dist/cli/coverage.d.ts +34 -9
- package/dist/cli/coverage.js +61 -24
- package/dist/cli/coverage.js.map +1 -1
- package/dist/cli/findings.d.ts +134 -0
- package/dist/cli/findings.js +355 -0
- package/dist/cli/findings.js.map +1 -0
- package/dist/cli/markImplemented.js +12 -1
- package/dist/cli/markImplemented.js.map +1 -1
- package/dist/cli/metrics.d.ts +93 -0
- package/dist/cli/metrics.js +331 -0
- package/dist/cli/metrics.js.map +1 -0
- package/dist/cli/modelVersion.d.ts +139 -0
- package/dist/cli/modelVersion.js +256 -0
- package/dist/cli/modelVersion.js.map +1 -0
- package/dist/cli/ratify.js +17 -1
- package/dist/cli/ratify.js.map +1 -1
- package/dist/cli/reratify.d.ts +17 -0
- package/dist/cli/reratify.js +37 -2
- package/dist/cli/reratify.js.map +1 -1
- package/dist/cli/review.js +12 -1
- package/dist/cli/review.js.map +1 -1
- package/dist/cli/skillCheck.js +2 -2
- package/dist/cli/skillCheck.js.map +1 -1
- package/dist/cli/sliceConform.d.ts +50 -0
- package/dist/cli/sliceConform.js +206 -0
- package/dist/cli/sliceConform.js.map +1 -0
- package/dist/cli/sliceIndex.d.ts +2 -0
- package/dist/cli/sliceIndex.js +24 -7
- package/dist/cli/sliceIndex.js.map +1 -1
- package/dist/cli/sliceLink.js +16 -0
- package/dist/cli/sliceLink.js.map +1 -1
- package/dist/cli/sliceNew.d.ts +12 -0
- package/dist/cli/sliceNew.js +23 -0
- package/dist/cli/sliceNew.js.map +1 -1
- package/dist/cli/sliceStubAll.d.ts +76 -0
- package/dist/cli/sliceStubAll.js +189 -0
- package/dist/cli/sliceStubAll.js.map +1 -0
- package/dist/cli/stateFile.d.ts +63 -7
- package/dist/cli/stateFile.js +179 -18
- package/dist/cli/stateFile.js.map +1 -1
- package/dist/cli/status.d.ts +90 -1
- package/dist/cli/status.js +151 -16
- package/dist/cli/status.js.map +1 -1
- package/dist/cli/upgrade.d.ts +122 -0
- package/dist/cli/upgrade.js +476 -0
- package/dist/cli/upgrade.js.map +1 -0
- package/dist/cli.js +586 -66
- package/dist/cli.js.map +1 -1
- package/dist/emit/coverageJson.d.ts +2 -2
- package/dist/emit/coverageJson.js +6 -2
- package/dist/emit/coverageJson.js.map +1 -1
- package/dist/emit/freshnessJson.d.ts +1 -1
- package/dist/emit/freshnessJson.js +3 -1
- package/dist/emit/freshnessJson.js.map +1 -1
- package/dist/emit/json.d.ts +34 -1
- package/dist/emit/json.js +84 -2
- package/dist/emit/json.js.map +1 -1
- package/dist/emit/metricsJson.d.ts +7 -0
- package/dist/emit/metricsJson.js +27 -0
- package/dist/emit/metricsJson.js.map +1 -0
- package/dist/emit/statusJson.d.ts +1 -1
- package/dist/emit/statusJson.js +22 -1
- package/dist/emit/statusJson.js.map +1 -1
- package/dist/emit/upgradeJson.d.ts +5 -0
- package/dist/emit/upgradeJson.js +26 -0
- package/dist/emit/upgradeJson.js.map +1 -0
- package/dist/emit/validateJson.d.ts +10 -5
- package/dist/emit/validateJson.js +22 -8
- package/dist/emit/validateJson.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -1
- package/dist/mcp/server.js +151 -22
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/continuation.d.ts +23 -0
- package/dist/model/continuation.js +49 -0
- package/dist/model/continuation.js.map +1 -0
- package/dist/model/queryIndex.js +1 -1
- package/dist/model/queryIndex.js.map +1 -1
- package/dist/model/rules.d.ts +13 -0
- package/dist/model/rules.js +18 -0
- package/dist/model/rules.js.map +1 -1
- package/dist/model/sliceDocIndex.d.ts +12 -5
- package/dist/model/sliceDocIndex.js +18 -7
- package/dist/model/sliceDocIndex.js.map +1 -1
- package/dist/model/validate.d.ts +20 -0
- package/dist/model/validate.js +94 -45
- package/dist/model/validate.js.map +1 -1
- package/dist/render/sliceStatus.d.ts +3 -3
- package/dist/render/sliceStatus.js +27 -29
- package/dist/render/sliceStatus.js.map +1 -1
- package/dist/templates.d.ts +3 -3
- package/dist/templates.js +15 -2
- package/dist/templates.js.map +1 -1
- package/dist/util/localDate.d.ts +2 -0
- package/dist/util/localDate.js +17 -0
- package/dist/util/localDate.js.map +1 -0
- package/dist/util/semver.d.ts +19 -0
- package/dist/util/semver.js +54 -0
- package/dist/util/semver.js.map +1 -0
- package/package.json +1 -1
package/dist/cli/status.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { Diagnostic } from "../model/validate.js";
|
|
|
6
6
|
import { CoverageReport } from "./coverage.js";
|
|
7
7
|
import { GitRunner } from "./diff-inputs.js";
|
|
8
8
|
import { SliceDocFacts } from "./conformScope.js";
|
|
9
|
+
import { ModelVersionSliceChange } from "./modelVersion.js";
|
|
9
10
|
/** The 4 canonical slice-doc lifecycle statuses (docs/slice-doc-schema.md) — the same enum
|
|
10
11
|
* `em catalog`'s header coloring and `em render`'s status legend already recognize. */
|
|
11
12
|
export declare const CANONICAL_STATUSES: readonly ["draft", "reviewed", "ready-to-implement", "implemented"];
|
|
@@ -47,6 +48,12 @@ export interface SliceStatusFact {
|
|
|
47
48
|
driftSignal: DriftSignalKind | null;
|
|
48
49
|
openQuestionsTotal: number;
|
|
49
50
|
openQuestionsUnchecked: number;
|
|
51
|
+
/** MIL-208: non-null when this slice is a continuation (an again-view-only slice with no
|
|
52
|
+
* legacy doc of its own) — the originating slice's export key. `buildStatusReport` excludes
|
|
53
|
+
* a continuation fact from every `byStatus`/`driftSignal` bucket (the originating slice's own
|
|
54
|
+
* fact already counts that status/drift once) and tallies it in `StatusReport.continuations`
|
|
55
|
+
* instead. */
|
|
56
|
+
continuationOf: string | null;
|
|
50
57
|
}
|
|
51
58
|
export interface SliceStatusFactsResult {
|
|
52
59
|
facts: SliceStatusFact[];
|
|
@@ -75,7 +82,16 @@ export interface ConformanceEntry {
|
|
|
75
82
|
lastConformance: {
|
|
76
83
|
date: string;
|
|
77
84
|
revision: string;
|
|
85
|
+
partial: boolean;
|
|
78
86
|
} | null;
|
|
87
|
+
/** MIL-214: unruled (`locus: null`) conformance findings in scope (every `implemented` slice;
|
|
88
|
+
* a `slice: null` finding counts as in scope for all of them) from the findings JSON beside
|
|
89
|
+
* `lastConformance`'s report — the same file `em state set-conformance`'s refusal/`--partial`
|
|
90
|
+
* gate reads (cli/findings.ts's `unruledFindingsInScope`). Null when there's no
|
|
91
|
+
* `lastConformance` to look beside, or no findings JSON exists there (a report written before
|
|
92
|
+
* MIL-214 — the documented migration path, same non-fatal "nothing to report" `null` every
|
|
93
|
+
* other opt-in count in this document uses). */
|
|
94
|
+
unruledFindings: number | null;
|
|
79
95
|
/** The repo `commitsBehindHead` was computed in — `--repo` when given, else the model's own
|
|
80
96
|
* directory (works out of the box for a single-repo project; conform-scope's `--repo`
|
|
81
97
|
* convention still applies for a model whose implementation lives in a different repo). */
|
|
@@ -184,6 +200,50 @@ export declare function resolveSlicePRsBehindHead(repo: string, revision: string
|
|
|
184
200
|
* rather than silently misattributed.
|
|
185
201
|
*/
|
|
186
202
|
export declare function resolveConformanceEntry(file: string, repoOverride: string | undefined, sliceDocFacts: SliceDocFacts[], runGit?: GitRunner): ConformanceEntry;
|
|
203
|
+
/** One model's design/certified version facts (`em model version bump`/`em state
|
|
204
|
+
* set-conformance`'s certify step, modelVersion.ts) — the state-of-the-system rollup's own
|
|
205
|
+
* window onto the same `model-versions/*.json` manifests `em model version show` reads
|
|
206
|
+
* directly. `certified` names the most recently CERTIFIED design version, which need not be
|
|
207
|
+
* `design` itself (a later bump can outrun certification — `findCertifiedVersion`'s own
|
|
208
|
+
* "newest certified wins, not necessarily newest bumped" contract). `drifted`/`changes` are
|
|
209
|
+
* `modelVersionDrift`'s own predicate, verbatim — the same one `em validate`'s
|
|
210
|
+
* `model-version-stale` warning and the `em slice ratify`/`reratify` advisory read, never
|
|
211
|
+
* re-derived a third way. */
|
|
212
|
+
export interface ModelVersionStatusEntry {
|
|
213
|
+
file: string;
|
|
214
|
+
design: number | null;
|
|
215
|
+
certified: {
|
|
216
|
+
version: number;
|
|
217
|
+
at: string;
|
|
218
|
+
on: string;
|
|
219
|
+
} | null;
|
|
220
|
+
drifted: boolean;
|
|
221
|
+
changes: {
|
|
222
|
+
hashChanged: boolean;
|
|
223
|
+
slices: ModelVersionSliceChange[];
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
/** Resolve one input model's `ModelVersionStatusEntry`. `source` is that model's own `.em` text
|
|
227
|
+
* (for the modelHash comparison inside `modelVersionDrift`) — the caller's `compileFile(file)`
|
|
228
|
+
* result already carries it, never re-read here. */
|
|
229
|
+
export declare function resolveModelVersionStatusEntry(file: string, model: NormalizedModel, refs: RefsResult, source: string): ModelVersionStatusEntry;
|
|
230
|
+
/** One model directory's recorded-vs-installed `em` fact — the state file's `Em version:`
|
|
231
|
+
* bullet against the em actually running `em status`. `recorded: null` covers both "no state
|
|
232
|
+
* file bullet yet" (a repo predating MIL-219) and the file's own `unknown` sentinel — same
|
|
233
|
+
* "null means no evidence" reading `stateFile.ts`'s `ParsedState.emVersion` already holds.
|
|
234
|
+
* `behind` is `util/semver.ts`'s `isOlder` verbatim — `false` (never a crash) when `recorded`
|
|
235
|
+
* is null or unparseable, since "can't prove it's behind" reads the same as "not behind" for a
|
|
236
|
+
* warn-only advisory (`em upgrade` is the actual authority on whether a repo needs work). */
|
|
237
|
+
export interface EmVersionStatusEntry {
|
|
238
|
+
file: string;
|
|
239
|
+
recorded: string | null;
|
|
240
|
+
installed: string;
|
|
241
|
+
behind: boolean;
|
|
242
|
+
}
|
|
243
|
+
/** Resolve one input model's `EmVersionStatusEntry` — `null` when its state file is missing or
|
|
244
|
+
* fails to parse at all (same non-fatal "nothing to report" treatment `resolveConformanceEntry`
|
|
245
|
+
* gives a missing state file, rather than surfacing a second copy of that error here). */
|
|
246
|
+
export declare function resolveEmVersionStatusEntry(file: string, installedVersion: string): EmVersionStatusEntry | null;
|
|
187
247
|
export interface StatusSliceCounts {
|
|
188
248
|
total: number;
|
|
189
249
|
byStatus: {
|
|
@@ -205,6 +265,11 @@ export interface StatusDriftCounts {
|
|
|
205
265
|
neverImplemented: number;
|
|
206
266
|
unpropagatedDelta: number;
|
|
207
267
|
implementedWithoutLink: number;
|
|
268
|
+
/** MIL-214: status: implemented, implementedIn set, but `conformedVersion` is absent or
|
|
269
|
+
* doesn't match the current `version` — nobody has certified THIS version yet. Expected
|
|
270
|
+
* post-ship default (`em validate` never warns on it), same treatment `unpropagatedDelta`
|
|
271
|
+
* gets — see catalog/driftSignal.ts's `uncertified`. */
|
|
272
|
+
uncertified: number;
|
|
208
273
|
/** Slices with no doc bound at all (or a binding naming a missing file) — driftSignal is null
|
|
209
274
|
* because there's nothing to classify. Distinct from `frontmatterInvalid` below: THIS bucket
|
|
210
275
|
* is `resolveSliceDocJoin`'s `found: false`, in either dimension. */
|
|
@@ -248,6 +313,11 @@ export interface StatusOwnerEntry {
|
|
|
248
313
|
export interface StatusReport {
|
|
249
314
|
files: string[];
|
|
250
315
|
slices: StatusSliceCounts;
|
|
316
|
+
/** MIL-208: count of continuation slices (again-view-only slices with no legacy doc of their
|
|
317
|
+
* own) across every input file — excluded from every `slices.byStatus`/`driftSignal` bucket
|
|
318
|
+
* (they have no status/drift of their own; the originating slice's own fact already counts
|
|
319
|
+
* once) but still real slices on the timeline, so tallied here rather than silently dropped. */
|
|
320
|
+
continuations: number;
|
|
251
321
|
driftSignal: StatusDriftCounts;
|
|
252
322
|
/** Null when `--tests <dir>` wasn't given — invariant coverage is opt-in (it needs a test
|
|
253
323
|
* tree to scan), unlike every other rollup dimension, which is always computable from the
|
|
@@ -255,6 +325,15 @@ export interface StatusReport {
|
|
|
255
325
|
invariants: StatusInvariantTotals | null;
|
|
256
326
|
issues: StatusIssueTotals;
|
|
257
327
|
conformance: ConformanceEntry[];
|
|
328
|
+
/** MIL-218: one entry per input file — design/certified version, and whether the vector has
|
|
329
|
+
* drifted since the design version was bumped. Named `modelVersion` (singular), valued as an
|
|
330
|
+
* array — same per-file breakdown shape `conformance`/`owners` already hold. */
|
|
331
|
+
modelVersion: ModelVersionStatusEntry[];
|
|
332
|
+
/** MIL-219: one entry per input file whose state file resolved — recorded `Em version:` vs.
|
|
333
|
+
* the em actually running, and whether it's behind. Same per-file array shape `modelVersion`
|
|
334
|
+
* holds (not a single flat object) — a repo's several models can share directories with
|
|
335
|
+
* DIFFERENT state files, so "one recorded fact" isn't well-defined at the report level. */
|
|
336
|
+
emVersion: EmVersionStatusEntry[];
|
|
258
337
|
/** Doc-join diagnostics (`binding-missing-file`/`frontmatter-invalid` warnings) collected
|
|
259
338
|
* while resolving every slice's doc, across every input file — carried here rather than
|
|
260
339
|
* discarded, so a state-of-the-system report doesn't hide a broken doc reference just
|
|
@@ -267,7 +346,7 @@ export interface StatusReport {
|
|
|
267
346
|
/** Aggregate everything `em status` reports into one `StatusReport` — pure, no I/O. Callers
|
|
268
347
|
* (the CLI action, the MCP tool) resolve every input first (compile each model, join every
|
|
269
348
|
* slice's doc, scan the test tree once, resolve conformance) and hand the results here. */
|
|
270
|
-
export declare function buildStatusReport(files: string[], sliceFacts: SliceStatusFact[], openIssuesCount: number, invariants: StatusInvariantTotals | null, conformance: ConformanceEntry[], diagnostics: StatusDiagnostic[]): StatusReport;
|
|
349
|
+
export declare function buildStatusReport(files: string[], sliceFacts: SliceStatusFact[], openIssuesCount: number, invariants: StatusInvariantTotals | null, conformance: ConformanceEntry[], diagnostics: StatusDiagnostic[], modelVersion?: ModelVersionStatusEntry[], emVersion?: EmVersionStatusEntry[]): StatusReport;
|
|
271
350
|
/** Sum per-model `CoverageReport`s (see `./coverage.ts`) into one `StatusInvariantTotals` —
|
|
272
351
|
* `em status` doesn't need the per-slice/per-ID detail `em coverage --json` carries, just the
|
|
273
352
|
* totals, across however many models `--tests <dir>` was scanned against. */
|
|
@@ -279,6 +358,16 @@ export declare function formatConformancePart(entry: ConformanceEntry): string;
|
|
|
279
358
|
* the path the entry already resolved (relative to that model's own directory). Shared by the
|
|
280
359
|
* text and markdown reports so the two can't drift. Existence only; never a content judgment. */
|
|
281
360
|
export declare function formatConstitutionPart(entry: ConformanceEntry): string;
|
|
361
|
+
/** MIL-218: the per-model model-version clause — design version, most recently certified
|
|
362
|
+
* version (if any), and whether the vector has drifted since the design version was bumped.
|
|
363
|
+
* `"never bumped"` when `entry.design` is `null` — the routine state for a model that hasn't
|
|
364
|
+
* opted into `em model version bump` yet. */
|
|
365
|
+
export declare function formatModelVersionPart(entry: ModelVersionStatusEntry): string;
|
|
366
|
+
/** MIL-219: `"recorded 1.10.0, installed 1.13.0 — behind, run \`em upgrade\`"`, or `"recorded
|
|
367
|
+
* unknown, installed 1.13.0"` when the state file predates the `Em version:` bullet — never
|
|
368
|
+
* claims "behind" without a recorded value to compare (same conservative reading
|
|
369
|
+
* `resolveEmVersionStatusEntry`'s own `isOlder` call holds). */
|
|
370
|
+
export declare function formatEmVersionPart(entry: EmVersionStatusEntry): string;
|
|
282
371
|
/** The one-line rollup: `"8/8 implemented · 20/20 invariants covered · 0 open issues · last
|
|
283
372
|
* conformed <rev>, N commits behind HEAD"` (MIL-163's acceptance line). For multiple input
|
|
284
373
|
* models, the conformance clause reports the FIRST file's entry — a single-file invocation is
|
package/dist/cli/status.js
CHANGED
|
@@ -28,6 +28,9 @@ import { readSliceDoc } from "../catalog/readSliceDoc.js";
|
|
|
28
28
|
import { realGit } from "./diff-inputs.js";
|
|
29
29
|
import { loadStateFile, parseState, modelPathMismatch } from "./stateFile.js";
|
|
30
30
|
import { changedPathsSince, buildConformScope } from "./conformScope.js";
|
|
31
|
+
import { lookupFindingsBesideReport, unruledFindingsInScope } from "./findings.js";
|
|
32
|
+
import { findCertifiedVersion, latestModelVersionNumber, modelVersionDrift } from "./modelVersion.js";
|
|
33
|
+
import { isOlder } from "../util/semver.js";
|
|
31
34
|
/** The 4 canonical slice-doc lifecycle statuses (docs/slice-doc-schema.md) — the same enum
|
|
32
35
|
* `em catalog`'s header coloring and `em render`'s status legend already recognize. */
|
|
33
36
|
export const CANONICAL_STATUSES = ["draft", "reviewed", "ready-to-implement", "implemented"];
|
|
@@ -52,7 +55,7 @@ export function resolveSliceStatusFacts(file, model, refs, baseDir) {
|
|
|
52
55
|
const diagnostics = [];
|
|
53
56
|
const facts = model.slices.map((slice, i) => {
|
|
54
57
|
const key = refs.sliceKeys[i];
|
|
55
|
-
const { doc, diagnostics: docDiags } = resolveSliceDocJoin(slice, key, baseDir, (id) => refs.refById.get(id));
|
|
58
|
+
const { doc, diagnostics: docDiags, continuationOf: continuationOfKey } = resolveSliceDocJoin(model, refs, slice, key, baseDir, (id) => refs.refById.get(id));
|
|
56
59
|
diagnostics.push(...docDiags);
|
|
57
60
|
let docPath = null;
|
|
58
61
|
let openQuestionsTotal = 0;
|
|
@@ -79,6 +82,7 @@ export function resolveSliceStatusFacts(file, model, refs, baseDir) {
|
|
|
79
82
|
driftSignal: doc.driftSignal,
|
|
80
83
|
openQuestionsTotal,
|
|
81
84
|
openQuestionsUnchecked,
|
|
85
|
+
continuationOf: continuationOfKey,
|
|
82
86
|
};
|
|
83
87
|
});
|
|
84
88
|
return { facts, diagnostics };
|
|
@@ -162,10 +166,10 @@ export function resolveSlicePRsBehindHead(repo, revision, slices, runGit = realG
|
|
|
162
166
|
const changed = changedPathsSince(repo, revision, runGit);
|
|
163
167
|
if (!changed.ok)
|
|
164
168
|
return { ok: false, message: changed.message };
|
|
165
|
-
// `date`/`report` are irrelevant to matching (buildConformScope only echoes them
|
|
166
|
-
// own `lastConformance` field, which this function discards) — only `revision`
|
|
167
|
-
// implementedIn-to-changed-path match below.
|
|
168
|
-
const scope = buildConformScope(slices, { date: "", revision, report: "" }, changed.paths, false);
|
|
169
|
+
// `date`/`report`/`partial` are irrelevant to matching (buildConformScope only echoes them
|
|
170
|
+
// back in its own `lastConformance` field, which this function discards) — only `revision`
|
|
171
|
+
// drives the implementedIn-to-changed-path match below.
|
|
172
|
+
const scope = buildConformScope(slices, { date: "", revision, report: "", partial: false }, changed.paths, false);
|
|
169
173
|
return { ok: true, count: scope.candidateSlices.length };
|
|
170
174
|
}
|
|
171
175
|
/**
|
|
@@ -195,7 +199,7 @@ export function resolveConformanceEntry(file, repoOverride, sliceDocFacts, runGi
|
|
|
195
199
|
const constitution = resolveConstitution(modelDir);
|
|
196
200
|
const loaded = loadStateFile(modelDir);
|
|
197
201
|
if (!loaded.ok) {
|
|
198
|
-
return { file, modelDir, hasStateFile: false, lastConformance: null, repo, commitsBehindHead: null, slicePRsBehindHead: null, constitution, error: null };
|
|
202
|
+
return { file, modelDir, hasStateFile: false, lastConformance: null, unruledFindings: null, repo, commitsBehindHead: null, slicePRsBehindHead: null, constitution, error: null };
|
|
199
203
|
}
|
|
200
204
|
const parsed = parseState(loaded.text);
|
|
201
205
|
if (!parsed.ok) {
|
|
@@ -204,6 +208,7 @@ export function resolveConformanceEntry(file, repoOverride, sliceDocFacts, runGi
|
|
|
204
208
|
modelDir,
|
|
205
209
|
hasStateFile: true,
|
|
206
210
|
lastConformance: null,
|
|
211
|
+
unruledFindings: null,
|
|
207
212
|
repo,
|
|
208
213
|
commitsBehindHead: null,
|
|
209
214
|
slicePRsBehindHead: null,
|
|
@@ -213,19 +218,27 @@ export function resolveConformanceEntry(file, repoOverride, sliceDocFacts, runGi
|
|
|
213
218
|
}
|
|
214
219
|
const mismatch = modelPathMismatch(parsed.state.modelPath, file);
|
|
215
220
|
if (mismatch) {
|
|
216
|
-
return { file, modelDir, hasStateFile: true, lastConformance: null, repo, commitsBehindHead: null, slicePRsBehindHead: null, constitution, error: mismatch };
|
|
221
|
+
return { file, modelDir, hasStateFile: true, lastConformance: null, unruledFindings: null, repo, commitsBehindHead: null, slicePRsBehindHead: null, constitution, error: mismatch };
|
|
217
222
|
}
|
|
218
223
|
if (!parsed.state.lastConformance) {
|
|
219
|
-
return { file, modelDir, hasStateFile: true, lastConformance: null, repo, commitsBehindHead: null, slicePRsBehindHead: null, constitution, error: null };
|
|
224
|
+
return { file, modelDir, hasStateFile: true, lastConformance: null, unruledFindings: null, repo, commitsBehindHead: null, slicePRsBehindHead: null, constitution, error: null };
|
|
220
225
|
}
|
|
221
|
-
const { date, revision } = parsed.state.lastConformance;
|
|
226
|
+
const { date, revision, report, partial } = parsed.state.lastConformance;
|
|
227
|
+
// MIL-214: independent of the git-backed commits/slice-PRs-behind-HEAD facts below — reads a
|
|
228
|
+
// findings JSON off disk beside the recorded report, not git. Every `implemented` slice is in
|
|
229
|
+
// scope, same "in scope" definition `em state set-conformance`'s own refusal/`--partial` gate
|
|
230
|
+
// uses (a `slice: null` finding counts as in scope for all of them).
|
|
231
|
+
const inScope = new Set(sliceDocFacts.filter((s) => s.status === "implemented").map((s) => s.key));
|
|
232
|
+
const findingsLookup = lookupFindingsBesideReport(modelDir, report);
|
|
233
|
+
const unruledFindings = findingsLookup.kind === "found" ? unruledFindingsInScope(findingsLookup.doc.findings, inScope).length : null;
|
|
222
234
|
const commitsResult = commitsBehindHead(repo, revision, runGit);
|
|
223
235
|
if (!commitsResult.ok) {
|
|
224
236
|
return {
|
|
225
237
|
file,
|
|
226
238
|
modelDir,
|
|
227
239
|
hasStateFile: true,
|
|
228
|
-
lastConformance: { date, revision },
|
|
240
|
+
lastConformance: { date, revision, partial },
|
|
241
|
+
unruledFindings,
|
|
229
242
|
repo,
|
|
230
243
|
commitsBehindHead: null,
|
|
231
244
|
slicePRsBehindHead: null,
|
|
@@ -239,7 +252,8 @@ export function resolveConformanceEntry(file, repoOverride, sliceDocFacts, runGi
|
|
|
239
252
|
file,
|
|
240
253
|
modelDir,
|
|
241
254
|
hasStateFile: true,
|
|
242
|
-
lastConformance: { date, revision },
|
|
255
|
+
lastConformance: { date, revision, partial },
|
|
256
|
+
unruledFindings,
|
|
243
257
|
repo,
|
|
244
258
|
commitsBehindHead: commitsResult.count,
|
|
245
259
|
slicePRsBehindHead: null,
|
|
@@ -251,7 +265,8 @@ export function resolveConformanceEntry(file, repoOverride, sliceDocFacts, runGi
|
|
|
251
265
|
file,
|
|
252
266
|
modelDir,
|
|
253
267
|
hasStateFile: true,
|
|
254
|
-
lastConformance: { date, revision },
|
|
268
|
+
lastConformance: { date, revision, partial },
|
|
269
|
+
unruledFindings,
|
|
255
270
|
repo,
|
|
256
271
|
commitsBehindHead: commitsResult.count,
|
|
257
272
|
slicePRsBehindHead: slicePRsResult.count,
|
|
@@ -259,16 +274,47 @@ export function resolveConformanceEntry(file, repoOverride, sliceDocFacts, runGi
|
|
|
259
274
|
error: null,
|
|
260
275
|
};
|
|
261
276
|
}
|
|
277
|
+
/** Resolve one input model's `ModelVersionStatusEntry`. `source` is that model's own `.em` text
|
|
278
|
+
* (for the modelHash comparison inside `modelVersionDrift`) — the caller's `compileFile(file)`
|
|
279
|
+
* result already carries it, never re-read here. */
|
|
280
|
+
export function resolveModelVersionStatusEntry(file, model, refs, source) {
|
|
281
|
+
const baseDir = dirname(file);
|
|
282
|
+
const design = latestModelVersionNumber(baseDir);
|
|
283
|
+
const certifiedFound = findCertifiedVersion(baseDir);
|
|
284
|
+
const drift = modelVersionDrift(baseDir, model, refs, source);
|
|
285
|
+
return {
|
|
286
|
+
file,
|
|
287
|
+
design,
|
|
288
|
+
certified: certifiedFound
|
|
289
|
+
? { version: certifiedFound.version, at: certifiedFound.certified.at, on: certifiedFound.certified.on }
|
|
290
|
+
: null,
|
|
291
|
+
drifted: drift.current !== null && (drift.hashChanged || drift.slicesChanged.length > 0),
|
|
292
|
+
changes: { hashChanged: drift.hashChanged, slices: drift.slicesChanged },
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
/** Resolve one input model's `EmVersionStatusEntry` — `null` when its state file is missing or
|
|
296
|
+
* fails to parse at all (same non-fatal "nothing to report" treatment `resolveConformanceEntry`
|
|
297
|
+
* gives a missing state file, rather than surfacing a second copy of that error here). */
|
|
298
|
+
export function resolveEmVersionStatusEntry(file, installedVersion) {
|
|
299
|
+
const loaded = loadStateFile(dirname(file));
|
|
300
|
+
if (!loaded.ok)
|
|
301
|
+
return null;
|
|
302
|
+
const parsed = parseState(loaded.text);
|
|
303
|
+
if (!parsed.ok)
|
|
304
|
+
return null;
|
|
305
|
+
return { file, recorded: parsed.state.emVersion, installed: installedVersion, behind: isOlder(parsed.state.emVersion, installedVersion) };
|
|
306
|
+
}
|
|
262
307
|
/** Aggregate everything `em status` reports into one `StatusReport` — pure, no I/O. Callers
|
|
263
308
|
* (the CLI action, the MCP tool) resolve every input first (compile each model, join every
|
|
264
309
|
* slice's doc, scan the test tree once, resolve conformance) and hand the results here. */
|
|
265
|
-
export function buildStatusReport(files, sliceFacts, openIssuesCount, invariants, conformance, diagnostics) {
|
|
310
|
+
export function buildStatusReport(files, sliceFacts, openIssuesCount, invariants, conformance, diagnostics, modelVersion = [], emVersion = []) {
|
|
266
311
|
const byStatus = { draft: 0, reviewed: 0, readyToImplement: 0, implemented: 0, noDoc: 0, frontmatterInvalid: 0, unknown: 0 };
|
|
267
312
|
const drift = {
|
|
268
313
|
inSync: 0,
|
|
269
314
|
neverImplemented: 0,
|
|
270
315
|
unpropagatedDelta: 0,
|
|
271
316
|
implementedWithoutLink: 0,
|
|
317
|
+
uncertified: 0,
|
|
272
318
|
notApplicable: 0,
|
|
273
319
|
frontmatterInvalid: 0,
|
|
274
320
|
};
|
|
@@ -280,7 +326,16 @@ export function buildStatusReport(files, sliceFacts, openIssuesCount, invariants
|
|
|
280
326
|
// path, since two different input models' `slices/` dirs could otherwise collide on the same
|
|
281
327
|
// relative path string without actually being the same file).
|
|
282
328
|
const countedDocPaths = new Set();
|
|
329
|
+
let continuations = 0;
|
|
283
330
|
for (const f of sliceFacts) {
|
|
331
|
+
// MIL-208: a continuation slice has no status/drift of its own — the originating slice's
|
|
332
|
+
// own fact (elsewhere in `sliceFacts`) already counts that status/drift once. Tally it
|
|
333
|
+
// separately and skip every bucket below (including the Open Questions dedup, which the
|
|
334
|
+
// originating slice's own turn through this loop already covers via the same `docPath`).
|
|
335
|
+
if (f.continuationOf !== null) {
|
|
336
|
+
continuations++;
|
|
337
|
+
continue;
|
|
338
|
+
}
|
|
284
339
|
switch (f.bucket) {
|
|
285
340
|
case "draft":
|
|
286
341
|
byStatus.draft++;
|
|
@@ -317,6 +372,9 @@ export function buildStatusReport(files, sliceFacts, openIssuesCount, invariants
|
|
|
317
372
|
case "implemented-without-link":
|
|
318
373
|
drift.implementedWithoutLink++;
|
|
319
374
|
break;
|
|
375
|
+
case "uncertified":
|
|
376
|
+
drift.uncertified++;
|
|
377
|
+
break;
|
|
320
378
|
case null:
|
|
321
379
|
if (f.docReason === "frontmatter-invalid")
|
|
322
380
|
drift.frontmatterInvalid++;
|
|
@@ -335,10 +393,13 @@ export function buildStatusReport(files, sliceFacts, openIssuesCount, invariants
|
|
|
335
393
|
return {
|
|
336
394
|
files,
|
|
337
395
|
slices: { total: sliceFacts.length, byStatus },
|
|
396
|
+
continuations,
|
|
338
397
|
driftSignal: drift,
|
|
339
398
|
invariants,
|
|
340
399
|
issues: { openIssues: openIssuesCount, openQuestionsTotal, openQuestionsUnchecked },
|
|
341
400
|
conformance,
|
|
401
|
+
modelVersion,
|
|
402
|
+
emVersion,
|
|
342
403
|
diagnostics,
|
|
343
404
|
owners: sliceFacts.map((f) => ({ file: f.file, key: f.key, owner: f.owner })),
|
|
344
405
|
};
|
|
@@ -374,6 +435,20 @@ function formatBehindHead(entry) {
|
|
|
374
435
|
return `${pluralize(commits, "commit")} behind HEAD, slice-PRs behind HEAD unknown`;
|
|
375
436
|
return `${pluralize(commits, "commit")} and ${pluralize(slicePRs, "slice-PR")} behind HEAD`;
|
|
376
437
|
}
|
|
438
|
+
/** MIL-214: the `(partial, N unruled finding(s))`/`(partial)`/`(N unruled finding(s))` suffix
|
|
439
|
+
* both text formatters below append — `""` when the marker isn't partial and there's nothing
|
|
440
|
+
* (or nothing known) to report. `unruledFindings` is reported even on a non-partial marker: a
|
|
441
|
+
* marker can only be non-partial with unruled findings outstanding when `em state
|
|
442
|
+
* set-conformance` predates MIL-214's refusal (an older marker) or the findings surfaced after
|
|
443
|
+
* the marker was recorded — worth showing either way, never treated as a contradiction. */
|
|
444
|
+
function formatConformanceCaveats(entry) {
|
|
445
|
+
const parts = [];
|
|
446
|
+
if (entry.lastConformance?.partial)
|
|
447
|
+
parts.push("partial");
|
|
448
|
+
if (entry.unruledFindings !== null && entry.unruledFindings > 0)
|
|
449
|
+
parts.push(pluralize(entry.unruledFindings, "unruled finding"));
|
|
450
|
+
return parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
451
|
+
}
|
|
377
452
|
/** Exported for `em freshness` (freshness.ts, MIL-164) — the standalone surface for exactly
|
|
378
453
|
* this one clause, without pulling in the rest of `em status`'s rollup. */
|
|
379
454
|
export function formatConformancePart(entry) {
|
|
@@ -383,7 +458,7 @@ export function formatConformancePart(entry) {
|
|
|
383
458
|
return "no state file";
|
|
384
459
|
if (!entry.lastConformance)
|
|
385
460
|
return "never conformed";
|
|
386
|
-
return `last conformed ${entry.lastConformance.revision} — ${formatBehindHead(entry)}`;
|
|
461
|
+
return `last conformed ${entry.lastConformance.revision} — ${formatBehindHead(entry)}${formatConformanceCaveats(entry)}`;
|
|
387
462
|
}
|
|
388
463
|
/** Same facts as `formatConformancePart`, without the leading "last conformed"/"conformance
|
|
389
464
|
* unknown" prose — for a markdown table cell that already carries a "Last conformed" row
|
|
@@ -395,7 +470,7 @@ function formatConformanceValue(entry) {
|
|
|
395
470
|
return "no state file";
|
|
396
471
|
if (!entry.lastConformance)
|
|
397
472
|
return "never conformed";
|
|
398
|
-
return `\`${entry.lastConformance.revision}\` — ${formatBehindHead(entry)}`;
|
|
473
|
+
return `\`${entry.lastConformance.revision}\` — ${formatBehindHead(entry)}${formatConformanceCaveats(entry)}`;
|
|
399
474
|
}
|
|
400
475
|
/** MIL-202: the per-model constitution clause — `present`, or `absent (<expected path>)` with
|
|
401
476
|
* the path the entry already resolved (relative to that model's own directory). Shared by the
|
|
@@ -403,6 +478,26 @@ function formatConformanceValue(entry) {
|
|
|
403
478
|
export function formatConstitutionPart(entry) {
|
|
404
479
|
return entry.constitution.present ? "present" : `absent (${entry.constitution.path ?? "unresolved"})`;
|
|
405
480
|
}
|
|
481
|
+
/** MIL-218: the per-model model-version clause — design version, most recently certified
|
|
482
|
+
* version (if any), and whether the vector has drifted since the design version was bumped.
|
|
483
|
+
* `"never bumped"` when `entry.design` is `null` — the routine state for a model that hasn't
|
|
484
|
+
* opted into `em model version bump` yet. */
|
|
485
|
+
export function formatModelVersionPart(entry) {
|
|
486
|
+
if (entry.design === null)
|
|
487
|
+
return "never bumped";
|
|
488
|
+
const certifiedPart = entry.certified ? `certified v${entry.certified.version} @ ${entry.certified.at}` : "never certified";
|
|
489
|
+
const driftPart = entry.drifted ? " (drifted since bump)" : "";
|
|
490
|
+
return `v${entry.design} — ${certifiedPart}${driftPart}`;
|
|
491
|
+
}
|
|
492
|
+
/** MIL-219: `"recorded 1.10.0, installed 1.13.0 — behind, run \`em upgrade\`"`, or `"recorded
|
|
493
|
+
* unknown, installed 1.13.0"` when the state file predates the `Em version:` bullet — never
|
|
494
|
+
* claims "behind" without a recorded value to compare (same conservative reading
|
|
495
|
+
* `resolveEmVersionStatusEntry`'s own `isOlder` call holds). */
|
|
496
|
+
export function formatEmVersionPart(entry) {
|
|
497
|
+
const recordedPart = entry.recorded ?? "unknown";
|
|
498
|
+
const behindPart = entry.behind ? " — behind, run `em upgrade`" : "";
|
|
499
|
+
return `recorded ${recordedPart}, installed ${entry.installed}${behindPart}`;
|
|
500
|
+
}
|
|
406
501
|
/** The one-line rollup: `"8/8 implemented · 20/20 invariants covered · 0 open issues · last
|
|
407
502
|
* conformed <rev>, N commits behind HEAD"` (MIL-163's acceptance line). For multiple input
|
|
408
503
|
* models, the conformance clause reports the FIRST file's entry — a single-file invocation is
|
|
@@ -427,9 +522,14 @@ export function formatStatusDetail(report) {
|
|
|
427
522
|
lines.push(`slices: ${report.slices.total} total — ${byStatus.implemented} implemented, ${byStatus.readyToImplement} ready-to-implement, ` +
|
|
428
523
|
`${byStatus.reviewed} reviewed, ${byStatus.draft} draft, ${byStatus.noDoc} no doc, ${byStatus.frontmatterInvalid} frontmatter invalid, ` +
|
|
429
524
|
`${byStatus.unknown} unknown status`);
|
|
525
|
+
// MIL-208: continuation slices (again-view-only, no doc of their own) are excluded from
|
|
526
|
+
// `byStatus`/`driftSignal` above (the originating slice's own status/drift already counts
|
|
527
|
+
// once) — named on their own line rather than silently missing from the total.
|
|
528
|
+
lines.push(`continuations: ${report.continuations} (again view instances — no status of their own)`);
|
|
430
529
|
const d = report.driftSignal;
|
|
431
530
|
lines.push(`driftSignal: ${d.inSync} in-sync, ${d.neverImplemented} never-implemented, ${d.unpropagatedDelta} unpropagated-delta, ` +
|
|
432
|
-
`${d.implementedWithoutLink} implemented-without-link, ${d.
|
|
531
|
+
`${d.implementedWithoutLink} implemented-without-link, ${d.uncertified} uncertified, ${d.notApplicable} n/a (no doc), ` +
|
|
532
|
+
`${d.frontmatterInvalid} n/a (frontmatter invalid)`);
|
|
433
533
|
lines.push(report.invariants
|
|
434
534
|
? `invariants: ${report.invariants.cited}/${report.invariants.total} covered (${report.invariants.uncovered} uncovered) — ${report.invariants.testsDir}`
|
|
435
535
|
: "invariants: not checked — pass --tests <dir> to enable");
|
|
@@ -446,6 +546,20 @@ export function formatStatusDetail(report) {
|
|
|
446
546
|
const label = multi ? `constitution (${entry.file}): ` : "constitution: ";
|
|
447
547
|
lines.push(`${label}${formatConstitutionPart(entry)}`);
|
|
448
548
|
}
|
|
549
|
+
// MIL-218: one model version line per model, after the constitution lines, same multi-model
|
|
550
|
+
// labelling convention.
|
|
551
|
+
const multiModelVersion = report.modelVersion.length > 1;
|
|
552
|
+
for (const entry of report.modelVersion) {
|
|
553
|
+
const label = multiModelVersion ? `model version (${entry.file}): ` : "model version: ";
|
|
554
|
+
lines.push(`${label}${formatModelVersionPart(entry)}`);
|
|
555
|
+
}
|
|
556
|
+
// MIL-219: one em version line per model whose state file resolved, after the model version
|
|
557
|
+
// lines, same multi-model labelling convention.
|
|
558
|
+
const multiEmVersion = report.emVersion.length > 1;
|
|
559
|
+
for (const entry of report.emVersion) {
|
|
560
|
+
const label = multiEmVersion ? `em version (${entry.file}): ` : "em version: ";
|
|
561
|
+
lines.push(`${label}${formatEmVersionPart(entry)}`);
|
|
562
|
+
}
|
|
449
563
|
if (report.diagnostics.length > 0) {
|
|
450
564
|
lines.push(`doc issues: ${pluralize(report.diagnostics.length, "warning")} — see diagnostics (${report.diagnostics.map((d) => d.code).join(", ")})`);
|
|
451
565
|
}
|
|
@@ -475,6 +589,7 @@ export function formatStatusMarkdown(report) {
|
|
|
475
589
|
const { byStatus } = report.slices;
|
|
476
590
|
const rows = [
|
|
477
591
|
["Slices", `${byStatus.implemented}/${report.slices.total} implemented (${byStatus.readyToImplement} ready-to-implement, ${byStatus.reviewed} reviewed, ${byStatus.draft} draft)`],
|
|
592
|
+
["Continuations", `${report.continuations}`],
|
|
478
593
|
["Invariants", report.invariants ? `${report.invariants.cited}/${report.invariants.total} covered` : "not checked"],
|
|
479
594
|
["Open issues", `${report.issues.openIssues}`],
|
|
480
595
|
["Open questions", `${report.issues.openQuestionsUnchecked} unchecked`],
|
|
@@ -497,6 +612,26 @@ export function formatStatusMarkdown(report) {
|
|
|
497
612
|
rows.push([`Constitution (${entry.file})`, formatConstitutionPart(entry)]);
|
|
498
613
|
}
|
|
499
614
|
}
|
|
615
|
+
// MIL-218: one Model version row per model, same single-vs-multi labelling.
|
|
616
|
+
if (report.modelVersion.length <= 1) {
|
|
617
|
+
if (report.modelVersion[0])
|
|
618
|
+
rows.push(["Model version", formatModelVersionPart(report.modelVersion[0])]);
|
|
619
|
+
}
|
|
620
|
+
else {
|
|
621
|
+
for (const entry of report.modelVersion) {
|
|
622
|
+
rows.push([`Model version (${entry.file})`, formatModelVersionPart(entry)]);
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
// MIL-219: one Em version row per model whose state file resolved, same single-vs-multi
|
|
626
|
+
// labelling as "Model version".
|
|
627
|
+
if (report.emVersion.length === 1) {
|
|
628
|
+
rows.push(["Em version", formatEmVersionPart(report.emVersion[0])]);
|
|
629
|
+
}
|
|
630
|
+
else {
|
|
631
|
+
for (const entry of report.emVersion) {
|
|
632
|
+
rows.push([`Em version (${entry.file})`, formatEmVersionPart(entry)]);
|
|
633
|
+
}
|
|
634
|
+
}
|
|
500
635
|
const header = "| Metric | Value |\n|---|---|";
|
|
501
636
|
const body = rows.map(([k, v]) => `| ${escapeCell(k)} | ${escapeCell(v)} |`).join("\n");
|
|
502
637
|
return `${header}\n${body}`;
|
package/dist/cli/status.js.map
CHANGED
|
@@ -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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"}
|