@milehimikey/em 1.16.1 → 1.18.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 +3 -2
- package/.claude/skills/event-modeling-conform/reference/conform.md +7 -0
- package/.claude/skills/event-modeling-design/SKILL.md +46 -5
- package/.claude/skills/event-modeling-discover/SKILL.md +43 -8
- package/.claude/skills/event-modeling-discover/reference/extract.md +6 -1
- package/.claude/skills/event-modeling-discover/reference/prd-rubric.md +102 -0
- package/.claude/skills/event-modeling-discover/reference/prd-spec-path.md +171 -0
- package/.claude/skills/event-modeling-engagement/SKILL.md +28 -6
- package/.claude/skills/event-modeling-engagement/reference/engagement.md +5 -4
- package/.claude/skills/event-modeling-implement/SKILL.md +1 -1
- package/.claude/skills/event-modeling-implement/reference/implement.md +18 -8
- package/.claude/skills/event-modeling-review/SKILL.md +1 -1
- package/.claude/skills/event-modeling-shared/reference/em-dsl.md +107 -10
- package/.claude/skills/event-modeling-shared/reference/methodology.md +268 -0
- package/.claude/skills/event-modeling-shared/reference/slice-doc-schema.md +122 -15
- package/.claude/skills/event-modeling-shared/templates/slice.md +11 -3
- package/.claude-plugin/marketplace.json +2 -2
- package/dist/catalog/docJoin.d.ts +13 -5
- package/dist/catalog/docJoin.js +6 -1
- package/dist/catalog/docJoin.js.map +1 -1
- package/dist/catalog/docModelConsistencyValidate.js +160 -0
- package/dist/catalog/docModelConsistencyValidate.js.map +1 -1
- package/dist/catalog/invariantsValidate.d.ts +2 -0
- package/dist/catalog/invariantsValidate.js +67 -1
- package/dist/catalog/invariantsValidate.js.map +1 -1
- package/dist/catalog/scenarioQualityValidate.d.ts +4 -0
- package/dist/catalog/scenarioQualityValidate.js +148 -0
- package/dist/catalog/scenarioQualityValidate.js.map +1 -0
- package/dist/catalog/scenarios.d.ts +5 -0
- package/dist/catalog/scenarios.js +80 -0
- package/dist/catalog/scenarios.js.map +1 -1
- package/dist/catalog/signedBodyValidate.d.ts +7 -0
- package/dist/catalog/signedBodyValidate.js +29 -0
- package/dist/catalog/signedBodyValidate.js.map +1 -0
- package/dist/catalog/sliceDoc.d.ts +53 -7
- package/dist/catalog/sliceDoc.js +89 -10
- package/dist/catalog/sliceDoc.js.map +1 -1
- package/dist/catalog/sliceReadyValidate.d.ts +23 -2
- package/dist/catalog/sliceReadyValidate.js +54 -22
- package/dist/catalog/sliceReadyValidate.js.map +1 -1
- package/dist/catalog/sliceSections.d.ts +3 -2
- package/dist/catalog/sliceSections.js +99 -9
- package/dist/catalog/sliceSections.js.map +1 -1
- package/dist/cli/ciInit.d.ts +4 -11
- package/dist/cli/ciInit.js +24 -6
- package/dist/cli/ciInit.js.map +1 -1
- package/dist/cli/coverage.d.ts +9 -0
- package/dist/cli/coverage.js +18 -0
- package/dist/cli/coverage.js.map +1 -1
- package/dist/cli/defer.d.ts +60 -17
- package/dist/cli/defer.js +187 -86
- package/dist/cli/defer.js.map +1 -1
- package/dist/cli/engagement.d.ts +46 -0
- package/dist/cli/engagement.js +156 -1
- package/dist/cli/engagement.js.map +1 -1
- package/dist/cli/engagementFoundation.d.ts +47 -0
- package/dist/cli/engagementFoundation.js +164 -0
- package/dist/cli/engagementFoundation.js.map +1 -0
- package/dist/cli/frontmatterSurgery.d.ts +5 -0
- package/dist/cli/frontmatterSurgery.js +15 -0
- package/dist/cli/frontmatterSurgery.js.map +1 -1
- package/dist/cli/ledgerCheck.d.ts +5 -1
- package/dist/cli/ledgerCheck.js +50 -20
- package/dist/cli/ledgerCheck.js.map +1 -1
- package/dist/cli/markImplemented.d.ts +14 -10
- package/dist/cli/markImplemented.js +49 -1
- package/dist/cli/markImplemented.js.map +1 -1
- package/dist/cli/prdTriage.d.ts +109 -0
- package/dist/cli/prdTriage.js +378 -0
- package/dist/cli/prdTriage.js.map +1 -0
- package/dist/cli/ratify.d.ts +14 -2
- package/dist/cli/ratify.js +34 -6
- package/dist/cli/ratify.js.map +1 -1
- package/dist/cli/refsCheck.d.ts +78 -0
- package/dist/cli/refsCheck.js +153 -0
- package/dist/cli/refsCheck.js.map +1 -0
- package/dist/cli/render-inputs.d.ts +2 -0
- package/dist/cli/render-inputs.js +4 -0
- package/dist/cli/render-inputs.js.map +1 -1
- package/dist/cli/revise.d.ts +12 -3
- package/dist/cli/revise.js +43 -10
- package/dist/cli/revise.js.map +1 -1
- package/dist/cli/shape.d.ts +27 -0
- package/dist/cli/shape.js +77 -0
- package/dist/cli/shape.js.map +1 -0
- package/dist/cli/sliceConform.js +9 -0
- package/dist/cli/sliceConform.js.map +1 -1
- package/dist/cli/sliceIndex.d.ts +6 -1
- package/dist/cli/sliceIndex.js +28 -13
- package/dist/cli/sliceIndex.js.map +1 -1
- package/dist/cli/sliceNew.d.ts +4 -1
- package/dist/cli/sliceNew.js +26 -9
- package/dist/cli/sliceNew.js.map +1 -1
- package/dist/cli/status.d.ts +26 -5
- package/dist/cli/status.js +28 -6
- package/dist/cli/status.js.map +1 -1
- package/dist/cli/storylineSuggest.d.ts +26 -0
- package/dist/cli/storylineSuggest.js +252 -0
- package/dist/cli/storylineSuggest.js.map +1 -0
- package/dist/cli/upgrade.d.ts +15 -3
- package/dist/cli/upgrade.js +537 -8
- package/dist/cli/upgrade.js.map +1 -1
- package/dist/cli/upgradeReshape.d.ts +60 -0
- package/dist/cli/upgradeReshape.js +425 -0
- package/dist/cli/upgradeReshape.js.map +1 -0
- package/dist/cli.js +430 -57
- package/dist/cli.js.map +1 -1
- package/dist/emit/dot.d.ts +2 -0
- package/dist/emit/dot.js +44 -8
- package/dist/emit/dot.js.map +1 -1
- package/dist/emit/engagementJson.d.ts +4 -1
- package/dist/emit/engagementJson.js +27 -1
- package/dist/emit/engagementJson.js.map +1 -1
- package/dist/emit/json.d.ts +21 -1
- package/dist/emit/json.js +29 -2
- package/dist/emit/json.js.map +1 -1
- package/dist/emit/ledgerJson.d.ts +1 -1
- package/dist/emit/ledgerJson.js +6 -1
- package/dist/emit/ledgerJson.js.map +1 -1
- package/dist/emit/queryJson.d.ts +1 -1
- package/dist/emit/queryJson.js +3 -1
- package/dist/emit/queryJson.js.map +1 -1
- package/dist/emit/refsJson.d.ts +4 -0
- package/dist/emit/refsJson.js +19 -0
- package/dist/emit/refsJson.js.map +1 -0
- package/dist/emit/statusJson.d.ts +1 -1
- package/dist/emit/statusJson.js +6 -1
- package/dist/emit/statusJson.js.map +1 -1
- package/dist/emit/theme.d.ts +1 -0
- package/dist/emit/theme.js +13 -0
- package/dist/emit/theme.js.map +1 -1
- package/dist/emit/validateJson.d.ts +5 -2
- package/dist/emit/validateJson.js +41 -2
- package/dist/emit/validateJson.js.map +1 -1
- package/dist/layout/grid.d.ts +5 -1
- package/dist/layout/grid.js +93 -2
- package/dist/layout/grid.js.map +1 -1
- package/dist/mcp/server.js +79 -14
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/edges.d.ts +7 -0
- package/dist/model/edges.js +33 -16
- package/dist/model/edges.js.map +1 -1
- package/dist/model/model.d.ts +33 -0
- package/dist/model/model.js +87 -3
- package/dist/model/model.js.map +1 -1
- package/dist/model/queryIndex.js +2 -2
- package/dist/model/queryIndex.js.map +1 -1
- package/dist/model/refs.js +8 -5
- package/dist/model/refs.js.map +1 -1
- package/dist/model/rules.d.ts +167 -1
- package/dist/model/rules.js +164 -3
- package/dist/model/rules.js.map +1 -1
- package/dist/model/shapeLint.d.ts +12 -0
- package/dist/model/shapeLint.js +170 -0
- package/dist/model/shapeLint.js.map +1 -0
- package/dist/model/storylines.d.ts +51 -0
- package/dist/model/storylines.js +188 -0
- package/dist/model/storylines.js.map +1 -0
- package/dist/model/validate.d.ts +6 -1
- package/dist/model/validate.js +317 -14
- package/dist/model/validate.js.map +1 -1
- package/dist/parser/againSugar.d.ts +30 -0
- package/dist/parser/againSugar.js +105 -0
- package/dist/parser/againSugar.js.map +1 -0
- package/dist/parser/ast.d.ts +33 -0
- package/dist/parser/lexer.d.ts +9 -1
- package/dist/parser/lexer.js +17 -2
- package/dist/parser/lexer.js.map +1 -1
- package/dist/parser/parser.js +284 -4
- package/dist/parser/parser.js.map +1 -1
- package/dist/query/format.js +1 -0
- package/dist/query/format.js.map +1 -1
- package/dist/query/verbs.d.ts +4 -0
- package/dist/query/verbs.js +30 -3
- package/dist/query/verbs.js.map +1 -1
- package/dist/render/drawEdges.js +100 -4
- package/dist/render/drawEdges.js.map +1 -1
- package/dist/render/render.js +20 -2
- package/dist/render/render.js.map +1 -1
- package/dist/render/sliceDiagram.js +5 -5
- package/dist/render/sliceDiagram.js.map +1 -1
- package/dist/render/storylineBands.d.ts +11 -0
- package/dist/render/storylineBands.js +80 -0
- package/dist/render/storylineBands.js.map +1 -0
- package/dist/render/storylineDiagram.d.ts +14 -0
- package/dist/render/storylineDiagram.js +142 -0
- package/dist/render/storylineDiagram.js.map +1 -0
- package/dist/roster/check.d.ts +32 -0
- package/dist/roster/check.js +92 -0
- package/dist/roster/check.js.map +1 -0
- package/dist/roster/context.d.ts +3 -0
- package/dist/roster/context.js +23 -0
- package/dist/roster/context.js.map +1 -0
- package/dist/roster/init.d.ts +15 -0
- package/dist/roster/init.js +52 -0
- package/dist/roster/init.js.map +1 -0
- package/dist/roster/roster.d.ts +79 -0
- package/dist/roster/roster.js +298 -0
- package/dist/roster/roster.js.map +1 -0
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +2 -2
- package/plugin/shared/reference/em-dsl.md +107 -10
- package/plugin/shared/reference/methodology.md +268 -0
- package/plugin/shared/reference/slice-doc-schema.md +122 -15
- package/plugin/shared/templates/slice.md +11 -3
- package/plugin/skills/conform/SKILL.md +3 -2
- package/plugin/skills/conform/reference/conform.md +7 -0
- package/plugin/skills/design/SKILL.md +46 -5
- package/plugin/skills/discover/SKILL.md +43 -8
- package/plugin/skills/discover/reference/extract.md +6 -1
- package/plugin/skills/discover/reference/prd-rubric.md +103 -0
- package/plugin/skills/discover/reference/prd-spec-path.md +172 -0
- package/plugin/skills/engagement/SKILL.md +28 -6
- package/plugin/skills/engagement/reference/engagement.md +5 -4
- package/plugin/skills/event-modeling/SKILL.md +1 -1
- package/plugin/skills/implement/SKILL.md +1 -1
- package/plugin/skills/implement/reference/implement.md +18 -8
- package/plugin/skills/review/SKILL.md +1 -1
package/dist/cli/defer.js
CHANGED
|
@@ -21,13 +21,21 @@
|
|
|
21
21
|
// the clause was alone on it), re-parsed before it is accepted. Not a generic "move issue to doc"
|
|
22
22
|
// verb: the only thing a promoted issue can become is a deferred question.
|
|
23
23
|
//
|
|
24
|
-
// GH #
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
//
|
|
28
|
-
//
|
|
29
|
-
// (`
|
|
30
|
-
//
|
|
24
|
+
// GH #253 — a RATIFIED or SHIPPED doc (`status: ready-to-implement` + `ratifiedBy:`, or
|
|
25
|
+
// `status: implemented`) takes the deferral in its body too. Its body is the signed spec, but
|
|
26
|
+
// `ratifiedHash` is computed over `ratifiedBody()` (catalog/sliceDoc.ts), which leaves out the
|
|
27
|
+
// `## Open Questions` heading and every `deferred to v<n>` item — a deferral describes a later
|
|
28
|
+
// version, not the one that was signed. So on a signed doc both paths APPEND the already-deferred
|
|
29
|
+
// `- [x]` item (the shape `--from-issue` always wrote) and the hash does not move; `--slice-ready`
|
|
30
|
+
// and `ratify`'s re-run keep passing. Before writing, `finishSignedDocEdit` re-stamps a hash still
|
|
31
|
+
// in the pre-1.17 whole-body scope (the body is intact, only the stamp is old) and refuses, with
|
|
32
|
+
// nothing written, if the edit would somehow leave the hash unmatched.
|
|
33
|
+
//
|
|
34
|
+
// GH #236's state-file QUEUE (1.16.x) is write-retired by this: `revise`/`mark-implemented` still
|
|
35
|
+
// inject any leftover queued bullets into the v<N+1> draft they open (`injectQueuedQuestions`)
|
|
36
|
+
// and `drainQueueInState` turns them back into ordinary deferral mirrors; `em upgrade`'s
|
|
37
|
+
// `ratified-hash-scope` step moves leftovers into their docs. `draft`/`reviewed` docs behave
|
|
38
|
+
// exactly as before: the positional form rewrites an existing `- [ ]` item, never appends.
|
|
31
39
|
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
32
40
|
import { join } from "node:path";
|
|
33
41
|
import { continuationOf } from "../model/continuation.js";
|
|
@@ -35,8 +43,9 @@ import { resolveSliceDocJoin } from "../catalog/docJoin.js";
|
|
|
35
43
|
import { decodeQuoted, matchQuote } from "../parser/lexer.js";
|
|
36
44
|
import { compile } from "../pipeline.js";
|
|
37
45
|
import { STATE_FILE_NAME } from "./stateFile.js";
|
|
38
|
-
import { fieldLineRegex, locateFrontmatterInner, normalizeFieldValue } from "./frontmatterSurgery.js";
|
|
39
|
-
import { parseQueuedBullet,
|
|
46
|
+
import { fieldLineRegex, locateFrontmatterInner, normalizeFieldValue, replaceFieldValue } from "./frontmatterSurgery.js";
|
|
47
|
+
import { parseQueuedBullet, queuedItems } from "../catalog/deferQueue.js";
|
|
48
|
+
import { ratifiedHashScope, sliceDocBodyHash } from "../catalog/sliceDoc.js";
|
|
40
49
|
const OPEN_QUESTIONS_HEADING = /^##\s+Open Questions\s*$/i;
|
|
41
50
|
const TASK_ITEM = /^([ \t]*[-*]\s*)\[([ xX])\](.*)$/;
|
|
42
51
|
const PARKING_LOT_HEADING = /^##\s+Open questions \/ parking lot\s*$/i;
|
|
@@ -120,8 +129,9 @@ export function applyDefer(raw, input) {
|
|
|
120
129
|
const itemText = (j) => TASK_ITEM.exec(stripEol(lines[j]).body)[3].trim();
|
|
121
130
|
if (unchecked.length === 0) {
|
|
122
131
|
const sameMarker = new RegExp(`deferred to v${v.until}\\b`);
|
|
123
|
-
|
|
124
|
-
|
|
132
|
+
const done = checked.find((j) => sameMarker.test(itemText(j)));
|
|
133
|
+
if (done !== undefined)
|
|
134
|
+
return { ok: true, content: raw, changed: false, matched: questionLabel(itemText(done)) || undefined };
|
|
125
135
|
if (checked.length > 0)
|
|
126
136
|
return { ok: false, message: `already checked: ${itemText(checked[0])}` };
|
|
127
137
|
return { ok: false, message: `no unchecked Open Question matching "${input.question}"` };
|
|
@@ -134,8 +144,22 @@ export function applyDefer(raw, input) {
|
|
|
134
144
|
const m = TASK_ITEM.exec(body);
|
|
135
145
|
const suffix = ` — v${input.currentVersion}: ${input.decision.trim()}; deferred to v${v.until} ` +
|
|
136
146
|
`(${input.on}${input.by !== undefined ? `, ${input.by.trim()}` : ""})`;
|
|
147
|
+
const matched = questionLabel(m[3]) || undefined;
|
|
137
148
|
lines[j] = `${m[1]}[x]${m[3].trimEnd()}${suffix}${eol}`;
|
|
138
|
-
return { ok: true, content: lines.join(""), changed: true };
|
|
149
|
+
return { ok: true, content: lines.join(""), changed: true, matched };
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Pure (GH #283): the state-file label of an Open Question item's text - the bold title when it
|
|
153
|
+
* opens with `**Title**`, else the whole item line, with any `- v<n>: ...; deferred to v<m> (...)`
|
|
154
|
+
* suffix of an already-deferred item dropped. `applyDefer` returns it for the item it matched.
|
|
155
|
+
*/
|
|
156
|
+
export function stripDeferral(itemText) {
|
|
157
|
+
return /^(.*?) — v\d+: .*; deferred to v\d+ \(.*\)$/.exec(itemText.trim())?.[1] ?? itemText.trim();
|
|
158
|
+
}
|
|
159
|
+
export function questionLabel(itemText) {
|
|
160
|
+
const original = stripDeferral(itemText);
|
|
161
|
+
const bold = /^\*\*(.+?)\*\*/.exec(original);
|
|
162
|
+
return (bold ? bold[1] : original).trim();
|
|
139
163
|
}
|
|
140
164
|
/** Appends `bullet` at the end of the section under `heading` (before the next `## ` heading or
|
|
141
165
|
* EOF, after the section's last non-blank line) unless an identical bullet line exists. */
|
|
@@ -180,6 +204,74 @@ export function applyDeferStateFile(raw, input) {
|
|
|
180
204
|
return { ok: false, message: `${STATE_FILE_NAME} has no "## Decisions log" heading` };
|
|
181
205
|
return { ok: true, content: b.lines.join(""), changed: a.changed || b.changed };
|
|
182
206
|
}
|
|
207
|
+
/** The `## Open Questions` items of a doc: each `- [ ]`/`- [x]` line's text. Pure. */
|
|
208
|
+
export function openQuestionItems(raw) {
|
|
209
|
+
const lines = splitKeepEol(raw);
|
|
210
|
+
const out = [];
|
|
211
|
+
let inSection = false;
|
|
212
|
+
for (const l of lines) {
|
|
213
|
+
const body = stripEol(l).body;
|
|
214
|
+
if (OPEN_QUESTIONS_HEADING.test(body)) {
|
|
215
|
+
inSection = true;
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
if (inSection && ANY_H1_H2.test(body))
|
|
219
|
+
break;
|
|
220
|
+
if (!inSection)
|
|
221
|
+
continue;
|
|
222
|
+
const m = TASK_ITEM.exec(body);
|
|
223
|
+
if (m)
|
|
224
|
+
out.push(m[3].trim());
|
|
225
|
+
}
|
|
226
|
+
return out;
|
|
227
|
+
}
|
|
228
|
+
const PARKING_BULLET = /^- (.+) \(from slice ([^\s,]+), deferred to v(\d+)\)\s*$/;
|
|
229
|
+
/**
|
|
230
|
+
* Pure (GH #290): the pre-#305 parking-lot shape wrote the user's SUBSTRING (`retry`) into
|
|
231
|
+
* `.event-modeling.md`; `applyDeferStateFile` now writes the matched item's label
|
|
232
|
+
* (`questionLabel`). Rewrites each `- <fragment> (from slice <key>, deferred to v<n>)` bullet
|
|
233
|
+
* whose `<fragment>` is a strict substring of exactly one of the slice's Open Questions items
|
|
234
|
+
* (matched with the same case-sensitive substring rule `applyDefer` uses) to that item's label.
|
|
235
|
+
* A bullet already equal to an item or its label, with no matching item, or matching more than one
|
|
236
|
+
* item, is left alone. `docs` maps slice key -> doc text.
|
|
237
|
+
*/
|
|
238
|
+
export function rewriteParkingLotFragments(stateRaw, docs) {
|
|
239
|
+
const lines = splitKeepEol(stateRaw);
|
|
240
|
+
const rewrites = [];
|
|
241
|
+
let inSection = false;
|
|
242
|
+
for (let j = 0; j < lines.length; j++) {
|
|
243
|
+
const { body, eol } = stripEol(lines[j]);
|
|
244
|
+
if (PARKING_LOT_HEADING.test(body)) {
|
|
245
|
+
inSection = true;
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
if (inSection && ANY_H2.test(body))
|
|
249
|
+
inSection = false;
|
|
250
|
+
if (!inSection)
|
|
251
|
+
continue;
|
|
252
|
+
const m = PARKING_BULLET.exec(body);
|
|
253
|
+
if (!m)
|
|
254
|
+
continue;
|
|
255
|
+
const [, text, sliceKey, until] = m;
|
|
256
|
+
const doc = docs.get(sliceKey);
|
|
257
|
+
if (doc === undefined)
|
|
258
|
+
continue;
|
|
259
|
+
const items = openQuestionItems(doc);
|
|
260
|
+
if (items.some((it) => it === text || questionLabel(it) === text))
|
|
261
|
+
continue;
|
|
262
|
+
// The fragment is matched against the item text WITHOUT its deferral annotation (an answer or
|
|
263
|
+
// a ratifier name must not match), and must hit exactly ONE item.
|
|
264
|
+
const hits = items.filter((it) => stripDeferral(it).includes(text));
|
|
265
|
+
if (hits.length !== 1)
|
|
266
|
+
continue;
|
|
267
|
+
const to = questionLabel(hits[0]);
|
|
268
|
+
if (to === "" || to === text)
|
|
269
|
+
continue;
|
|
270
|
+
lines[j] = `- ${to} (from slice ${sliceKey}, deferred to v${until})${eol}`;
|
|
271
|
+
rewrites.push({ sliceKey, from: text, to });
|
|
272
|
+
}
|
|
273
|
+
return { content: lines.join(""), rewrites };
|
|
274
|
+
}
|
|
183
275
|
/** Pure (revise): re-opens every `- [x] … — v<old>: …; deferred to v<newVersion> (…)` item under
|
|
184
276
|
* `## Open Questions` as `- [ ] <original text>`. Items deferred to a later version are untouched. */
|
|
185
277
|
export function reopenDeferred(raw, newVersion) {
|
|
@@ -208,11 +300,14 @@ export function reopenDeferred(raw, newVersion) {
|
|
|
208
300
|
}
|
|
209
301
|
return { content: lines.join(""), count };
|
|
210
302
|
}
|
|
211
|
-
// ---- GH #
|
|
212
|
-
/** True when the doc's body is a signed spec
|
|
213
|
-
*
|
|
214
|
-
*
|
|
215
|
-
|
|
303
|
+
// ---- GH #253: a signed (ratified / shipped) doc -------------------------------------------
|
|
304
|
+
/** True when the doc's body is a signed spec: `status: implemented`, or `status:
|
|
305
|
+
* ready-to-implement` with a `ratifiedBy:`. On such a doc the positional form appends the
|
|
306
|
+
* deferred item instead of requiring an existing `- [ ]` (a ratified doc has none — readiness
|
|
307
|
+
* required that), and the write goes through `finishSignedDocEdit`. A `draft`/`reviewed` doc —
|
|
308
|
+
* including the next version of a shipped slice — is still being written, so defer edits it as
|
|
309
|
+
* ever. */
|
|
310
|
+
export function isSignedDoc(raw) {
|
|
216
311
|
const range = locateFrontmatterInner(raw);
|
|
217
312
|
if (!range)
|
|
218
313
|
return false;
|
|
@@ -226,32 +321,50 @@ export function isLockedDoc(raw) {
|
|
|
226
321
|
const by = fieldLineRegex("ratifiedBy").exec(inner);
|
|
227
322
|
return by !== null && normalizeFieldValue(by[2]) !== null;
|
|
228
323
|
}
|
|
229
|
-
/**
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
const
|
|
235
|
-
|
|
236
|
-
sliceKey: input.sliceKey,
|
|
237
|
-
targetVersion: target,
|
|
238
|
-
until: input.until,
|
|
239
|
-
on: input.on,
|
|
240
|
-
...(input.by !== undefined ? { by: input.by.trim() } : {}),
|
|
241
|
-
decision: input.decision.trim(),
|
|
242
|
-
});
|
|
243
|
-
const decision = `- ${input.on}: queued "${input.question}" on ${input.sliceKey} for ${input.sliceKey}@v${target} (until v${input.until}) — ` +
|
|
244
|
-
`v${input.currentVersion}: ${input.decision.trim()}${input.by !== undefined ? ` — by ${input.by.trim()}` : ""}`;
|
|
245
|
-
let lines = splitKeepEol(raw);
|
|
246
|
-
const a = appendBullet(lines, PARKING_LOT_HEADING, parking, eol);
|
|
247
|
-
if (!a)
|
|
248
|
-
return { ok: false, message: `${STATE_FILE_NAME} has no "## Open questions / parking lot" heading` };
|
|
249
|
-
lines = a.lines;
|
|
250
|
-
const b = appendBullet(lines, DECISIONS_HEADING, decision, eol);
|
|
251
|
-
if (!b)
|
|
252
|
-
return { ok: false, message: `${STATE_FILE_NAME} has no "## Decisions log" heading` };
|
|
253
|
-
return { ok: true, content: b.lines.join(""), changed: a.changed || b.changed };
|
|
324
|
+
/** The `ratifiedHash:` a doc records, or null when it has none (ratified before 1.15, or never). */
|
|
325
|
+
function recordedHash(raw) {
|
|
326
|
+
const range = locateFrontmatterInner(raw);
|
|
327
|
+
if (!range)
|
|
328
|
+
return null;
|
|
329
|
+
const m = fieldLineRegex("ratifiedHash").exec(raw.slice(range.innerStart, range.innerEnd));
|
|
330
|
+
return m ? normalizeFieldValue(m[2]) : null;
|
|
254
331
|
}
|
|
332
|
+
/**
|
|
333
|
+
* Pure (GH #253): the last step of any defer that edits a signed doc. `before` is the doc as
|
|
334
|
+
* read, `after` the doc with the deferral written. Refuses when `before` already fails its own
|
|
335
|
+
* `ratifiedHash` (the body moved after sign-off — defer is not the command that papers over
|
|
336
|
+
* that), re-stamps a hash still in the pre-1.17 whole-body scope to the current scope (same
|
|
337
|
+
* body, new normalisation — not a re-signing), and finally checks that `after` matches the
|
|
338
|
+
* recorded hash in the current scope, refusing with nothing written if it does not: the one
|
|
339
|
+
* invariant this whole design rests on is that a deferral never moves the hash.
|
|
340
|
+
*/
|
|
341
|
+
export function finishSignedDocEdit(before, after) {
|
|
342
|
+
const recorded = recordedHash(before);
|
|
343
|
+
if (recorded === null)
|
|
344
|
+
return { ok: true, content: after, restamped: false };
|
|
345
|
+
const scope = ratifiedHashScope(before, recorded);
|
|
346
|
+
if (scope === "mismatch") {
|
|
347
|
+
return {
|
|
348
|
+
ok: false,
|
|
349
|
+
message: "body no longer matches ratifiedHash (edited after ratification) — revert that edit, or `em slice revise` and re-ratify, before deferring",
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
let content = after;
|
|
353
|
+
let restamped = false;
|
|
354
|
+
if (scope === "legacy") {
|
|
355
|
+
const next = replaceFieldValue(after, "ratifiedHash", sliceDocBodyHash(before));
|
|
356
|
+
if (next === null)
|
|
357
|
+
return { ok: false, message: "could not locate ratifiedHash: in the frontmatter" };
|
|
358
|
+
content = next;
|
|
359
|
+
restamped = true;
|
|
360
|
+
}
|
|
361
|
+
const check = recordedHash(content);
|
|
362
|
+
if (check === null || ratifiedHashScope(content, check) !== "current") {
|
|
363
|
+
return { ok: false, message: "the deferral would leave the body unmatched by ratifiedHash — nothing written (this is a bug in em; please report it)" };
|
|
364
|
+
}
|
|
365
|
+
return { ok: true, content, restamped };
|
|
366
|
+
}
|
|
367
|
+
// ---- GH #236's 1.16 queue: the read side, kept so leftover state-file bullets still drain -----
|
|
255
368
|
/** Pure: the Open Questions line a queued item becomes in the v<target> draft. Aimed at the
|
|
256
369
|
* draft's own version it is an unchecked `- [ ]` carrying its decision; aimed further out
|
|
257
370
|
* (`--until` beyond it) it is the ordinary checked deferral, so the draft is not asked to
|
|
@@ -375,9 +488,10 @@ export function removeIssueClause(raw, startLine, issueText) {
|
|
|
375
488
|
* item containing the text already exists (someone wrote it down by hand), that item is deferred
|
|
376
489
|
* in place via `applyDefer` — never a duplicate. Otherwise the `[x]` item is appended to
|
|
377
490
|
* `## Open Questions`, creating the section at EOF when the doc has none (a pre-template doc).
|
|
378
|
-
* An identical item already present → `changed: false`.
|
|
491
|
+
* An identical item already present → `changed: false`. Used by `--from-issue` in every status
|
|
492
|
+
* and by the positional form on a signed doc (GH #253), where there is no `- [ ]` to rewrite.
|
|
379
493
|
*/
|
|
380
|
-
export function
|
|
494
|
+
export function applyDeferOrAppend(raw, issueText, input) {
|
|
381
495
|
const full = { ...input, question: issueText };
|
|
382
496
|
const v = validateInput(full);
|
|
383
497
|
if (!v.ok)
|
|
@@ -438,12 +552,12 @@ function resolveDeferDoc(model, refs, baseDir, sliceKey) {
|
|
|
438
552
|
return { ok: true, sliceIndex, path: doc.path, version: doc.version };
|
|
439
553
|
}
|
|
440
554
|
/** The state-file mirror both paths share; refuses (never creates) when the file is absent. */
|
|
441
|
-
function mirrorIntoStateFile(baseDir, sliceKey, question, input, currentVersion
|
|
555
|
+
function mirrorIntoStateFile(baseDir, sliceKey, question, input, currentVersion) {
|
|
442
556
|
const statePath = join(baseDir, STATE_FILE_NAME);
|
|
443
557
|
if (!existsSync(statePath)) {
|
|
444
558
|
return { ok: false, message: `no ${STATE_FILE_NAME} beside the model — defer mirrors into it and never creates it` };
|
|
445
559
|
}
|
|
446
|
-
const r =
|
|
560
|
+
const r = applyDeferStateFile(readFileSync(statePath, "utf8"), {
|
|
447
561
|
question,
|
|
448
562
|
sliceKey,
|
|
449
563
|
until: parseUntil(input.until),
|
|
@@ -464,29 +578,26 @@ export function runDefer(model, refs, baseDir, sliceKey, input) {
|
|
|
464
578
|
return doc;
|
|
465
579
|
const absDoc = join(baseDir, doc.path);
|
|
466
580
|
const docRaw = readFileSync(absDoc, "utf8");
|
|
467
|
-
// GH #
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
const
|
|
480
|
-
if (!result.ok)
|
|
481
|
-
return { ok: false, message: `${doc.path}: ${result.message}` };
|
|
482
|
-
const state = mirrorIntoStateFile(baseDir, sliceKey, input.question, input, doc.version);
|
|
581
|
+
// GH #253: a signed doc has no `- [ ]` to rewrite (readiness required none) — the deferral is
|
|
582
|
+
// appended as an already-deferred item, outside the hash. A draft is edited as ever.
|
|
583
|
+
const signed = isSignedDoc(docRaw);
|
|
584
|
+
const edited = signed
|
|
585
|
+
? applyDeferOrAppend(docRaw, input.question, { ...input, currentVersion: doc.version })
|
|
586
|
+
: applyDefer(docRaw, { ...input, currentVersion: doc.version });
|
|
587
|
+
if (!edited.ok)
|
|
588
|
+
return { ok: false, message: `${doc.path}: ${edited.message}` };
|
|
589
|
+
// The hash check and any legacy re-stamp ride on a real write only — a no-op re-run stays a no-op.
|
|
590
|
+
const finished = signed && edited.changed ? finishSignedDocEdit(docRaw, edited.content) : { ok: true, content: edited.content, restamped: false };
|
|
591
|
+
if (!finished.ok)
|
|
592
|
+
return { ok: false, message: `${doc.path}: ${finished.message}` };
|
|
593
|
+
const state = mirrorIntoStateFile(baseDir, sliceKey, edited.matched ?? input.question, input, doc.version);
|
|
483
594
|
if (!state.ok)
|
|
484
595
|
return state;
|
|
485
|
-
if (
|
|
486
|
-
writeFileSync(absDoc,
|
|
596
|
+
if (edited.changed)
|
|
597
|
+
writeFileSync(absDoc, finished.content, "utf8");
|
|
487
598
|
if (state.changed)
|
|
488
599
|
writeFileSync(state.path, state.content, "utf8");
|
|
489
|
-
return { ok: true, path: doc.path, changed:
|
|
600
|
+
return { ok: true, path: doc.path, changed: edited.changed || state.changed, signed, restamped: finished.restamped };
|
|
490
601
|
}
|
|
491
602
|
/**
|
|
492
603
|
* `--from-issue <text>` (MIL-281): the single open `issue "..."` on one of the slice's own
|
|
@@ -504,21 +615,13 @@ export function runDeferFromIssue(model, refs, baseDir, modelFile, sliceKey, tex
|
|
|
504
615
|
return doc;
|
|
505
616
|
const absDoc = join(baseDir, doc.path);
|
|
506
617
|
const docRaw = readFileSync(absDoc, "utf8");
|
|
507
|
-
const
|
|
508
|
-
const queued = locked ? { forVersion: doc.version + 1, docVersion: doc.version } : null;
|
|
618
|
+
const signed = isSignedDoc(docRaw);
|
|
509
619
|
const candidates = findIssueCandidates(model, doc.sliceIndex, text);
|
|
510
620
|
if (candidates.length === 0) {
|
|
511
|
-
// Already promoted on an earlier run? Then the doc carries it as deferred to this version
|
|
512
|
-
// or, on a ratified/shipped doc (GH #236), the state file carries it as queued.
|
|
513
|
-
if (locked) {
|
|
514
|
-
if (readQueue(baseDir, sliceKey, doc.version + 1).items.some((q) => q.question.includes(text))) {
|
|
515
|
-
return { ok: true, path: doc.path, changed: false, issue: text, modelLine: null, queued };
|
|
516
|
-
}
|
|
517
|
-
return { ok: false, message: `no open issue matching "${text}" on slice "${sliceKey}" (see \`em validate --list-issues\`)` };
|
|
518
|
-
}
|
|
621
|
+
// Already promoted on an earlier run? Then the doc carries it as deferred to this version.
|
|
519
622
|
const probe = applyDefer(docRaw, { ...input, question: text, currentVersion: doc.version });
|
|
520
623
|
if (probe.ok && !probe.changed)
|
|
521
|
-
return { ok: true, path: doc.path, changed: false, issue: text, modelLine: null,
|
|
624
|
+
return { ok: true, path: doc.path, changed: false, issue: text, modelLine: null, signed, restamped: false };
|
|
522
625
|
if (probe.ok) {
|
|
523
626
|
// The question is on the doc as a hand-written `- [ ]` item, never on the diagram: that is
|
|
524
627
|
// the positional form's job.
|
|
@@ -534,16 +637,14 @@ export function runDeferFromIssue(model, refs, baseDir, modelFile, sliceKey, tex
|
|
|
534
637
|
return { ok: false, message: `ambiguous — matches: ${candidates.map(formatIssueCandidate).join(" | ")}` };
|
|
535
638
|
}
|
|
536
639
|
const [cand] = candidates;
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
})()
|
|
543
|
-
: applyDeferFromIssueDoc(docRaw, cand.issue, { ...input, currentVersion: doc.version });
|
|
640
|
+
const edited = applyDeferOrAppend(docRaw, cand.issue, { ...input, currentVersion: doc.version });
|
|
641
|
+
if (!edited.ok)
|
|
642
|
+
return { ok: false, message: `${doc.path}: ${edited.message}` };
|
|
643
|
+
// GH #253: on a signed doc the appended item sits outside `ratifiedHash` — verified before write.
|
|
644
|
+
const docResult = signed ? finishSignedDocEdit(docRaw, edited.content) : { ok: true, content: edited.content, restamped: false };
|
|
544
645
|
if (!docResult.ok)
|
|
545
646
|
return { ok: false, message: `${doc.path}: ${docResult.message}` };
|
|
546
|
-
const state = mirrorIntoStateFile(baseDir, sliceKey, cand.issue, input, doc.version
|
|
647
|
+
const state = mirrorIntoStateFile(baseDir, sliceKey, cand.issue, input, doc.version);
|
|
547
648
|
if (!state.ok)
|
|
548
649
|
return state;
|
|
549
650
|
const emRaw = readFileSync(modelFile, "utf8");
|
|
@@ -567,11 +668,11 @@ export function runDeferFromIssue(model, refs, baseDir, modelFile, sliceKey, tex
|
|
|
567
668
|
if (!clean) {
|
|
568
669
|
return { ok: false, message: `${modelFile}: removing the issue clause at line ${removed.removedLine} would not leave a clean model — nothing written` };
|
|
569
670
|
}
|
|
570
|
-
if (docResult.
|
|
671
|
+
if (edited.changed || docResult.restamped)
|
|
571
672
|
writeFileSync(absDoc, docResult.content, "utf8");
|
|
572
673
|
if (state.changed)
|
|
573
674
|
writeFileSync(state.path, state.content, "utf8");
|
|
574
675
|
writeFileSync(modelFile, removed.content, "utf8");
|
|
575
|
-
return { ok: true, path: doc.path, changed: true, issue: cand.issue, modelLine: removed.removedLine,
|
|
676
|
+
return { ok: true, path: doc.path, changed: true, issue: cand.issue, modelLine: removed.removedLine, signed, restamped: docResult.restamped };
|
|
576
677
|
}
|
|
577
678
|
//# sourceMappingURL=defer.js.map
|
package/dist/cli/defer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defer.js","sourceRoot":"","sources":["../../src/cli/defer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"defer.js","sourceRoot":"","sources":["../../src/cli/defer.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/engagement.d.ts
CHANGED
|
@@ -135,6 +135,19 @@ export interface EngagementPlanLevel {
|
|
|
135
135
|
ceiling: number;
|
|
136
136
|
slices: string[];
|
|
137
137
|
}
|
|
138
|
+
/** GH #239: a model-wide gap the engagement's slices share — the kind of thing every parallel
|
|
139
|
+
* implementer would otherwise rediscover and report on its own. Advisory: never a hold, never
|
|
140
|
+
* written to the Ledger; the lead puts the whole list to the human in ONE question round before
|
|
141
|
+
* fan-out (skill §2). Each finding names the slices it spans so the answer lands once. */
|
|
142
|
+
export type PreflightKind = "repeated-invariant" | "event-without-tag" | "shared-trigger" | "doc-model-mismatch" | "shape";
|
|
143
|
+
export interface PreflightFinding {
|
|
144
|
+
kind: PreflightKind;
|
|
145
|
+
/** What the finding is about: the invariant id, the event name, the `ui` name, or the slice key. */
|
|
146
|
+
subject: string;
|
|
147
|
+
/** Engagement slices involved, model order. */
|
|
148
|
+
slices: string[];
|
|
149
|
+
message: string;
|
|
150
|
+
}
|
|
138
151
|
export interface EngagementPlan {
|
|
139
152
|
file: string;
|
|
140
153
|
engagement: string;
|
|
@@ -144,7 +157,25 @@ export interface EngagementPlan {
|
|
|
144
157
|
parallel: number;
|
|
145
158
|
levels: EngagementPlanLevel[];
|
|
146
159
|
slices: EngagementPlanSlice[];
|
|
160
|
+
/** GH #239 (plan schema 1.2; `shape` kind added in 1.3, GH #282). `[]` when the engagement's slices share no gap. */
|
|
161
|
+
preflight: PreflightFinding[];
|
|
147
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* GH #239: the four gaps an engagement run surfaced seven times over (one per implementer).
|
|
165
|
+
* Pure over the model, the unit index and the caller's unconditional diagnostics:
|
|
166
|
+
* - `repeated-invariant`: one `invariant INV-…` id declared in two or more of the engagement's
|
|
167
|
+
* slices (MIL-265) — which slice enforces it is a single decision, not N.
|
|
168
|
+
* - `event-without-tag`: an event owned by an engagement slice with no tag at all
|
|
169
|
+
* (`collectTags` empty — no inline identity tag, no `tag` clause): the entity's consistency
|
|
170
|
+
* boundary is undeclared, and the foundation PR (implement.md §8) is where it must be fixed.
|
|
171
|
+
* - `shared-trigger`: one `ui` name in two or more engagement slices. em has no endpoint syntax;
|
|
172
|
+
* under MIL-212 a `ui` IS the endpoint obligation, so a screen that triggers commands in two
|
|
173
|
+
* slices is one endpoint with no single owner.
|
|
174
|
+
* - `doc-model-mismatch`: the slice's doc↔model consistency warnings (MIL-124) — the tables an
|
|
175
|
+
* implementer reads disagree with the model it builds against.
|
|
176
|
+
* Slices are the engagement's UNITS (continuations fold into their originator's key).
|
|
177
|
+
*/
|
|
178
|
+
export declare function computePreflight(input: EngagementModelInput, members: string[], idx: UnitIndex): PreflightFinding[];
|
|
148
179
|
export type PlanResult = {
|
|
149
180
|
ok: true;
|
|
150
181
|
plan: EngagementPlan;
|
|
@@ -157,6 +188,21 @@ export declare function missingKeys(eng: EngagementFile, idx: UnitIndex): string
|
|
|
157
188
|
export declare function buildEngagementPlan(input: EngagementModelInput, engagementFile: string, eng: EngagementFile, idx: UnitIndex): PlanResult;
|
|
158
189
|
export declare function formatEngagementPlanText(p: EngagementPlan): string;
|
|
159
190
|
export declare function engagementPlanFor(input: EngagementModelInput, slug: string): PlanResult;
|
|
191
|
+
/** GH #240: the engagement's member keys plus the unit index, for the foundation check (shared by
|
|
192
|
+
* the CLI and the MCP tool). Refuses a missing engagement or one naming slices the model lost. */
|
|
193
|
+
export declare function engagementMembersFor(input: {
|
|
194
|
+
file: string;
|
|
195
|
+
model: NormalizedModel;
|
|
196
|
+
refs: RefsResult;
|
|
197
|
+
baseDir: string;
|
|
198
|
+
}, slug: string): {
|
|
199
|
+
ok: true;
|
|
200
|
+
members: string[];
|
|
201
|
+
idx: UnitIndex;
|
|
202
|
+
} | {
|
|
203
|
+
ok: false;
|
|
204
|
+
message: string;
|
|
205
|
+
};
|
|
160
206
|
export type StatusResult = {
|
|
161
207
|
ok: true;
|
|
162
208
|
status: EngagementStatus;
|