@milehimikey/em 1.19.7 → 1.21.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 +1 -1
- package/.claude/skills/event-modeling-conform/SKILL.md +1 -1
- package/.claude/skills/event-modeling-conform/reference/conform.md +29 -1
- package/.claude/skills/event-modeling-design/SKILL.md +33 -7
- package/.claude/skills/event-modeling-discover/SKILL.md +2 -2
- package/.claude/skills/event-modeling-discover/reference/extract.md +12 -0
- package/.claude/skills/event-modeling-engagement/SKILL.md +1 -1
- package/.claude/skills/event-modeling-implement/SKILL.md +7 -2
- package/.claude/skills/event-modeling-implement/reference/implement.md +73 -6
- package/.claude/skills/event-modeling-review/SKILL.md +19 -7
- package/.claude/skills/event-modeling-shared/reference/em-dsl.md +57 -5
- package/.claude/skills/event-modeling-shared/reference/methodology.md +51 -2
- package/.claude/skills/event-modeling-shared/reference/slice-doc-schema.md +2 -1
- package/.claude/skills/event-modeling-shared/templates/model-readme.md +10 -2
- package/.claude/skills/event-modeling-shared/templates/slice.md +12 -1
- package/.claude-plugin/marketplace.json +2 -2
- package/dist/catalog/build.js +6 -5
- package/dist/catalog/build.js.map +1 -1
- package/dist/catalog/coverage.d.ts +3 -0
- package/dist/catalog/coverage.js +12 -0
- package/dist/catalog/coverage.js.map +1 -1
- package/dist/catalog/docBadge.d.ts +16 -0
- package/dist/catalog/docBadge.js +50 -0
- package/dist/catalog/docBadge.js.map +1 -0
- package/dist/catalog/docLocate.d.ts +17 -0
- package/dist/catalog/docLocate.js +97 -0
- package/dist/catalog/docLocate.js.map +1 -0
- package/dist/catalog/docModelConsistencyValidate.js +9 -2
- package/dist/catalog/docModelConsistencyValidate.js.map +1 -1
- package/dist/catalog/frontmatterCoherenceValidate.js +16 -1
- package/dist/catalog/frontmatterCoherenceValidate.js.map +1 -1
- package/dist/catalog/invTokens.d.ts +49 -0
- package/dist/catalog/invTokens.js +94 -0
- package/dist/catalog/invTokens.js.map +1 -0
- package/dist/catalog/orphanedSliceDocValidate.js +15 -10
- package/dist/catalog/orphanedSliceDocValidate.js.map +1 -1
- package/dist/catalog/pages.js +48 -1
- package/dist/catalog/pages.js.map +1 -1
- package/dist/catalog/readSliceDoc.js +5 -4
- package/dist/catalog/readSliceDoc.js.map +1 -1
- package/dist/catalog/scenarioQualityValidate.js +2 -2
- package/dist/catalog/scenarioQualityValidate.js.map +1 -1
- package/dist/catalog/scenarios.d.ts +4 -0
- package/dist/catalog/scenarios.js +4 -1
- package/dist/catalog/scenarios.js.map +1 -1
- package/dist/catalog/sliceDoc.d.ts +54 -1
- package/dist/catalog/sliceDoc.js +99 -2
- package/dist/catalog/sliceDoc.js.map +1 -1
- package/dist/catalog/sliceDocRender.d.ts +3 -0
- package/dist/catalog/sliceDocRender.js +295 -0
- package/dist/catalog/sliceDocRender.js.map +1 -0
- package/dist/catalog/sliceSections.d.ts +18 -1
- package/dist/catalog/sliceSections.js +38 -4
- package/dist/catalog/sliceSections.js.map +1 -1
- package/dist/cli/coverage.d.ts +13 -23
- package/dist/cli/coverage.js +51 -91
- package/dist/cli/coverage.js.map +1 -1
- package/dist/cli/defer.js +3 -2
- package/dist/cli/defer.js.map +1 -1
- package/dist/cli/ledgerCheck.js +11 -8
- package/dist/cli/ledgerCheck.js.map +1 -1
- package/dist/cli/markImplemented.js +2 -2
- package/dist/cli/markImplemented.js.map +1 -1
- package/dist/cli/ratify.js +2 -2
- package/dist/cli/ratify.js.map +1 -1
- package/dist/cli/refsCheck.d.ts +52 -0
- package/dist/cli/refsCheck.js +129 -2
- package/dist/cli/refsCheck.js.map +1 -1
- package/dist/cli/render-inputs.d.ts +1 -1
- package/dist/cli/render-inputs.js +3 -2
- package/dist/cli/render-inputs.js.map +1 -1
- package/dist/cli/review.js +2 -2
- package/dist/cli/review.js.map +1 -1
- package/dist/cli/revise.js +2 -2
- package/dist/cli/revise.js.map +1 -1
- package/dist/cli/skillDirs.d.ts +22 -0
- package/dist/cli/skillDirs.js +24 -0
- package/dist/cli/skillDirs.js.map +1 -1
- package/dist/cli/sliceConform.d.ts +57 -1
- package/dist/cli/sliceConform.js +111 -10
- package/dist/cli/sliceConform.js.map +1 -1
- package/dist/cli/sliceIndex.d.ts +19 -3
- package/dist/cli/sliceIndex.js +81 -17
- package/dist/cli/sliceIndex.js.map +1 -1
- package/dist/cli/sliceNew.js +2 -0
- package/dist/cli/sliceNew.js.map +1 -1
- package/dist/cli/sliceStubAll.js +7 -2
- package/dist/cli/sliceStubAll.js.map +1 -1
- package/dist/cli/sliceSync.d.ts +12 -0
- package/dist/cli/sliceSync.js +42 -4
- package/dist/cli/sliceSync.js.map +1 -1
- package/dist/cli/status.d.ts +3 -4
- package/dist/cli/status.js +5 -4
- package/dist/cli/status.js.map +1 -1
- package/dist/cli/storylineSplit.d.ts +18 -0
- package/dist/cli/storylineSplit.js +110 -0
- package/dist/cli/storylineSplit.js.map +1 -0
- package/dist/cli/upgrade.js +39 -14
- package/dist/cli/upgrade.js.map +1 -1
- package/dist/cli/watchStoryline.d.ts +33 -0
- package/dist/cli/watchStoryline.js +65 -0
- package/dist/cli/watchStoryline.js.map +1 -0
- package/dist/cli.js +423 -71
- package/dist/cli.js.map +1 -1
- package/dist/emit/docJson.d.ts +99 -0
- package/dist/emit/docJson.js +197 -0
- package/dist/emit/docJson.js.map +1 -0
- package/dist/emit/json.d.ts +22 -1
- package/dist/emit/json.js +12 -1
- package/dist/emit/json.js.map +1 -1
- package/dist/emit/refsJson.d.ts +5 -3
- package/dist/emit/refsJson.js +5 -2
- package/dist/emit/refsJson.js.map +1 -1
- package/dist/mcp/server.js +43 -9
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/continuation.d.ts +9 -0
- package/dist/model/continuation.js +30 -0
- package/dist/model/continuation.js.map +1 -1
- package/dist/model/edges.d.ts +1 -1
- package/dist/model/edges.js +8 -1
- package/dist/model/edges.js.map +1 -1
- package/dist/model/loadModel.d.ts +38 -0
- package/dist/model/loadModel.js +122 -0
- package/dist/model/loadModel.js.map +1 -0
- package/dist/model/model.d.ts +9 -4
- package/dist/model/model.js +4 -0
- package/dist/model/model.js.map +1 -1
- package/dist/model/rules.d.ts +31 -0
- package/dist/model/rules.js +31 -0
- package/dist/model/rules.js.map +1 -1
- package/dist/model/shapeLint.js +143 -0
- package/dist/model/shapeLint.js.map +1 -1
- package/dist/model/sliceDocIndex.js +13 -5
- package/dist/model/sliceDocIndex.js.map +1 -1
- package/dist/model/sliceDocPath.d.ts +19 -0
- package/dist/model/sliceDocPath.js +49 -0
- package/dist/model/sliceDocPath.js.map +1 -0
- package/dist/model/storylineMap.d.ts +20 -0
- package/dist/model/storylineMap.js +55 -0
- package/dist/model/storylineMap.js.map +1 -0
- package/dist/model/validate.d.ts +7 -0
- package/dist/model/validate.js +127 -0
- package/dist/model/validate.js.map +1 -1
- package/dist/parser/ast.d.ts +27 -0
- package/dist/parser/parser.d.ts +17 -1
- package/dist/parser/parser.js +142 -3
- package/dist/parser/parser.js.map +1 -1
- package/dist/pipeline.d.ts +16 -0
- package/dist/pipeline.js +19 -2
- package/dist/pipeline.js.map +1 -1
- package/dist/render/drawEdges.d.ts +5 -1
- package/dist/render/drawEdges.js +57 -4
- package/dist/render/drawEdges.js.map +1 -1
- package/dist/render/drawNotes.d.ts +4 -1
- package/dist/render/drawNotes.js +40 -10
- package/dist/render/drawNotes.js.map +1 -1
- package/dist/render/render.d.ts +11 -0
- package/dist/render/render.js +93 -10
- package/dist/render/render.js.map +1 -1
- package/dist/render/serve.d.ts +5 -0
- package/dist/render/serve.js +18 -2
- package/dist/render/serve.js.map +1 -1
- package/dist/render/sliceDiagram.js +3 -0
- package/dist/render/sliceDiagram.js.map +1 -1
- package/dist/render/sliceOverlay.d.ts +5 -1
- package/dist/render/sliceOverlay.js +24 -2
- package/dist/render/sliceOverlay.js.map +1 -1
- package/dist/render/sliceStatus.d.ts +8 -0
- package/dist/render/sliceStatus.js +22 -15
- package/dist/render/sliceStatus.js.map +1 -1
- package/dist/render/storylineBands.d.ts +0 -3
- package/dist/render/storylineBands.js +2 -22
- package/dist/render/storylineBands.js.map +1 -1
- package/dist/render/storylineDiagram.js +17 -69
- package/dist/render/storylineDiagram.js.map +1 -1
- package/dist/render/storylineMap.d.ts +18 -0
- package/dist/render/storylineMap.js +263 -0
- package/dist/render/storylineMap.js.map +1 -0
- package/dist/render/storylinePicker.d.ts +9 -0
- package/dist/render/storylinePicker.js +17 -0
- package/dist/render/storylinePicker.js.map +1 -0
- package/dist/render/svgGeometry.d.ts +9 -0
- package/dist/render/svgGeometry.js +16 -0
- package/dist/render/svgGeometry.js.map +1 -1
- package/dist/render/viewerHtml.js +1 -1
- package/dist/render/viewerHtml.js.map +1 -1
- package/dist/templates.d.ts +1 -1
- package/dist/templates.js +10 -2
- package/dist/templates.js.map +1 -1
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +2 -2
- package/plugin/shared/reference/em-dsl.md +57 -5
- package/plugin/shared/reference/methodology.md +51 -2
- package/plugin/shared/reference/slice-doc-schema.md +2 -1
- package/plugin/shared/templates/model-readme.md +10 -2
- package/plugin/shared/templates/slice.md +12 -1
- package/plugin/skills/conform/SKILL.md +1 -1
- package/plugin/skills/conform/reference/conform.md +29 -1
- package/plugin/skills/design/SKILL.md +33 -7
- package/plugin/skills/discover/SKILL.md +2 -2
- package/plugin/skills/discover/reference/extract.md +12 -0
- package/plugin/skills/engagement/SKILL.md +1 -1
- package/plugin/skills/event-modeling/SKILL.md +1 -1
- package/plugin/skills/implement/SKILL.md +7 -2
- package/plugin/skills/implement/reference/implement.md +73 -6
- package/plugin/skills/review/SKILL.md +19 -7
package/dist/cli/sliceIndex.d.ts
CHANGED
|
@@ -4,8 +4,12 @@ import { Diagnostic } from "../model/validate.js";
|
|
|
4
4
|
/** The marker name wrapping the Slices table: `<!-- GENERATED:slices:start -->` /
|
|
5
5
|
* `<!-- GENERATED:slices:end -->`, matching templates/model-readme.md. */
|
|
6
6
|
export declare const SLICE_INDEX_MARKER = "slices";
|
|
7
|
+
/** The root README's storyline table (`GENERATED:storylines`). */
|
|
8
|
+
export declare const STORYLINE_INDEX_MARKER = "storylines";
|
|
7
9
|
export interface SliceIndexRow {
|
|
8
10
|
index: number;
|
|
11
|
+
/** The slice's position in `model.slices` (the timeline), for grouping and ordering. */
|
|
12
|
+
sliceIndex: number;
|
|
9
13
|
name: string;
|
|
10
14
|
/** GH #277: the `storyline` block the slice is declared in, or `—`. The column is only
|
|
11
15
|
* rendered when the model declares at least one storyline (see `buildSliceIndexTable`), so a
|
|
@@ -27,22 +31,34 @@ export interface SliceIndexRow {
|
|
|
27
31
|
}
|
|
28
32
|
export interface SliceIndexTable {
|
|
29
33
|
/** The full replacement body for the GENERATED:slices block — header + one row per slice
|
|
30
|
-
* (or just the header when the model has no slices yet).
|
|
34
|
+
* (or just the header when the model has no slices yet). For a model that declares
|
|
35
|
+
* storylines: one `### <Storyline>` section per storyline, its slices in timeline order and
|
|
36
|
+
* numbered within the story, then any slice outside every storyline. */
|
|
31
37
|
markdown: string;
|
|
38
|
+
/** The GENERATED:storylines body for the root README: one row per storyline (slice count,
|
|
39
|
+
* implemented count, diagram link) and the canvas link. Empty string without storylines. */
|
|
40
|
+
storylinesMarkdown: string;
|
|
32
41
|
rows: SliceIndexRow[];
|
|
33
42
|
/** binding-missing-file / frontmatter-invalid warnings from resolveSliceDocJoin — the same
|
|
34
43
|
* diagnostics `em export` surfaces for a broken doc binding. */
|
|
35
44
|
diagnostics: Diagnostic[];
|
|
36
45
|
}
|
|
46
|
+
export interface SliceIndexOptions {
|
|
47
|
+
/** Every lifecycle column (the pre-2026-11 table) instead of the reader's five. */
|
|
48
|
+
full?: boolean;
|
|
49
|
+
}
|
|
37
50
|
/** Build the Slices table body for `model`. `baseDir` is the `.em` file's directory — same
|
|
38
51
|
* doc-resolution convention `em export`/`em catalog` use for `slices/<key>.md`. */
|
|
39
|
-
export declare function buildSliceIndexTable(model: NormalizedModel, refs: RefsResult, baseDir: string): SliceIndexTable;
|
|
52
|
+
export declare function buildSliceIndexTable(model: NormalizedModel, refs: RefsResult, baseDir: string, opts?: SliceIndexOptions): SliceIndexTable;
|
|
40
53
|
export type SliceIndexResult = {
|
|
41
54
|
ok: true;
|
|
42
55
|
readmePath: string;
|
|
43
56
|
wrote: boolean;
|
|
44
57
|
changed: boolean;
|
|
45
58
|
table: SliceIndexTable;
|
|
59
|
+
/** `GENERATED:storylines` outcome: `absent` (the README has no such markers — add the
|
|
60
|
+
* section from templates/model-readme.md), `written`, `current`, or `n/a` (no storylines). */
|
|
61
|
+
storylines: "absent" | "written" | "current" | "n/a";
|
|
46
62
|
} | {
|
|
47
63
|
ok: false;
|
|
48
64
|
kind: "missing-readme" | "missing-markers" | "stale";
|
|
@@ -59,4 +75,4 @@ export type SliceIndexResult = {
|
|
|
59
75
|
* `check: true` never writes to disk; a stale table is reported as `kind: "stale"` instead
|
|
60
76
|
* (CI-ready — the caller exits non-zero without having touched the working tree).
|
|
61
77
|
*/
|
|
62
|
-
export declare function runSliceIndex(model: NormalizedModel, refs: RefsResult, emFilePath: string, check: boolean): SliceIndexResult;
|
|
78
|
+
export declare function runSliceIndex(model: NormalizedModel, refs: RefsResult, emFilePath: string, check: boolean, opts?: SliceIndexOptions): SliceIndexResult;
|
package/dist/cli/sliceIndex.js
CHANGED
|
@@ -13,11 +13,21 @@ import { dirname, join } from "node:path";
|
|
|
13
13
|
import { classifySlicePattern, slicePatternLabel } from "../catalog/classify.js";
|
|
14
14
|
import { resolveSliceDocJoin } from "../catalog/docJoin.js";
|
|
15
15
|
import { applyMarker } from "../util/markers.js";
|
|
16
|
+
import { composedRank } from "../model/storylines.js";
|
|
17
|
+
import { kebabSlug } from "../util/slug.js";
|
|
18
|
+
import { docDirOf } from "../model/sliceDocPath.js";
|
|
16
19
|
/** The marker name wrapping the Slices table: `<!-- GENERATED:slices:start -->` /
|
|
17
20
|
* `<!-- GENERATED:slices:end -->`, matching templates/model-readme.md. */
|
|
18
21
|
export const SLICE_INDEX_MARKER = "slices";
|
|
22
|
+
/** The full table (`--full`): every lifecycle column. */
|
|
19
23
|
const TABLE_HEADER = "| # | Slice | Pattern | Status | Reviewed by | Ratified by | Owner | Tracking | Implemented in | Conformed | Design doc |\n" +
|
|
20
24
|
"|---|-------|---------|--------|-------------|-------------|-------|----------|----------------|-----------|------------|";
|
|
25
|
+
/** The reader's table (default since the 2026-11-03 ruling): what a person needs to find a slice.
|
|
26
|
+
* The lifecycle columns are `em status`'s job; `--full` brings them back. */
|
|
27
|
+
const READER_HEADER = "| # | Slice | Pattern | Status | Design doc |\n|---|-------|---------|--------|------------|";
|
|
28
|
+
/** The root README's storyline table (`GENERATED:storylines`). */
|
|
29
|
+
export const STORYLINE_INDEX_MARKER = "storylines";
|
|
30
|
+
const STORYLINE_HEADER = "| Storyline | Slices | Implemented | Diagram |\n|-----------|--------|-------------|---------|";
|
|
21
31
|
/** MIL-214: `v<N> @ <rev>` when this slice's current version has a conformance certification
|
|
22
32
|
* (`doc.conformedVersion`/`doc.conformedAt` both set — always set together, `em slice conform`'s
|
|
23
33
|
* only write path), `—` otherwise. Deliberately reports the RECORDED certification verbatim,
|
|
@@ -57,7 +67,7 @@ function statusCell(doc, continuationOf) {
|
|
|
57
67
|
}
|
|
58
68
|
/** Build the Slices table body for `model`. `baseDir` is the `.em` file's directory — same
|
|
59
69
|
* doc-resolution convention `em export`/`em catalog` use for `slices/<key>.md`. */
|
|
60
|
-
export function buildSliceIndexTable(model, refs, baseDir) {
|
|
70
|
+
export function buildSliceIndexTable(model, refs, baseDir, opts = {}) {
|
|
61
71
|
const diagnostics = [];
|
|
62
72
|
// GH #287: a continuation column synthesized from `view X again` inside another slice has no
|
|
63
73
|
// source slice block of its own, so it gets no row (and does not consume a row number).
|
|
@@ -71,6 +81,7 @@ export function buildSliceIndexTable(model, refs, baseDir) {
|
|
|
71
81
|
diagnostics.push(...docDiags);
|
|
72
82
|
rows.push({
|
|
73
83
|
index: rows.length + 1,
|
|
84
|
+
sliceIndex: i,
|
|
74
85
|
name: slice.name,
|
|
75
86
|
storyline: slice.storyline ?? "—",
|
|
76
87
|
pattern: slicePatternLabel(pattern),
|
|
@@ -85,18 +96,58 @@ export function buildSliceIndexTable(model, refs, baseDir) {
|
|
|
85
96
|
implementedIn: continuationOf ? "—" : (doc.implementedIn ?? "—"),
|
|
86
97
|
conformed: continuationOf ? "—" : conformedCell(doc),
|
|
87
98
|
// GH #275: `no-doc-bound` carries a made-up `slices/<key>.md` path that nothing backs.
|
|
88
|
-
|
|
99
|
+
// GH #421: the README sits beside the root, the doc beside its declaring file — link through the folder
|
|
100
|
+
docPath: !doc.found && doc.reason === "no-doc-bound" ? null : `${docDirOf(slice)}${doc.path}`,
|
|
89
101
|
});
|
|
90
102
|
});
|
|
91
|
-
|
|
92
|
-
const withStoryline =
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
103
|
+
const storylines = model.storylines ?? [];
|
|
104
|
+
const withStoryline = storylines.length > 0;
|
|
105
|
+
const full = opts.full === true;
|
|
106
|
+
// `--full` keeps the pre-2026-11 table: every lifecycle column, plus (GH #277) a Storyline
|
|
107
|
+
// column right after Slice when the model declares storylines.
|
|
108
|
+
const header = !full
|
|
109
|
+
? READER_HEADER
|
|
110
|
+
: withStoryline
|
|
111
|
+
? TABLE_HEADER.split("\n").map((l, n) => (n === 0 ? l.replace("| Slice |", "| Slice | Storyline |") : l.replace("|-------|", "|-------|-----------|"))).join("\n")
|
|
112
|
+
: TABLE_HEADER;
|
|
113
|
+
const line = (r, n) => {
|
|
114
|
+
const doc = r.docPath ? `[${r.docPath}](${r.docPath})` : "—";
|
|
115
|
+
if (!full)
|
|
116
|
+
return `| ${n} | ${escapeCell(r.name)} | ${escapeCell(r.pattern)} | ${escapeCell(r.status)} | ${doc} |`;
|
|
117
|
+
return (`| ${n} | ${escapeCell(r.name)} | ${withStoryline ? `${escapeCell(r.storyline)} | ` : ""}${escapeCell(r.pattern)} | ${escapeCell(r.status)} | ` +
|
|
118
|
+
`${escapeCell(r.reviewedBy)} | ${escapeCell(r.ratifiedBy)} | ${escapeCell(r.owner)} | ` +
|
|
119
|
+
`${escapeCell(r.tracking)} | ${escapeCell(r.implementedIn)} | ${escapeCell(r.conformed)} | ${doc} |`);
|
|
120
|
+
};
|
|
121
|
+
let markdown;
|
|
122
|
+
let storylinesMarkdown = "";
|
|
123
|
+
if (!withStoryline) {
|
|
124
|
+
markdown = [header, ...rows.map((r) => line(r, r.index))].join("\n");
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
// One section per storyline (document order), its slices on the composed timeline and
|
|
128
|
+
// numbered within the story — the same "Step N of M" the doc's story line states — then
|
|
129
|
+
// any slice outside every storyline. The storyline's own diagram is `em render --map`'s
|
|
130
|
+
// (or `--storyline`'s) default output.
|
|
131
|
+
const byIndex = new Map(rows.map((r) => [r.sliceIndex, r]));
|
|
132
|
+
const sections = [];
|
|
133
|
+
const placed = new Set();
|
|
134
|
+
const storyRows = [];
|
|
135
|
+
for (const st of storylines) {
|
|
136
|
+
const members = [...st.sliceIndexes].sort((a, b) => composedRank(model, a) - composedRank(model, b)).map((i) => byIndex.get(i)).filter((r) => r !== undefined);
|
|
137
|
+
for (const r of members)
|
|
138
|
+
placed.add(r.sliceIndex);
|
|
139
|
+
const svg = `storylines/${kebabSlug(st.name)}.svg`;
|
|
140
|
+
sections.push(`### ${st.name}`, `_${members.length} slice${members.length === 1 ? "" : "s"} · [diagram](${svg})_`, "", header, ...members.map((r, n) => line(r, n + 1)), "");
|
|
141
|
+
const implemented = members.filter((r) => r.status === "implemented").length;
|
|
142
|
+
storyRows.push(`| ${escapeCell(st.name)} | ${members.length} | ${implemented} | [${svg}](${svg}) |`);
|
|
143
|
+
}
|
|
144
|
+
const outside = rows.filter((r) => !placed.has(r.sliceIndex));
|
|
145
|
+
if (outside.length > 0)
|
|
146
|
+
sections.push("### Outside any storyline", "", header, ...outside.map((r, n) => line(r, n + 1)), "");
|
|
147
|
+
markdown = sections.join("\n").trimEnd();
|
|
148
|
+
storylinesMarkdown = [STORYLINE_HEADER, ...storyRows, "", "Canvas: [storylines/map.html](storylines/map.html) (`em render --map`)"].join("\n");
|
|
149
|
+
}
|
|
150
|
+
return { markdown, storylinesMarkdown, rows, diagnostics };
|
|
100
151
|
}
|
|
101
152
|
/**
|
|
102
153
|
* Rewrite (or, in `check` mode, verify) the GENERATED:slices block in `<dirname(emFilePath)>/
|
|
@@ -108,10 +159,10 @@ export function buildSliceIndexTable(model, refs, baseDir) {
|
|
|
108
159
|
* `check: true` never writes to disk; a stale table is reported as `kind: "stale"` instead
|
|
109
160
|
* (CI-ready — the caller exits non-zero without having touched the working tree).
|
|
110
161
|
*/
|
|
111
|
-
export function runSliceIndex(model, refs, emFilePath, check) {
|
|
162
|
+
export function runSliceIndex(model, refs, emFilePath, check, opts = {}) {
|
|
112
163
|
const baseDir = dirname(emFilePath);
|
|
113
164
|
const readmePath = join(baseDir, "README.md");
|
|
114
|
-
const table = buildSliceIndexTable(model, refs, baseDir);
|
|
165
|
+
const table = buildSliceIndexTable(model, refs, baseDir, opts);
|
|
115
166
|
if (!existsSync(readmePath)) {
|
|
116
167
|
return {
|
|
117
168
|
ok: false,
|
|
@@ -134,9 +185,22 @@ export function runSliceIndex(model, refs, emFilePath, check) {
|
|
|
134
185
|
table,
|
|
135
186
|
};
|
|
136
187
|
}
|
|
137
|
-
|
|
188
|
+
// The storyline table is optional: a README scaffolded before 2026-11 has no
|
|
189
|
+
// GENERATED:storylines markers, and that is a hint, never an error.
|
|
190
|
+
let storylines = "n/a";
|
|
191
|
+
let next = updated;
|
|
192
|
+
if (table.storylinesMarkdown !== "") {
|
|
193
|
+
const withStorylines = applyMarker(updated, STORYLINE_INDEX_MARKER, table.storylinesMarkdown);
|
|
194
|
+
if (withStorylines === null)
|
|
195
|
+
storylines = "absent";
|
|
196
|
+
else {
|
|
197
|
+
storylines = withStorylines === updated ? "current" : "written";
|
|
198
|
+
next = withStorylines;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
const changed = next !== original;
|
|
138
202
|
if (!changed)
|
|
139
|
-
return { ok: true, readmePath, wrote: false, changed: false, table };
|
|
203
|
+
return { ok: true, readmePath, wrote: false, changed: false, table, storylines };
|
|
140
204
|
if (check) {
|
|
141
205
|
return {
|
|
142
206
|
ok: false,
|
|
@@ -146,7 +210,7 @@ export function runSliceIndex(model, refs, emFilePath, check) {
|
|
|
146
210
|
table,
|
|
147
211
|
};
|
|
148
212
|
}
|
|
149
|
-
writeFileSync(readmePath,
|
|
150
|
-
return { ok: true, readmePath, wrote: true, changed: true, table };
|
|
213
|
+
writeFileSync(readmePath, next, "utf8");
|
|
214
|
+
return { ok: true, readmePath, wrote: true, changed: true, table, storylines };
|
|
151
215
|
}
|
|
152
216
|
//# sourceMappingURL=sliceIndex.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sliceIndex.js","sourceRoot":"","sources":["../../src/cli/sliceIndex.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,6FAA6F;AAC7F,6FAA6F;AAC7F,sFAAsF;AACtF,iGAAiG;AACjG,EAAE;AACF,0FAA0F;AAC1F,uFAAuF;AACvF,+FAA+F;AAC/F,sDAAsD;AAEtD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAI1C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAkB,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"sliceIndex.js","sourceRoot":"","sources":["../../src/cli/sliceIndex.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/sliceNew.js
CHANGED
|
@@ -68,6 +68,8 @@ alternatives = []) {
|
|
|
68
68
|
``,
|
|
69
69
|
``,
|
|
70
70
|
``,
|
|
71
|
+
...block("story"),
|
|
72
|
+
``,
|
|
71
73
|
`## Intent`,
|
|
72
74
|
`{{Why this slice exists — the user or business goal it serves, in one or two sentences. Note the`,
|
|
73
75
|
`originating ticket/conversation link here if one exists.}}`,
|
package/dist/cli/sliceNew.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sliceNew.js","sourceRoot":"","sources":["../../src/cli/sliceNew.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sliceNew.js","sourceRoot":"","sources":["../../src/cli/sliceNew.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/sliceStubAll.js
CHANGED
|
@@ -39,7 +39,6 @@
|
|
|
39
39
|
// review, then ratify, then mark-implemented. One `--by`/`on` pair stamps every escalated field
|
|
40
40
|
// this run touches — a batch scaffold, not a record of N separate human sessions.
|
|
41
41
|
import { existsSync, writeFileSync } from "node:fs";
|
|
42
|
-
import { join } from "node:path";
|
|
43
42
|
import { continuationOf } from "../model/continuation.js";
|
|
44
43
|
import { classifySlicePattern } from "../catalog/classify.js";
|
|
45
44
|
import { resolveSliceDocJoin } from "../catalog/docJoin.js";
|
|
@@ -48,6 +47,7 @@ import { buildStubDocContent } from "./sliceNew.js";
|
|
|
48
47
|
import { applyReviewFrontmatter } from "./review.js";
|
|
49
48
|
import { applyRatifyFrontmatter } from "./ratify.js";
|
|
50
49
|
import { applyImplementedFrontmatter } from "./markImplemented.js";
|
|
50
|
+
import { docAbsPath } from "../catalog/docLocate.js";
|
|
51
51
|
/** `--status`'s exact 4-value enum — the same lifecycle values every slice doc already uses
|
|
52
52
|
* (docs/slice-doc-schema.md); `stub-all` never invents a 5th "backbone"/"existing" value. */
|
|
53
53
|
export const STUB_STATUSES = ["draft", "reviewed", "ready-to-implement", "implemented"];
|
|
@@ -134,7 +134,7 @@ export function runStubAll(model, refs, baseDir, source, opts) {
|
|
|
134
134
|
// Safe: every classifySlicePattern() value other than "unclassified" is one of the exact 4
|
|
135
135
|
// string literals sliceNew.ts's SlicePattern enumerates too.
|
|
136
136
|
const pattern = classified;
|
|
137
|
-
const absPath =
|
|
137
|
+
const absPath = docAbsPath(baseDir, doc.path, slice); // GH #421: a new stub goes into the slice's own folder
|
|
138
138
|
if (doc.reason === "no-doc-bound" && existsSync(absPath)) {
|
|
139
139
|
outcomes.push({
|
|
140
140
|
kind: "skip",
|
|
@@ -161,6 +161,11 @@ export function runStubAll(model, refs, baseDir, source, opts) {
|
|
|
161
161
|
// `binding-missing-file`: a note already points at this exact path — re-wiring would refuse
|
|
162
162
|
// ("already has a note clause"), and there's nothing to wire anyway.
|
|
163
163
|
const needsWire = doc.reason !== "binding-missing-file";
|
|
164
|
+
if (needsWire && slice.file !== undefined) {
|
|
165
|
+
// GH #421: the note would go into a storyline model file, not the root text in hand.
|
|
166
|
+
outcomes.push({ kind: "skip", sliceKey, reason: `declared in storyline model file ${slice.file} — stub it with \`em slice new\` and wire it with \`--wire\`` });
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
164
169
|
let elementName = null;
|
|
165
170
|
if (needsWire) {
|
|
166
171
|
const wired = wireSliceNote(workingSource, model, refs, sliceKey, pattern, doc.path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sliceStubAll.js","sourceRoot":"","sources":["../../src/cli/sliceStubAll.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,2FAA2F;AAC3F,2FAA2F;AAC3F,4FAA4F;AAC5F,+FAA+F;AAC/F,6FAA6F;AAC7F,iGAAiG;AACjG,yFAAyF;AACzF,iEAAiE;AACjE,EAAE;AACF,gGAAgG;AAChG,qBAAqB;AACrB,gGAAgG;AAChG,uDAAuD;AACvD,kGAAkG;AAClG,wDAAwD;AACxD,uFAAuF;AACvF,gGAAgG;AAChG,iEAAiE;AACjE,iGAAiG;AACjG,iGAAiG;AACjG,4FAA4F;AAC5F,+DAA+D;AAC/D,iGAAiG;AACjG,6FAA6F;AAC7F,8FAA8F;AAC9F,gGAAgG;AAChG,+FAA+F;AAC/F,iGAAiG;AACjG,wDAAwD;AACxD,EAAE;AACF,uFAAuF;AACvF,8FAA8F;AAC9F,kGAAkG;AAClG,8FAA8F;AAC9F,gGAAgG;AAChG,gGAAgG;AAChG,2FAA2F;AAC3F,gGAAgG;AAChG,kFAAkF;AAElF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"sliceStubAll.js","sourceRoot":"","sources":["../../src/cli/sliceStubAll.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/sliceSync.d.ts
CHANGED
|
@@ -21,6 +21,18 @@ export interface DocTextSync {
|
|
|
21
21
|
/** Regenerate `raw`'s regions against `expected`. Pure. Statuses are check-mode (`stale`, never
|
|
22
22
|
* `synced`); the runner relabels after writing. */
|
|
23
23
|
export declare function syncDocText(raw: string, expected: GeneratedRegion[]): DocTextSync;
|
|
24
|
+
/**
|
|
25
|
+
* The one region `em slice sync` DOES insert when missing: `em-slice-story` (owner ruling
|
|
26
|
+
* 2026-11-03), placed right after the doc's `` line (else after its `# Slice:`
|
|
27
|
+
* title). Only on a doc that has regions and no `ratifiedHash:` — marker lines are authored
|
|
28
|
+
* text under the signature (catalog/sliceDoc.ts `stripGeneratedRegions`), so on a signed doc
|
|
29
|
+
* the region stays `missing` with its note until the next revision adds the pair. Pure.
|
|
30
|
+
*/
|
|
31
|
+
export declare function adoptStoryRegion(raw: string): {
|
|
32
|
+
text: string;
|
|
33
|
+
inserted: boolean;
|
|
34
|
+
hadRegions: boolean;
|
|
35
|
+
};
|
|
24
36
|
/** GH #347: what a region rewrite did to a doc's `ratifiedHash:` — `kept` (current scope, the
|
|
25
37
|
* hash is untouched), `restamped` (an intact older-scope hash moved to the current scope; `from`
|
|
26
38
|
* names the old scope), `broken` (the body already failed its hash before the sync). */
|
package/dist/cli/sliceSync.js
CHANGED
|
@@ -33,12 +33,12 @@
|
|
|
33
33
|
// Pure core (`syncDocText`) + fs-aware runner (`runSliceSync`); the CLI and the MCP `slice_sync`
|
|
34
34
|
// tool (check-only) share `buildSliceSyncJson`.
|
|
35
35
|
import { readFileSync, writeFileSync } from "node:fs";
|
|
36
|
-
import { join } from "node:path";
|
|
37
36
|
import { resolveSliceDocJoin } from "../catalog/docJoin.js";
|
|
38
|
-
import { buildSliceRegions, scanSliceRegions } from "../catalog/sliceSections.js";
|
|
37
|
+
import { buildSliceRegions, regionEndLine, regionStartLine, scanSliceRegions } from "../catalog/sliceSections.js";
|
|
39
38
|
import { isOldHashScope, parseSliceDoc, ratifiedHashScope, sliceDocBodyHash } from "../catalog/sliceDoc.js";
|
|
40
39
|
import { replaceFieldValue } from "./frontmatterSurgery.js";
|
|
41
40
|
import { GENERATOR_NAME, GENERATOR_VERSION } from "../emit/json.js";
|
|
41
|
+
import { docAbsPath } from "../catalog/docLocate.js";
|
|
42
42
|
// 1.0 (MIL-266): initial shape.
|
|
43
43
|
export const SLICE_SYNC_SCHEMA_VERSION = "1.0";
|
|
44
44
|
/** Regenerate `raw`'s regions against `expected`. Pure. Statuses are check-mode (`stale`, never
|
|
@@ -77,6 +77,32 @@ export function syncDocText(raw, expected) {
|
|
|
77
77
|
next = next.slice(0, e.start) + e.text + next.slice(e.end);
|
|
78
78
|
return { status: edits.length > 0 ? "stale" : "ok", regions, problems: [], next };
|
|
79
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* The one region `em slice sync` DOES insert when missing: `em-slice-story` (owner ruling
|
|
82
|
+
* 2026-11-03), placed right after the doc's `` line (else after its `# Slice:`
|
|
83
|
+
* title). Only on a doc that has regions and no `ratifiedHash:` — marker lines are authored
|
|
84
|
+
* text under the signature (catalog/sliceDoc.ts `stripGeneratedRegions`), so on a signed doc
|
|
85
|
+
* the region stays `missing` with its note until the next revision adds the pair. Pure.
|
|
86
|
+
*/
|
|
87
|
+
export function adoptStoryRegion(raw) {
|
|
88
|
+
const scan = scanSliceRegions(raw);
|
|
89
|
+
const hadRegions = scan.regions.length > 0;
|
|
90
|
+
if (scan.problems.length > 0)
|
|
91
|
+
return { text: raw, inserted: false, hadRegions };
|
|
92
|
+
if (scan.regions.some((r) => r.name === "em-slice-story"))
|
|
93
|
+
return { text: raw, inserted: false, hadRegions };
|
|
94
|
+
if (parseSliceDoc(raw).ratifiedHash)
|
|
95
|
+
return { text: raw, inserted: false, hadRegions };
|
|
96
|
+
const eol = raw.includes("\r\n") ? "\r\n" : "\n";
|
|
97
|
+
const lines = raw.split(eol);
|
|
98
|
+
let at = lines.findIndex((l) => /^!\[[^\]]*\]\(/.test(l));
|
|
99
|
+
if (at < 0)
|
|
100
|
+
at = lines.findIndex((l) => /^# /.test(l));
|
|
101
|
+
if (at < 0)
|
|
102
|
+
return { text: raw, inserted: false, hadRegions };
|
|
103
|
+
lines.splice(at + 1, 0, "", regionStartLine("em-slice-story"), regionEndLine("em-slice-story"));
|
|
104
|
+
return { text: lines.join(eol), inserted: true, hadRegions };
|
|
105
|
+
}
|
|
80
106
|
/**
|
|
81
107
|
* Pure (GH #347): the signature half of a sync. `raw` is the doc as read, `next` the doc with its
|
|
82
108
|
* regions regenerated. A doc with no `ratifiedHash:` passes through (`signature: null`). Otherwise
|
|
@@ -146,10 +172,22 @@ export function runSliceSync(model, refs, baseDir, sliceKey, check) {
|
|
|
146
172
|
continue;
|
|
147
173
|
const docKey = path.replace(/^slices\//, "").replace(/\.md$/, "");
|
|
148
174
|
const ownerIdx = indices.find((i) => refs.sliceKeys[i] === docKey) ?? Math.min(...indices);
|
|
149
|
-
const abs =
|
|
175
|
+
const abs = docAbsPath(baseDir, path); // GH #421: the doc may sit in a storyline folder
|
|
150
176
|
const raw = readFileSync(abs, "utf8");
|
|
151
177
|
// GH #368: the doc's own authored scenarios retire the collection stubs they cover.
|
|
152
|
-
|
|
178
|
+
// The story region is the one region sync inserts (unsigned docs only). A doc that had no
|
|
179
|
+
// regions at all — written before em slice sync existed — adopts just that line: its field
|
|
180
|
+
// tables are not inserted (still `em slice new --force`'s job), so it is synced against the
|
|
181
|
+
// story region alone and the other regions are not reported missing.
|
|
182
|
+
const adopted = adoptStoryRegion(raw);
|
|
183
|
+
const all = buildSliceRegions(model, indices, { authoredDoc: raw, storyOwner: ownerIdx, refs });
|
|
184
|
+
// A story-only doc (adopted now, or on an earlier run) is synced against the story line alone:
|
|
185
|
+
// its field tables were never generated, so they are not "missing" — `em slice new --force`
|
|
186
|
+
// is still how a doc adopts them.
|
|
187
|
+
const present = scanSliceRegions(adopted.text).regions.map((r) => r.name);
|
|
188
|
+
const storyOnly = present.length === 1 && present[0] === "em-slice-story";
|
|
189
|
+
const expected = storyOnly ? all.filter((r) => r.kind === "story") : all;
|
|
190
|
+
const result = syncDocText(adopted.text, expected);
|
|
153
191
|
let status = result.status;
|
|
154
192
|
let regions = result.regions;
|
|
155
193
|
let problems = result.problems;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sliceSync.js","sourceRoot":"","sources":["../../src/cli/sliceSync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sliceSync.js","sourceRoot":"","sources":["../../src/cli/sliceSync.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/status.d.ts
CHANGED
|
@@ -7,10 +7,9 @@ import { CoverageReport } from "./coverage.js";
|
|
|
7
7
|
import { GitRunner } from "./diff-inputs.js";
|
|
8
8
|
import { SliceDocFacts } from "./conformScope.js";
|
|
9
9
|
import { ModelVersionSliceChange } from "./modelVersion.js";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
export
|
|
13
|
-
export type CanonicalStatus = (typeof CANONICAL_STATUSES)[number];
|
|
10
|
+
import { CANONICAL_STATUSES, CanonicalStatus } from "../catalog/sliceDoc.js";
|
|
11
|
+
export { CANONICAL_STATUSES };
|
|
12
|
+
export type { CanonicalStatus };
|
|
14
13
|
/** Bucket a slice's lifecycle status falls into for the rollup: one of the 4 canonical values,
|
|
15
14
|
* `"no-doc"` (no doc bound at all, or the binding names a missing file — `resolveSliceDocJoin`'s
|
|
16
15
|
* `found: false`), `"frontmatter-invalid"` (a doc WAS found — a note binds it — but its
|
package/dist/cli/status.js
CHANGED
|
@@ -32,15 +32,16 @@ import { findingsFilesOf, resolveFindingsForReport, unruledAcrossFiles } from ".
|
|
|
32
32
|
import { findCertifiedVersion, latestModelVersionNumber, modelVersionDrift } from "./modelVersion.js";
|
|
33
33
|
import { isOlder } from "../util/semver.js";
|
|
34
34
|
import { slicePublicTouching } from "../catalog/apiFirst.js";
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
// The 4 canonical slice-doc lifecycle statuses live with the doc reader (GH #411: `em validate`'s
|
|
36
|
+
// frontmatter-status-unrecognized shares them); re-exported here for the rollup's own callers.
|
|
37
|
+
import { CANONICAL_STATUSES, isCanonicalStatus } from "../catalog/sliceDoc.js";
|
|
38
|
+
export { CANONICAL_STATUSES };
|
|
38
39
|
export function classifyStatusBucket(found, reason, status) {
|
|
39
40
|
if (!found)
|
|
40
41
|
return "no-doc";
|
|
41
42
|
if (reason === "frontmatter-invalid")
|
|
42
43
|
return "frontmatter-invalid";
|
|
43
|
-
if (
|
|
44
|
+
if (isCanonicalStatus(status))
|
|
44
45
|
return status;
|
|
45
46
|
return "unknown";
|
|
46
47
|
}
|