@milehimikey/em 1.18.1 → 1.19.1
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-design/SKILL.md +5 -2
- package/.claude/skills/event-modeling-discover/SKILL.md +1 -1
- package/.claude/skills/event-modeling-engagement/SKILL.md +3 -3
- package/.claude/skills/event-modeling-implement/SKILL.md +1 -1
- package/.claude/skills/event-modeling-review/SKILL.md +1 -1
- package/.claude/skills/event-modeling-shared/reference/em-dsl.md +11 -7
- package/.claude/skills/event-modeling-shared/reference/slice-doc-schema.md +14 -2
- package/.claude-plugin/marketplace.json +2 -2
- package/dist/catalog/docJoin.d.ts +2 -1
- package/dist/catalog/docJoin.js.map +1 -1
- package/dist/catalog/docModelConsistencyValidate.js +17 -1
- package/dist/catalog/docModelConsistencyValidate.js.map +1 -1
- package/dist/catalog/signedBodyValidate.js.map +1 -1
- package/dist/catalog/sliceDoc.d.ts +43 -15
- package/dist/catalog/sliceDoc.js +66 -15
- package/dist/catalog/sliceDoc.js.map +1 -1
- package/dist/catalog/sliceReadyValidate.js +2 -1
- package/dist/catalog/sliceReadyValidate.js.map +1 -1
- package/dist/catalog/sliceSections.d.ts +9 -0
- package/dist/catalog/sliceSections.js +29 -3
- package/dist/catalog/sliceSections.js.map +1 -1
- package/dist/cli/ciInit.d.ts +17 -0
- package/dist/cli/ciInit.js +53 -6
- package/dist/cli/ciInit.js.map +1 -1
- package/dist/cli/defer.d.ts +1 -1
- package/dist/cli/defer.js +5 -4
- package/dist/cli/defer.js.map +1 -1
- package/dist/cli/engagement.d.ts +3 -0
- package/dist/cli/engagement.js +48 -1
- package/dist/cli/engagement.js.map +1 -1
- package/dist/cli/sliceSync.d.ts +37 -0
- package/dist/cli/sliceSync.js +84 -4
- package/dist/cli/sliceSync.js.map +1 -1
- package/dist/cli/upgrade.d.ts +1 -1
- package/dist/cli/upgrade.js +79 -38
- package/dist/cli/upgrade.js.map +1 -1
- package/dist/cli.js +39 -15
- package/dist/cli.js.map +1 -1
- package/dist/emit/glossaryJson.d.ts +1 -1
- package/dist/emit/glossaryJson.js +3 -1
- package/dist/emit/glossaryJson.js.map +1 -1
- package/dist/mcp/server.js +10 -4
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/glossary.d.ts +9 -1
- package/dist/model/glossary.js +24 -2
- package/dist/model/glossary.js.map +1 -1
- package/dist/model/model.d.ts +5 -0
- package/dist/model/model.js +15 -0
- package/dist/model/model.js.map +1 -1
- package/dist/model/rules.d.ts +8 -1
- package/dist/model/rules.js +8 -1
- package/dist/model/rules.js.map +1 -1
- package/dist/model/validate.js +46 -31
- package/dist/model/validate.js.map +1 -1
- package/dist/query/verbs.js +4 -4
- package/dist/query/verbs.js.map +1 -1
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +2 -2
- package/plugin/shared/reference/em-dsl.md +11 -7
- package/plugin/shared/reference/slice-doc-schema.md +14 -2
- package/plugin/skills/conform/SKILL.md +1 -1
- package/plugin/skills/design/SKILL.md +5 -2
- package/plugin/skills/discover/SKILL.md +1 -1
- package/plugin/skills/engagement/SKILL.md +3 -3
- package/plugin/skills/event-modeling/SKILL.md +1 -1
- package/plugin/skills/implement/SKILL.md +1 -1
- package/plugin/skills/review/SKILL.md +1 -1
|
@@ -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/upgrade.d.ts
CHANGED
|
@@ -58,7 +58,7 @@ export { GRANDFATHERED_RATIFIER };
|
|
|
58
58
|
* `null` when the doc isn't a candidate (no frontmatter/status, or `ratifiedBy` already set). */
|
|
59
59
|
export declare function applyGrandfatherSignoff(raw: string, ratifiedOn: string): string | null;
|
|
60
60
|
export declare const UPGRADE_STEPS: readonly UpgradeStepDef[];
|
|
61
|
-
export type HumanItemId = "no-model-version" | "continuation-has-own-doc" | "ready-to-implement-no-ratifiedby" | "coverage-scope-default" | "unratified-constitution" | "predates-1.6" | "public-field-types-unresolved" | "plugin-install-locally" | "slice-doc-stale-signed" | "lineage-backlink-missing" | "fold-continuations-opt-in" | "shared-event-now-legal" | "roster-not-initialised" | "api-contract-blocked";
|
|
61
|
+
export type HumanItemId = "no-model-version" | "continuation-has-own-doc" | "ready-to-implement-no-ratifiedby" | "coverage-scope-default" | "unratified-constitution" | "predates-1.6" | "public-field-types-unresolved" | "plugin-install-locally" | "slice-doc-stale-signed" | "lineage-backlink-missing" | "fold-continuations-opt-in" | "shared-event-now-legal" | "roster-not-initialised" | "api-contract-blocked" | "ci-paths-hand-edited";
|
|
62
62
|
export interface HumanItem {
|
|
63
63
|
id: HumanItemId;
|
|
64
64
|
reason: string;
|
package/dist/cli/upgrade.js
CHANGED
|
@@ -34,12 +34,12 @@ import { planSkillSyncBundle, applySkillSyncBundle, planAgentSync, applySkillSyn
|
|
|
34
34
|
import { EM_ALL_SKILL_BUNDLE_DIRS, EM_SKILL_ANCHOR_DIR, EM_AGENT_FILES } from "./skillDirs.js";
|
|
35
35
|
import { detectPlugin, checkPlugin, claudePluginsDir, mergePluginSettings, pluginInstallCommands, pluginSettingsEntries } from "./pluginPin.js";
|
|
36
36
|
import { syncAgentsMd } from "./agentsMd.js";
|
|
37
|
-
import { ciWorkflowPath, conformWorkflowPath, buildCiWorkflowFile, buildConformWorkflowFile, buildCiWorkflowFileMulti, buildConformWorkflowFileMulti, ciManagedBody, ciManagedBodyMulti, conformManagedBody, conformManagedBodyMulti, ciModelsFromManifest, planCiFile, applyCiFile, CI_WORKFLOW_MARKER, CONFORM_WORKFLOW_MARKER, } from "./ciInit.js";
|
|
37
|
+
import { ciWorkflowPath, conformWorkflowPath, buildCiWorkflowFile, buildConformWorkflowFile, buildCiWorkflowFileMulti, buildConformWorkflowFileMulti, ciManagedBody, ciManagedBodyMulti, conformManagedBody, conformManagedBodyMulti, ciModelsFromManifest, planCiFile, applyCiFile, refreshCiPullRequestPaths, applyCiPullRequestPathsRefresh, missingCiPullRequestPaths, CI_WORKFLOW_MARKER, CONFORM_WORKFLOW_MARKER, } from "./ciInit.js";
|
|
38
38
|
import { findSpecifyRoot, locateConstitution } from "./status.js";
|
|
39
39
|
import { scaffoldConstitution, scaffoldStateFile } from "../templates.js";
|
|
40
40
|
import { loadStateFile, parseState, setEmVersion, ensureOptionalBullets, resolveStateFilePath } from "./stateFile.js";
|
|
41
41
|
import { fieldLineRegex, normalizeFieldValue, locateFrontmatterInner, replaceFieldValue } from "./frontmatterSurgery.js";
|
|
42
|
-
import { parseSliceDoc, ratifiedHashScope, sliceDocBodyHash } from "../catalog/sliceDoc.js";
|
|
42
|
+
import { isOldHashScope, parseSliceDoc, ratifiedHashScope, sliceDocBodyHash } from "../catalog/sliceDoc.js";
|
|
43
43
|
import { applyDeferOrAppend, drainQueueInState, finishSignedDocEdit, isSignedDoc, readQueue, rewriteParkingLotFragments } from "./defer.js";
|
|
44
44
|
import { runSliceSync } from "./sliceSync.js";
|
|
45
45
|
import { runSliceIndex } from "./sliceIndex.js";
|
|
@@ -306,16 +306,19 @@ function ciBlockPlans(ctx) {
|
|
|
306
306
|
const multi = args.models !== null;
|
|
307
307
|
const files = ciBlockFiles(args, ctx);
|
|
308
308
|
const ciStatus = planCiFile(ciPath, files.ci[0], files.ci[1], CI_WORKFLOW_MARKER, false, multi);
|
|
309
|
-
|
|
309
|
+
// GH #346: the `on:` paths live outside the managed block; refresh them when still the pre-1.19 list.
|
|
310
|
+
// A workflow with its markers removed is the documented opt-out and stays untouched, filter included.
|
|
311
|
+
const pathsStale = (ciStatus.kind === "ok" || ciStatus.kind === "stale") && refreshCiPullRequestPaths(readFileSync(ciPath, "utf8")) !== null;
|
|
312
|
+
const ciStale = ciStatus.kind === "stale" || pathsStale;
|
|
310
313
|
let conformStale = false;
|
|
311
314
|
if (existsSync(conformPath)) {
|
|
312
315
|
const conformStatus = planCiFile(conformPath, files.conform[0], files.conform[1], CONFORM_WORKFLOW_MARKER, false, multi);
|
|
313
316
|
conformStale = conformStatus.kind === "stale";
|
|
314
317
|
}
|
|
315
|
-
return { ciPath, ciStale, conformPath, conformStale, args };
|
|
318
|
+
return { ciPath, ciStale, pathsOnly: pathsStale && ciStatus.kind === "ok", conformPath, conformStale, args };
|
|
316
319
|
}
|
|
317
320
|
function detectCiBlock(ctx) {
|
|
318
|
-
const { ciPath, ciStale, conformStale, args, blocked } = ciBlockPlans(ctx);
|
|
321
|
+
const { ciPath, ciStale, pathsOnly, conformStale, args, blocked } = ciBlockPlans(ctx);
|
|
319
322
|
if (!existsSync(ciPath))
|
|
320
323
|
return { applicable: false, reason: "no .github/workflows/em-ci.yml — em upgrade never creates one" };
|
|
321
324
|
if (!args && blocked)
|
|
@@ -324,6 +327,8 @@ function detectCiBlock(ctx) {
|
|
|
324
327
|
return { applicable: false, reason: "can't determine the <model>/--tests arguments em-ci.yml was generated with — run `em ci init <model>` by hand if it needs refreshing" };
|
|
325
328
|
if (!ciStale && !conformStale)
|
|
326
329
|
return { applicable: false, reason: "generated CI block(s) already match the installed em" };
|
|
330
|
+
if (pathsOnly && !conformStale)
|
|
331
|
+
return { applicable: true, reason: "em-ci.yml pull_request paths filter is the pre-1.19.0 list" };
|
|
327
332
|
return { applicable: true, reason: "generated CI block(s) are stale" };
|
|
328
333
|
}
|
|
329
334
|
function applyCiBlock(ctx) {
|
|
@@ -335,6 +340,7 @@ function applyCiBlock(ctx) {
|
|
|
335
340
|
const changedFiles = [];
|
|
336
341
|
if (ciStale) {
|
|
337
342
|
applyCiFile(ciPath, planCiFile(ciPath, files.ci[0], files.ci[1], CI_WORKFLOW_MARKER, false, multi));
|
|
343
|
+
applyCiPullRequestPathsRefresh(ciPath);
|
|
338
344
|
changedFiles.push(ciPath);
|
|
339
345
|
}
|
|
340
346
|
if (conformStale) {
|
|
@@ -556,29 +562,35 @@ function queuedLeftovers(ctx) {
|
|
|
556
562
|
return out.sort((a, b) => a.key.localeCompare(b.key));
|
|
557
563
|
}
|
|
558
564
|
function detectRatifiedHashScope(ctx) {
|
|
559
|
-
const
|
|
560
|
-
const
|
|
565
|
+
const candidates = hashScopeCandidates(ctx);
|
|
566
|
+
const v117 = candidates.filter((c) => c.scope === "v1.17");
|
|
567
|
+
const legacy = candidates.filter((c) => c.scope === "legacy");
|
|
568
|
+
const mismatch = candidates.filter((c) => c.scope === "mismatch");
|
|
561
569
|
const queued = queuedLeftovers(ctx);
|
|
562
|
-
|
|
563
|
-
|
|
570
|
+
const left = mismatch.length > 0 ? `left alone: ${mismatch.map((c) => c.key).join(", ")} — body no longer matches ratifiedHash in any scope (revert, or em slice revise and re-ratify)` : null;
|
|
571
|
+
if (v117.length === 0 && legacy.length === 0 && queued.length === 0) {
|
|
572
|
+
return { applicable: false, reason: `every intact ratifiedHash is in the 1.19 scope and no question is queued in the state file${left ? `; ${left}` : ""}` };
|
|
564
573
|
}
|
|
574
|
+
const restamp = "em upgrade will re-stamp them in the 1.19 scope (authored text only: generated regions and Open Questions deferrals excluded; same body, not a re-signing; ratifiedRef untouched)";
|
|
565
575
|
const parts = [];
|
|
576
|
+
if (v117.length > 0)
|
|
577
|
+
parts.push(`${v117.length} doc(s) carry a 1.17–1.18 ratifiedHash (generated regions inside; body intact): ${v117.map((c) => c.key).join(", ")} — ${restamp}`);
|
|
566
578
|
if (legacy.length > 0)
|
|
567
|
-
parts.push(`${legacy.length} doc(s) carry a pre-1.17 whole-body ratifiedHash (body intact): ${legacy.map((c) => c.key).join(", ")} —
|
|
579
|
+
parts.push(`${legacy.length} doc(s) carry a pre-1.17 whole-body ratifiedHash (body intact): ${legacy.map((c) => c.key).join(", ")} — ${restamp}`);
|
|
568
580
|
if (queued.length > 0) {
|
|
569
581
|
const n = queued.reduce((s, q) => s + q.items.length, 0);
|
|
570
582
|
parts.push(`${n} question(s) queued in ${STATE_FILE_NAME} by 1.16's em slice defer (GH #236) for ${queued.map((q) => `${q.key}@v${q.version + 1}`).join(", ")} — em upgrade will write each into its doc's Open Questions as a deferred item and drain the queue`);
|
|
571
583
|
}
|
|
572
|
-
if (
|
|
573
|
-
parts.push(
|
|
584
|
+
if (left)
|
|
585
|
+
parts.push(left);
|
|
574
586
|
return { applicable: true, reason: parts.join("; ") };
|
|
575
587
|
}
|
|
576
588
|
function applyRatifiedHashScope(ctx) {
|
|
577
|
-
const
|
|
589
|
+
const oldScope = new Set(hashScopeCandidates(ctx).filter((c) => isOldHashScope(c.scope)).map((c) => c.path));
|
|
578
590
|
const queued = queuedLeftovers(ctx);
|
|
579
591
|
const touched = new Map(); // abs path -> next content
|
|
580
592
|
const current = (path) => touched.get(path) ?? readFileSync(path, "utf8");
|
|
581
|
-
// Queue first, on the doc as read: `finishSignedDocEdit` re-stamps
|
|
593
|
+
// Queue first, on the doc as read: `finishSignedDocEdit` re-stamps an old-scope hash itself.
|
|
582
594
|
for (const q of queued) {
|
|
583
595
|
const file = join(ctx.baseDir, q.path);
|
|
584
596
|
let content = current(file);
|
|
@@ -602,9 +614,9 @@ function applyRatifiedHashScope(ctx) {
|
|
|
602
614
|
content = finished.content;
|
|
603
615
|
}
|
|
604
616
|
touched.set(file, content);
|
|
605
|
-
|
|
617
|
+
oldScope.delete(q.path);
|
|
606
618
|
}
|
|
607
|
-
for (const path of
|
|
619
|
+
for (const path of oldScope) {
|
|
608
620
|
const file = join(ctx.baseDir, path);
|
|
609
621
|
const raw = current(file);
|
|
610
622
|
const next = replaceFieldValue(raw, "ratifiedHash", sliceDocBodyHash(raw));
|
|
@@ -746,7 +758,7 @@ function detectCollapseAlternativeEvents(ctx) {
|
|
|
746
758
|
applicable: true,
|
|
747
759
|
reason: `${plan.groups.length} run(s) of repeated-command slices collapse to alternative events: ${desc.join("; ")} — em upgrade will rewrite them (the first slice's key is kept; the others' docs move to ${ARCHIVE_DIR}/ with superseded-by and a SUPERSEDED banner, and the kept doc gains merged-from)` +
|
|
748
760
|
(notes.length > 0 ? `; ${notes.join("; ")}` : "") +
|
|
749
|
-
(stale.length > 0 ? `; signed doc(s)
|
|
761
|
+
(stale.length > 0 ? `; signed doc(s) whose generated regions go stale: ${stale.join(", ")} — em upgrade syncs the kept slice's doc, run em slice sync for any other (since 1.19.0 sync keeps the signature: ratifiedHash covers the authored text only)` : ""),
|
|
750
762
|
};
|
|
751
763
|
}
|
|
752
764
|
/** Frontmatter-only edit: adds `key: value` before the closing fence (a no-op without frontmatter). */
|
|
@@ -786,15 +798,18 @@ function applyCollapseAlternativeEvents(ctx) {
|
|
|
786
798
|
if (!changed.includes(abs))
|
|
787
799
|
changed.push(abs);
|
|
788
800
|
}
|
|
789
|
-
// Regenerate the kept slice's event region (one `Records one of:` region now)
|
|
790
|
-
//
|
|
801
|
+
// Regenerate the kept slice's event region (one `Records one of:` region now). A signed doc is synced
|
|
802
|
+
// too and keeps its signature (GH #347: ratifiedHash covers the authored text only).
|
|
791
803
|
const after = freshCompile(ctx);
|
|
792
804
|
if (after) {
|
|
793
805
|
for (const g of plan.groups) {
|
|
794
806
|
const kept = retired.find((r) => r.keptKey === g.keys[0])?.keptDoc ?? `slices/${g.keys[0]}.md`;
|
|
795
807
|
const doc = join(ctx.baseDir, kept);
|
|
796
|
-
if (existsSync(doc)
|
|
808
|
+
if (existsSync(doc)) {
|
|
797
809
|
const r = runSliceSync(after.model, after.refs, ctx.baseDir, g.keys[0], false);
|
|
810
|
+
const bad = r.ok ? r.docs.find((d) => d.status === "malformed") : undefined;
|
|
811
|
+
if (bad)
|
|
812
|
+
return { ok: false, message: `${bad.path}: em slice sync could not rewrite it — ${bad.problems.join("; ")}` };
|
|
798
813
|
if (r.ok && r.docs.some((d) => d.status === "synced") && !changed.includes(doc))
|
|
799
814
|
changed.push(doc);
|
|
800
815
|
}
|
|
@@ -828,7 +843,7 @@ function detectFoldContinuations(ctx) {
|
|
|
828
843
|
const optIn = ctx.foldContinuations === true || ctx.toSugar === true;
|
|
829
844
|
const prefix = optIn ? "" : `OPT-IN, not applied by a plain --apply (run \`${FOLD_FLAG}\`): `;
|
|
830
845
|
const stale = signedDocsStaleAfter(ctx, f.plan.next);
|
|
831
|
-
const staleNote = stale.length > 0 ? `; signed doc(s) whose generated regions (e.g. the view's \`via\` annotations) go stale
|
|
846
|
+
const staleNote = stale.length > 0 ? `; signed doc(s) whose generated regions (e.g. the view's \`via\` annotations) go stale: ${stale.join(", ")} — run em slice sync afterwards (since 1.19.0 it keeps the signature: ratifiedHash covers the authored text only)` : "";
|
|
832
847
|
if (f.kind === "stack") {
|
|
833
848
|
const p = f.plan;
|
|
834
849
|
const desc = p.groups.map((g) => `${[g.kept, ...g.dropped].map((n) => `"${n}"`).join(" + ")} → one continuation slice "${g.kept}" (key ${g.keptKey} kept; dropped keys: ${g.droppedKeys.join(", ")})`);
|
|
@@ -848,36 +863,40 @@ function applyFoldContinuations(ctx) {
|
|
|
848
863
|
return { ok: true, changedFiles: [ctx.modelFile] };
|
|
849
864
|
}
|
|
850
865
|
function staleViewDocs(ctx) {
|
|
851
|
-
const
|
|
852
|
-
const signed = [];
|
|
866
|
+
const out = [];
|
|
853
867
|
const r = runSliceSync(ctx.model, ctx.refs, ctx.baseDir, undefined, true);
|
|
854
868
|
if (!r.ok)
|
|
855
|
-
return
|
|
869
|
+
return out;
|
|
856
870
|
for (const d of r.docs) {
|
|
857
|
-
if (d.status !== "stale" || !d
|
|
871
|
+
if (d.status !== "stale" || !hasStaleViewRegion(d))
|
|
858
872
|
continue;
|
|
859
|
-
|
|
873
|
+
out.push({ key: d.key, path: d.path });
|
|
860
874
|
}
|
|
861
|
-
return
|
|
875
|
+
return out;
|
|
876
|
+
}
|
|
877
|
+
function hasStaleViewRegion(d) {
|
|
878
|
+
return d.regions.some((g) => g.status === "stale" && g.name.startsWith("em-slice-view"));
|
|
862
879
|
}
|
|
863
880
|
function detectViewDocSourcesStale(ctx) {
|
|
864
|
-
const
|
|
865
|
-
const left = signed.length > 0 ? `; left alone (ratified or shipped — em slice revise, then em slice sync): ${signed.map((d) => d.path).join(", ")}` : "";
|
|
881
|
+
const open = staleViewDocs(ctx);
|
|
866
882
|
if (open.length === 0) {
|
|
867
|
-
return { applicable: false, reason:
|
|
883
|
+
return { applicable: false, reason: "no bound slice doc's view region is stale against the model" };
|
|
868
884
|
}
|
|
869
885
|
return {
|
|
870
886
|
applicable: true,
|
|
871
|
-
reason: `em slice sync --check would change the view region of ${open.length} doc(s): ${open.map((d) => d.path).join(", ")} — em upgrade will run em slice sync on them
|
|
887
|
+
reason: `em slice sync --check would change the view region of ${open.length} doc(s): ${open.map((d) => d.path).join(", ")} — em upgrade will run em slice sync on them (a ratified or shipped doc keeps its signature)`,
|
|
872
888
|
};
|
|
873
889
|
}
|
|
874
890
|
function applyViewDocSourcesStale(ctx) {
|
|
875
|
-
const
|
|
891
|
+
const open = staleViewDocs(ctx);
|
|
876
892
|
const changedFiles = [];
|
|
877
893
|
for (const d of open) {
|
|
878
894
|
const r = runSliceSync(ctx.model, ctx.refs, ctx.baseDir, d.key, false);
|
|
879
895
|
if (!r.ok)
|
|
880
896
|
return { ok: false, message: r.message };
|
|
897
|
+
const bad = r.docs.find((x) => x.status === "malformed");
|
|
898
|
+
if (bad)
|
|
899
|
+
return { ok: false, message: `${bad.path}: em slice sync could not rewrite it — ${bad.problems.join("; ")}` };
|
|
881
900
|
changedFiles.push(join(ctx.baseDir, d.path));
|
|
882
901
|
}
|
|
883
902
|
return { ok: true, changedFiles };
|
|
@@ -1026,7 +1045,7 @@ export const UPGRADE_STEPS = [
|
|
|
1026
1045
|
{ id: "api-contract-missing", sinceVersion: "1.18.1", detect: detectApiContractMissing, apply: applyApiContractMissing },
|
|
1027
1046
|
{ id: "constitution", sinceVersion: "1.11.0", detect: detectConstitution, apply: applyConstitution },
|
|
1028
1047
|
{ id: "ratified-signoff", sinceVersion: "1.14.0", detect: detectRatifiedSignoff, apply: applyRatifiedSignoff },
|
|
1029
|
-
{ id: "ratified-hash-scope", sinceVersion: "1.
|
|
1048
|
+
{ id: "ratified-hash-scope", sinceVersion: "1.19.0", detect: detectRatifiedHashScope, apply: applyRatifiedHashScope },
|
|
1030
1049
|
{ id: "collapse-alternative-events", sinceVersion: "1.18.0", detect: detectCollapseAlternativeEvents, apply: applyCollapseAlternativeEvents },
|
|
1031
1050
|
{ id: "fold-continuations", sinceVersion: "1.18.0", detect: detectFoldContinuations, apply: applyFoldContinuations, optedIn: (c) => c.foldContinuations === true || c.toSugar === true },
|
|
1032
1051
|
{ id: "view-doc-sources-stale", sinceVersion: "1.18.0", detect: detectViewDocSourcesStale, apply: applyViewDocSourcesStale },
|
|
@@ -1164,19 +1183,23 @@ function detectPluginInstallLocally(ctx) {
|
|
|
1164
1183
|
}
|
|
1165
1184
|
return null;
|
|
1166
1185
|
}
|
|
1167
|
-
/** GH #290: a SIGNED doc (ratified or shipped) whose generated regions are stale against the
|
|
1168
|
-
* `view-doc-sources-stale`
|
|
1169
|
-
*
|
|
1186
|
+
/** GH #290 / GH #347: a SIGNED doc (ratified or shipped) whose generated regions are stale against the
|
|
1187
|
+
* model and that no step syncs (`view-doc-sources-stale` syncs a doc with a stale view region, signed or
|
|
1188
|
+
* not). Since 1.19.0 the fix is mechanical — `em slice sync` keeps the signature, because
|
|
1189
|
+
* `ratifiedHash` covers the authored text only; model-change discipline is the model's own pin
|
|
1190
|
+
* (`model-versions/v<N>.json`). Raised for the event, command and invariants regions. */
|
|
1170
1191
|
function detectSliceDocStaleSigned(ctx) {
|
|
1171
1192
|
const r = runSliceSync(ctx.model, ctx.refs, ctx.baseDir, undefined, true);
|
|
1172
1193
|
if (!r.ok)
|
|
1173
1194
|
return null;
|
|
1174
|
-
|
|
1195
|
+
// A doc with a stale view region is `view-doc-sources-stale`'s — unless sync could not rewrite it
|
|
1196
|
+
// (`signatureRefused`), in which case that step fails on it and the human item must still name it.
|
|
1197
|
+
const docs = r.docs.filter((d) => d.status === "stale" && (!hasStaleViewRegion(d) || d.signatureRefused !== undefined) && isSignedDoc(readFileSync(join(ctx.baseDir, d.path), "utf8")));
|
|
1175
1198
|
if (docs.length === 0)
|
|
1176
1199
|
return null;
|
|
1177
1200
|
return {
|
|
1178
1201
|
id: "slice-doc-stale-signed",
|
|
1179
|
-
reason: `${docs.map((d) => `${d.path} (${d.regions.filter((g) => g.status === "stale").map((g) => g.name).join(", ")})`).join("; ")} — ratified or shipped and stale against the model; run \`em slice
|
|
1202
|
+
reason: `${docs.map((d) => `${d.path} (${d.regions.filter((g) => g.status === "stale").map((g) => g.name).join(", ")})`).join("; ")} — ratified or shipped and stale against the model; run \`em slice sync ${basename(ctx.modelFile)}\` (it rewrites the generated regions and keeps the signature: ratifiedHash covers the authored text only)`,
|
|
1180
1203
|
};
|
|
1181
1204
|
}
|
|
1182
1205
|
/** GH #290 / #278: a retired doc under archive/slices/ names its successor in `superseded-by`, but the
|
|
@@ -1269,6 +1292,23 @@ function detectApiContractBlocked(ctx) {
|
|
|
1269
1292
|
reason: `the contract could not be generated for ${blockedText(blocked)}, so the api-check job will fail until it exists - run \`em validate <model>\` to see why, fix it, then \`em api generate <model>\``,
|
|
1270
1293
|
};
|
|
1271
1294
|
}
|
|
1295
|
+
/** GH #346: a hand-edited `pull_request.paths` filter that lacks entries of the current preset is
|
|
1296
|
+
* left alone, but the owner should know why upgrade PRs may get no CI run. */
|
|
1297
|
+
function detectCiPathsHandEdited(ctx) {
|
|
1298
|
+
const ciPath = ciWorkflowPath(ctx.repoRoot);
|
|
1299
|
+
if (!existsSync(ciPath))
|
|
1300
|
+
return null;
|
|
1301
|
+
const content = readFileSync(ciPath, "utf8");
|
|
1302
|
+
if (refreshCiPullRequestPaths(content) !== null)
|
|
1303
|
+
return null;
|
|
1304
|
+
const missing = missingCiPullRequestPaths(content);
|
|
1305
|
+
if (!missing || missing.length === 0)
|
|
1306
|
+
return null;
|
|
1307
|
+
return {
|
|
1308
|
+
id: "ci-paths-hand-edited",
|
|
1309
|
+
reason: `em-ci.yml's hand-edited pull_request paths filter lacks ${missing.map((p) => `"${p}"`).join(", ")}, so a PR touching only those files (an \`em upgrade\` PR, for one) runs no CI; em leaves a hand-edited filter alone - add them if you want those PRs checked`,
|
|
1310
|
+
};
|
|
1311
|
+
}
|
|
1272
1312
|
const HUMAN_DETECTORS = [
|
|
1273
1313
|
detectNoModelVersion,
|
|
1274
1314
|
detectContinuationHasOwnDoc,
|
|
@@ -1284,6 +1324,7 @@ const HUMAN_DETECTORS = [
|
|
|
1284
1324
|
detectSharedEventNowLegal,
|
|
1285
1325
|
detectRosterNotInitialised,
|
|
1286
1326
|
detectApiContractBlocked,
|
|
1327
|
+
detectCiPathsHandEdited,
|
|
1287
1328
|
];
|
|
1288
1329
|
export function detectHumanItems(ctx) {
|
|
1289
1330
|
return HUMAN_DETECTORS.map((d) => d(ctx)).filter((x) => x !== null);
|