@rasensio/aidlc 1.14.0 → 1.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/commands/transition.d.ts +23 -0
  2. package/dist/commands/transition.d.ts.map +1 -1
  3. package/dist/commands/transition.js +70 -24
  4. package/dist/commands/transition.js.map +1 -1
  5. package/dist/core/lifecycle.js +7 -0
  6. package/dist/core/lifecycle.js.map +1 -1
  7. package/dist/core/types.d.ts +16 -0
  8. package/dist/core/types.d.ts.map +1 -1
  9. package/dist/doctor/migrations/index.d.ts.map +1 -1
  10. package/dist/doctor/migrations/index.js +12 -0
  11. package/dist/doctor/migrations/index.js.map +1 -1
  12. package/dist/doctor/migrations/instance-completion.d.ts +85 -0
  13. package/dist/doctor/migrations/instance-completion.d.ts.map +1 -0
  14. package/dist/doctor/migrations/instance-completion.js +163 -0
  15. package/dist/doctor/migrations/instance-completion.js.map +1 -0
  16. package/dist/doctor/migrations/roadmap-item-titles.d.ts +61 -0
  17. package/dist/doctor/migrations/roadmap-item-titles.d.ts.map +1 -0
  18. package/dist/doctor/migrations/roadmap-item-titles.js +121 -0
  19. package/dist/doctor/migrations/roadmap-item-titles.js.map +1 -0
  20. package/dist/doctor/migrations/roadmap-layout.d.ts.map +1 -1
  21. package/dist/doctor/migrations/roadmap-layout.js +7 -1
  22. package/dist/doctor/migrations/roadmap-layout.js.map +1 -1
  23. package/dist/events/event-bus.d.ts.map +1 -1
  24. package/dist/events/event-bus.js +12 -1
  25. package/dist/events/event-bus.js.map +1 -1
  26. package/dist/roadmap/paths.d.ts +48 -0
  27. package/dist/roadmap/paths.d.ts.map +1 -1
  28. package/dist/roadmap/paths.js +107 -0
  29. package/dist/roadmap/paths.js.map +1 -1
  30. package/package.json +2 -2
@@ -0,0 +1,163 @@
1
+ /**
2
+ * instance-completion migration (instance-complete-never-fires AC-9..AC-13,
3
+ * AC-16, AC-19, safe tier): stamp `completed_at` on instances that have already
4
+ * reached their completion moment, and move any roadmap item whose
5
+ * `promoted_to` names one of them into `done/`.
6
+ *
7
+ * Exists because `on-instance-complete` was suppressed for the whole time the
8
+ * old fired-once guard read `retrospective.md` — see that instance's
9
+ * `reproduction.md`. Two consequences have to be repaired, and they are the two
10
+ * halves of this migration:
11
+ *
12
+ * - **The guard's new key is unpopulated.** Nothing wrote `completed_at`
13
+ * before this change, so every already-completed instance would look
14
+ * un-fired to the new guard and re-emit on its next `aidlc transition`.
15
+ * Stamping them is a *prerequisite* of the guard change, not a tidy-up
16
+ * (AC-16). The value written is the completion timestamp `completionInfo`
17
+ * derives from phase state, never `now` — a backfill that stamped today
18
+ * would claim work finished when it was repaired.
19
+ * - **Roadmap items were left behind.** `roadmap-done` never ran, so items sit
20
+ * outside `done/` for instances that shipped (AC-9, AC-11).
21
+ *
22
+ * Safe tier, not confirm. `roadmap-layout` is confirm because it rewrites
23
+ * frontmatter it has to *interpret*; this one moves a file whose destination is
24
+ * already stated by data — the item names its instance, and the instance has
25
+ * demonstrably completed. There is no judgement to confirm, and putting it in
26
+ * the confirm tier would make `aidlc doctor` exit 1 until someone answered,
27
+ * which is the kind of soft gate this project's guidance says to avoid.
28
+ *
29
+ * Completion is answered by `completionInfo`, never by a local "is the last
30
+ * phase complete?" test (AC-19): that naive form is wrong for
31
+ * maintenance-terminal templates, which complete on maintenance *entry*.
32
+ * `roadmap-layout` depends on the same helper for the same reason, so the
33
+ * migration and `aidlc transition` cannot disagree.
34
+ *
35
+ * It never emits `on-instance-complete`. Re-delivering a weeks-old event has no
36
+ * consumer left, and would re-ask for retrospectives that already exist. The
37
+ * observable effects are repaired directly instead.
38
+ *
39
+ * Nothing here routes through `aidlc transition`, so the ownership gate cannot
40
+ * block it (AC-13) — the recorded phase owner of a completed instance is
41
+ * typically an agent session that no longer exists.
42
+ */
43
+ import { existsSync, readdirSync } from 'node:fs';
44
+ import { join } from 'node:path';
45
+ import { completionInfo, loadAllTemplates, loadInstance } from '../../metrics/report.js';
46
+ import { saveSnapshot } from '../../state/snapshot-store.js';
47
+ import { findByPromotedTo, isoDate, moveItem, unparseableItems, } from '../../roadmap/paths.js';
48
+ /**
49
+ * Everything the migration would do, computed without writing.
50
+ *
51
+ * The single source of pending-ness, shared verbatim by dry-run and real runs —
52
+ * the rule stated in `../types.ts`. Instances are walked in sorted order so the
53
+ * plan never depends on directory read order.
54
+ */
55
+ export function planInstanceCompletion(ctx) {
56
+ const stateDir = join(ctx.projectRoot, '.aidlc', 'state');
57
+ const unparseable = unparseableItems(ctx.projectRoot);
58
+ if (!existsSync(stateDir))
59
+ return { stamps: [], stranded: [], unparseable };
60
+ const templates = loadAllTemplates(ctx.projectRoot);
61
+ const stamps = [];
62
+ const stranded = [];
63
+ let names;
64
+ try {
65
+ names = readdirSync(stateDir, { withFileTypes: true })
66
+ .filter((e) => e.isDirectory())
67
+ .map((e) => e.name)
68
+ .sort();
69
+ }
70
+ catch {
71
+ return { stamps: [], stranded: [], unparseable };
72
+ }
73
+ for (const name of names) {
74
+ const inst = loadInstance(ctx.projectRoot, name);
75
+ if (inst === null)
76
+ continue;
77
+ const { completed, completedAt } = completionInfo(inst, templates);
78
+ if (!completed)
79
+ continue;
80
+ // A hand-written `completed_at` is left exactly as it is. It records what
81
+ // somebody observed at the time, and this migration has no better source.
82
+ if (!inst.state.completed_at && completedAt) {
83
+ stamps.push({ instance: name, completedAt });
84
+ }
85
+ const item = findByPromotedTo(ctx.projectRoot, name);
86
+ if (item !== null && item.status !== 'done') {
87
+ stranded.push({ item, instance: name });
88
+ }
89
+ }
90
+ return { stamps, stranded, unparseable };
91
+ }
92
+ /** One-line summary of a plan, shared by `check` and `apply`. */
93
+ function describe(plan, verb) {
94
+ const parts = [];
95
+ if (plan.stamps.length > 0) {
96
+ parts.push(`${verb} completed_at on ${plan.stamps.length} instance(s)`);
97
+ }
98
+ if (plan.stranded.length > 0) {
99
+ const moved = verb === 'would stamp' ? 'would move' : 'moved';
100
+ parts.push(`${moved} ${plan.stranded.length} roadmap item(s) to done/: ${plan.stranded
101
+ .map((s) => s.item.filename)
102
+ .join(', ')}`);
103
+ }
104
+ if (plan.unparseable.length > 0) {
105
+ parts.push(`${plan.unparseable.length} roadmap item(s) have unreadable frontmatter and are invisible to every roadmap lookup — a human must fix them: ${plan.unparseable.map((u) => u.label).join(', ')}`);
106
+ }
107
+ return parts.join('; ');
108
+ }
109
+ export const instanceCompletion = {
110
+ id: 'instance-completion',
111
+ tier: 'safe',
112
+ check(ctx) {
113
+ const plan = planInstanceCompletion(ctx);
114
+ // Ordered after the plan, not before it: a repo can hold roadmap items with
115
+ // no state directory, and reporting "no .aidlc/state" first would swallow
116
+ // the unparseable-item warning — the same silence this migration surfaces.
117
+ const stateDir = join(ctx.projectRoot, '.aidlc', 'state');
118
+ if (!existsSync(stateDir) && plan.unparseable.length === 0) {
119
+ return { applicable: false, reason: 'no .aidlc/state directory' };
120
+ }
121
+ if (plan.stamps.length === 0 && plan.stranded.length === 0) {
122
+ // Unparseable items are reported as NOT APPLICABLE, never as pending —
123
+ // the reasoning `roadmap-layout` records for the same case. `apply` will
124
+ // never fix them, so calling them pending would leave doctor reporting
125
+ // outstanding work that no run can ever clear, which trains people to
126
+ // ignore its output. The detail still prints.
127
+ if (plan.unparseable.length > 0) {
128
+ return { applicable: false, reason: describe(plan, 'would stamp') };
129
+ }
130
+ return { applicable: true, pending: false };
131
+ }
132
+ return {
133
+ applicable: true,
134
+ pending: true,
135
+ description: describe(plan, 'would stamp'),
136
+ };
137
+ },
138
+ apply(ctx) {
139
+ const plan = planInstanceCompletion(ctx);
140
+ const stateDir = join(ctx.projectRoot, '.aidlc', 'state');
141
+ for (const stamp of plan.stamps) {
142
+ // Re-read rather than reusing the planned object: `apply` runs after
143
+ // `check`, and re-loading keeps the write against current state.
144
+ const inst = loadInstance(ctx.projectRoot, stamp.instance);
145
+ if (inst === null || inst.state.completed_at)
146
+ continue;
147
+ inst.state.status = 'complete';
148
+ inst.state.completed_at = stamp.completedAt;
149
+ saveSnapshot(stateDir, stamp.instance, 'instance.yaml', inst.state);
150
+ }
151
+ for (const { item } of plan.stranded) {
152
+ // Guard the move: `check` may have run before another process moved it.
153
+ if (!existsSync(item.file))
154
+ continue;
155
+ moveItem(item, ctx.projectRoot, 'done', isoDate(ctx.now));
156
+ }
157
+ return {
158
+ changed: plan.stamps.length > 0 || plan.stranded.length > 0,
159
+ summary: describe(plan, 'stamped') || 'nothing to repair',
160
+ };
161
+ },
162
+ };
163
+ //# sourceMappingURL=instance-completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-completion.js","sourceRoot":"","sources":["../../../src/doctor/migrations/instance-completion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * roadmap-item-titles migration (confirm tier): quote an item title that YAML
3
+ * will not parse, so the item stops being invisible.
4
+ *
5
+ * The defect this repairs is silence, not breakage. `readItem` returns null for
6
+ * "unreadable" and "absent" alike and `listStatus` skips nulls, so one malformed
7
+ * frontmatter block removes an item from browse, from promotion lookup, from the
8
+ * `roadmap-done` action and from `aidlc doctor` — with no message anywhere saying
9
+ * a file was skipped. Absence is indistinguishable from never having written it.
10
+ * Five of this project's first 49 items sat invisible for up to ten days.
11
+ *
12
+ * The trigger is always the same: YAML reserves `` ` `` as an indicator
13
+ * character, so a plain scalar may not begin with one, and the natural way to
14
+ * name a code defect is `` title: `readItem` returns null ``. Agents write these
15
+ * titles — every affected item carried `source: agent` or `source: import`.
16
+ *
17
+ * Two halves, and the order matters. The *cause* is fixed in the capture
18
+ * instructions, which now say to quote the title unconditionally
19
+ * (`packages/content/skills/04-roadmap.md` and the portable `roadmap-item`
20
+ * skill); those are what stop new ones appearing. This migration is the
21
+ * *detector*, for the items already on disk and for any writer that ignores the
22
+ * instruction.
23
+ *
24
+ * Confirm tier, because this edits the user's own content — the reason
25
+ * `roadmap-layout` is confirm tier too. `check` and `apply` both derive
26
+ * everything from `planTitleQuoting` and nothing else computes pending-ness, the
27
+ * rule stated in `../types.ts`, so a dry run and a real run cannot disagree.
28
+ *
29
+ * Files broken any other way are reported as NOT APPLICABLE rather than pending,
30
+ * following `roadmap-layout` exactly: `apply` will never fix them, only a human
31
+ * can, and `aidlc doctor` exits 1 on pending confirm work — so calling them
32
+ * pending would fail doctor forever on a repo holding one malformed file, which
33
+ * trains people to ignore doctor output. `not-applicable` still prints the
34
+ * detail, which is the entire point: any error at all turns a ten-day mystery
35
+ * into a one-minute fix.
36
+ */
37
+ import type { Migration } from '../types.js';
38
+ import type { DoctorContext } from '../types.js';
39
+ import { type UnparseableItem } from '../../roadmap/paths.js';
40
+ /** One item whose title can be quoted back into validity. */
41
+ export interface TitleRepair {
42
+ item: UnparseableItem;
43
+ /** Full repaired file contents. */
44
+ contents: string;
45
+ }
46
+ export interface TitlePlan {
47
+ /** Mechanically repairable by quoting the title. */
48
+ repairs: TitleRepair[];
49
+ /** Unparseable for some other reason; a human must look. */
50
+ manual: UnparseableItem[];
51
+ }
52
+ /**
53
+ * Everything the migration would do, computed without writing.
54
+ *
55
+ * The single source of pending-ness. Sorted by `unparseableItems`, which walks
56
+ * statuses in lifecycle order and filenames in sorted order, so the plan never
57
+ * depends on directory read order.
58
+ */
59
+ export declare function planTitleQuoting(ctx: DoctorContext): TitlePlan;
60
+ export declare const roadmapItemTitles: Migration;
61
+ //# sourceMappingURL=roadmap-item-titles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roadmap-item-titles.d.ts","sourceRoot":"","sources":["../../../src/doctor/migrations/roadmap-item-titles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAEhC,6DAA6D;AAC7D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,oDAAoD;IACpD,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,4DAA4D;IAC5D,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,CAiB9D;AA0BD,eAAO,MAAM,iBAAiB,EAAE,SAuC/B,CAAC"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * roadmap-item-titles migration (confirm tier): quote an item title that YAML
3
+ * will not parse, so the item stops being invisible.
4
+ *
5
+ * The defect this repairs is silence, not breakage. `readItem` returns null for
6
+ * "unreadable" and "absent" alike and `listStatus` skips nulls, so one malformed
7
+ * frontmatter block removes an item from browse, from promotion lookup, from the
8
+ * `roadmap-done` action and from `aidlc doctor` — with no message anywhere saying
9
+ * a file was skipped. Absence is indistinguishable from never having written it.
10
+ * Five of this project's first 49 items sat invisible for up to ten days.
11
+ *
12
+ * The trigger is always the same: YAML reserves `` ` `` as an indicator
13
+ * character, so a plain scalar may not begin with one, and the natural way to
14
+ * name a code defect is `` title: `readItem` returns null ``. Agents write these
15
+ * titles — every affected item carried `source: agent` or `source: import`.
16
+ *
17
+ * Two halves, and the order matters. The *cause* is fixed in the capture
18
+ * instructions, which now say to quote the title unconditionally
19
+ * (`packages/content/skills/04-roadmap.md` and the portable `roadmap-item`
20
+ * skill); those are what stop new ones appearing. This migration is the
21
+ * *detector*, for the items already on disk and for any writer that ignores the
22
+ * instruction.
23
+ *
24
+ * Confirm tier, because this edits the user's own content — the reason
25
+ * `roadmap-layout` is confirm tier too. `check` and `apply` both derive
26
+ * everything from `planTitleQuoting` and nothing else computes pending-ness, the
27
+ * rule stated in `../types.ts`, so a dry run and a real run cannot disagree.
28
+ *
29
+ * Files broken any other way are reported as NOT APPLICABLE rather than pending,
30
+ * following `roadmap-layout` exactly: `apply` will never fix them, only a human
31
+ * can, and `aidlc doctor` exits 1 on pending confirm work — so calling them
32
+ * pending would fail doctor forever on a repo holding one malformed file, which
33
+ * trains people to ignore doctor output. `not-applicable` still prints the
34
+ * detail, which is the entire point: any error at all turns a ten-day mystery
35
+ * into a one-minute fix.
36
+ */
37
+ import { readFileSync, writeFileSync } from 'node:fs';
38
+ import { relative } from 'node:path';
39
+ import { quoteItemTitle, unparseableItems, } from '../../roadmap/paths.js';
40
+ /**
41
+ * Everything the migration would do, computed without writing.
42
+ *
43
+ * The single source of pending-ness. Sorted by `unparseableItems`, which walks
44
+ * statuses in lifecycle order and filenames in sorted order, so the plan never
45
+ * depends on directory read order.
46
+ */
47
+ export function planTitleQuoting(ctx) {
48
+ const repairs = [];
49
+ const manual = [];
50
+ for (const item of unparseableItems(ctx.projectRoot)) {
51
+ // Only `invalid-yaml` can be a quoting problem. An unreadable file or a
52
+ // missing/unterminated `---` fence is a different defect, and guessing at a
53
+ // repair for it would be the confident-wrong-fix this guard exists to avoid.
54
+ const repaired = item.reason === 'invalid-yaml' ? quoteItemTitle(readOrNull(item)) : null;
55
+ if (repaired === null) {
56
+ manual.push(item);
57
+ continue;
58
+ }
59
+ repairs.push({ item, contents: repaired });
60
+ }
61
+ return { repairs, manual };
62
+ }
63
+ /**
64
+ * Read one item, tolerating the race where it vanished between the directory
65
+ * walk and here. `unparseableItems` has already classified an unreadable file as
66
+ * `unreadable`, so reaching this with an I/O error means the file changed under
67
+ * us — a re-run picks it up, and treating it as "not repairable now" is correct.
68
+ */
69
+ function readOrNull(item) {
70
+ try {
71
+ return readFileSync(item.file, 'utf8');
72
+ }
73
+ catch {
74
+ return '';
75
+ }
76
+ }
77
+ /** One-line summary shared by `check` and `apply`. */
78
+ function describe(plan, verb) {
79
+ const names = plan.repairs.map((r) => r.item.label).join(', ');
80
+ const suffix = plan.manual.length > 0
81
+ ? `; ${plan.manual.length} other unparseable item(s) need a human: ${plan.manual.map((m) => m.label).join(', ')}`
82
+ : '';
83
+ return `${verb} the title in ${plan.repairs.length} roadmap item(s) so they parse: ${names}${suffix}`;
84
+ }
85
+ export const roadmapItemTitles = {
86
+ id: 'roadmap-item-titles',
87
+ tier: 'confirm',
88
+ check(ctx) {
89
+ const plan = planTitleQuoting(ctx);
90
+ if (plan.repairs.length === 0) {
91
+ if (plan.manual.length > 0) {
92
+ return {
93
+ applicable: false,
94
+ reason: `${plan.manual.length} roadmap item(s) have unparseable frontmatter that quoting the title will not fix, so they are invisible to every roadmap lookup until a human edits them: ${plan.manual
95
+ .map((m) => (m.detail ? `${m.label} (${m.detail})` : `${m.label} [${m.reason}]`))
96
+ .join('; ')}`,
97
+ };
98
+ }
99
+ return { applicable: true, pending: false };
100
+ }
101
+ return {
102
+ applicable: true,
103
+ pending: true,
104
+ description: describe(plan, 'would quote'),
105
+ // No shell equivalent: this is an in-place text edit of one line, not a
106
+ // move. Listing the files is the honest version of "the exact commands".
107
+ commands: plan.repairs.map((r) => `edit ${relative(ctx.projectRoot, r.item.file)} — quote the title: value`),
108
+ };
109
+ },
110
+ apply(ctx) {
111
+ const plan = planTitleQuoting(ctx);
112
+ for (const repair of plan.repairs) {
113
+ writeFileSync(repair.item.file, repair.contents, 'utf8');
114
+ }
115
+ return {
116
+ changed: plan.repairs.length > 0,
117
+ summary: plan.repairs.length > 0 ? describe(plan, 'quoted') : 'no titles to quote',
118
+ };
119
+ },
120
+ };
121
+ //# sourceMappingURL=roadmap-item-titles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roadmap-item-titles.js","sourceRoot":"","sources":["../../../src/doctor/migrations/roadmap-item-titles.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"roadmap-layout.d.ts","sourceRoot":"","sources":["../../../src/doctor/migrations/roadmap-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAEhC,6EAA6E;AAC7E,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,CAAC;IACtB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,yEAAyE;IACzE,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAsBD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,GACpB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA8CzC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW,CAmEhE;AASD,eAAO,MAAM,aAAa,EAAE,SA8G3B,CAAC"}
1
+ {"version":3,"file":"roadmap-layout.d.ts","sourceRoot":"","sources":["../../../src/doctor/migrations/roadmap-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAEhC,6EAA6E;AAC7E,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,CAAC;IACtB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,yEAAyE;IACzE,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAsBD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,GACpB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoDzC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW,CAmEhE;AASD,eAAO,MAAM,aAAa,EAAE,SA8G3B,CAAC"}
@@ -92,7 +92,13 @@ export function rewriteFrontmatter(raw, filename, status) {
92
92
  const lines = [
93
93
  '---',
94
94
  `id: ${id}`,
95
- `title: ${title.includes(': ') ? JSON.stringify(title) : title}`,
95
+ // Always quoted, never conditionally. This line used to quote only when the
96
+ // title contained `': '`, which is the shape of the defect it was guarding
97
+ // against: `': '` is one of several sequences a plain scalar cannot carry,
98
+ // and a leading backtick — how any agent names a code identifier — is
99
+ // another. Conditional quoting has to enumerate YAML's indicator characters
100
+ // correctly to be right; quoting always does not.
101
+ `title: ${JSON.stringify(title)}`,
96
102
  `created_at: ${createdAt}`,
97
103
  'source: import',
98
104
  `promoted_to: ${promotedTo === null ? 'null' : promotedTo}`,
@@ -1 +1 @@
1
- {"version":3,"file":"roadmap-layout.js","sourceRoot":"","sources":["../../../src/doctor/migrations/roadmap-layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roadmap-layout.js","sourceRoot":"","sources":["../../../src/doctor/migrations/roadmap-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjH,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAG1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,GAEZ,MAAM,wBAAwB,CAAC;AAyBhC,6DAA6D;AAC7D,SAAS,YAAY,CACnB,MAAc,EACd,UAAyB,EACzB,GAAkB,EAClB,SAA8C;IAE9C,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC;IACrC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAEvC,4EAA4E;IAC5E,qEAAqE;IACrE,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,aAAa,CAAC;IAE9C,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACvD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,aAAa,CAAC;IACxC,OAAO,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC;AAC5E,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAW,EACX,QAAgB,EAChB,MAAqB;IAErB,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;IACnC,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACtF,MAAM,EAAE,GAAG,QAAQ,MAAM,IAAI,IAAI,EAAE,CAAC;IAEpC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9B,IAAI,MAAM,GAA4B,EAAE,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAY,CAAC;QAC7D,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM,GAAG,MAAiC,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE5E,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;IAEtF,oEAAoE;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QAC3C,CAAC,CAAC,MAAM,CAAC,UAAU;aACd,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;aACjE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,KAAK,GAAG;QACZ,KAAK;QACL,OAAO,EAAE,EAAE;QACX,4EAA4E;QAC5E,2EAA2E;QAC3E,2EAA2E;QAC3E,sEAAsE;QACtE,4EAA4E;QAC5E,kDAAkD;QAClD,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;QACjC,eAAe,SAAS,EAAE;QAC1B,gBAAgB;QAChB,gBAAgB,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE;QAC3D,gBAAgB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAClC,UAAU;QACV,iBAAiB,MAAM,SAAS,SAAS,IAAI;QAC7C,KAAK;KACN,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAkB;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAEnE,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAE3E,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,GAAG,gBAAgB,IAAI,IAAI,EAAE,CAAC;QAE9C,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,IAAI,YAAY,GAAkB,IAAI,CAAC;QACvC,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACxC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC5D,IAAI,CAAC;oBAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACnE,MAAM,MAAM,GAAG,YAAY,CACzB,YAAY,EACZ,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAChE,GAAG,EACH,SAAS,CACV,CAAC;QACF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACxD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,GAAG,WAAW,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC;YACT,IAAI;YACJ,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO;YACP,KAAK;YACL,MAAM;YACN,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AACjC,CAAC;AAED,qDAAqD;AACrD,SAAS,QAAQ,CAAC,KAAoB;IACpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,EAAE,EAAE,gBAAgB;IACpB,IAAI,EAAE,SAAS;IACf,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,gBAAgB,YAAY,EAAE,CAAC;QAClF,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,2EAA2E;YAC3E,qEAAqE;YACrE,wEAAwE;YACxE,yEAAyE;YACzE,wEAAwE;YACxE,4EAA4E;YAC5E,8CAA8C;YAC9C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO;oBACL,UAAU,EAAE,KAAK;oBACjB,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,eAAe,gBAAgB,8CAA8C,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBAC7J,CAAC;YACJ,CAAC;YACD,2EAA2E;YAC3E,wEAAwE;YACxE,yEAAyE;YACzE,+BAA+B;YAC/B,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxC,OAAO;oBACL,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,8BAA8B,gBAAgB,YAAY;oBACvE,QAAQ,EAAE,EAAE;iBACb,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC9C,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,cAAc,KAAK,CAAC,MAAM,qBAAqB,QAAQ,CAAC,KAAK,CAAC,GAAG;gBAC9E,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC/D,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,mEAAmE;aACjG,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,MAAM,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,cAAc,KAAK,CAAC,MAAM,yBAAyB,gBAAgB,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,EAAE;YAChH,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;SAChE,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAExE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEjD,0EAA0E;YAC1E,2EAA2E;YAC3E,4DAA4D;YAC5D,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAEhD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;wBAC1D,GAAG,EAAE,GAAG,CAAC,WAAW;wBACpB,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;qBACpC,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAAC,MAAM,CAAC;oBACP,kEAAkE;oBAClE,8DAA8D;gBAChE,CAAC;YACH,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,uEAAuE;QACvE,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC;gBACH,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YAAC,MAAM,CAAC;gBACP,uEAAuE;YACzE,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,qBAAqB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/F,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CACR,QAAQ,YAAY,CAAC,MAAM,qCAAqC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClH,CAAC;QACJ,CAAC;QACD,IAAI,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,gBAAgB,EAAE,CAAC,CAAC;QAE7D,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO;YACpC,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB;SACjE,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/events/event-bus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH,OAAO,KAAK,EACV,aAAa,EAEb,YAAY,EACZ,cAAc,EAEf,MAAM,kBAAkB,CAAC;AAM1B;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM9E;AAkDD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAyB3E;AAMD;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KACxC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA4G1C;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAE3E;AA0ED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,IAAI,CAClB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,aAAa,GAAG,IAAI,EAC7B,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1B,cAAc,CA6ChB"}
1
+ {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/events/event-bus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH,OAAO,KAAK,EACV,aAAa,EAEb,YAAY,EACZ,cAAc,EAEf,MAAM,kBAAkB,CAAC;AAM1B;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM9E;AAkDD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAyB3E;AAMD;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KACxC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAuH1C;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAE3E;AA0ED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,IAAI,CAClB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,aAAa,GAAG,IAAI,EAC7B,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1B,cAAc,CA6ChB"}
@@ -146,10 +146,21 @@ const builtInHandlers = {
146
146
  * retro-pending: Mark an instance as awaiting its retrospective
147
147
  * (feedback-loop AC-23). Cross-platform Node fs — the shipped
148
148
  * on-instance-complete action cannot be a shell script (design F3).
149
+ *
150
+ * No-ops when `retrospective.md` already exists
151
+ * (instance-complete-never-fires AC-7). The documented completion order
152
+ * writes the retrospective *before* firing this event, so without the check
153
+ * every correct completion would ask for a retrospective it already has —
154
+ * and the entry-point skill would offer a menu entry for finished work.
155
+ * Silent rather than announced: nothing is owed, so there is nothing to say.
149
156
  */
150
157
  'retro-pending': (event) => {
151
158
  try {
152
- const marker = retroPendingPath(resolveProjectRoot(), event.instance);
159
+ const projectRoot = resolveProjectRoot();
160
+ if (existsSync(join(projectRoot, '.aidlc', 'state', event.instance, 'retrospective.md'))) {
161
+ return { success: true };
162
+ }
163
+ const marker = retroPendingPath(projectRoot, event.instance);
153
164
  mkdirSync(dirname(marker), { recursive: true });
154
165
  writeFileSync(marker, `${new Date().toISOString()}\n`, 'utf8');
155
166
  process.stdout.write(`retro pending for ${event.instance}: run the aidlc-retrospective skill\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../src/events/event-bus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../src/events/event-bus.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,54 @@ export interface RoadmapItem {
51
51
  }
52
52
  /** Read one item. Returns null when the file is unreadable or has no frontmatter. */
53
53
  export declare function readItem(file: string, status: RoadmapStatus): RoadmapItem | null;
54
+ /** Why one item file will not yield frontmatter. */
55
+ export type ItemParseFailure = 'unreadable' | 'no-frontmatter' | 'unterminated-frontmatter' | 'invalid-yaml';
56
+ /** One item that cannot be read, with everything a reporter or repairer needs. */
57
+ export interface UnparseableItem {
58
+ status: RoadmapStatus;
59
+ filename: string;
60
+ /** Absolute path on disk. */
61
+ file: string;
62
+ /** `<status>/<filename>` — the form used in doctor output. */
63
+ label: string;
64
+ reason: ItemParseFailure;
65
+ /** Parser message for `invalid-yaml`, else null. */
66
+ detail: string | null;
67
+ }
68
+ /**
69
+ * Every roadmap item whose frontmatter will not parse, across all statuses.
70
+ *
71
+ * This is the *shared* detection the two reporting callers need. It deliberately
72
+ * re-reads and re-parses rather than going through `readItem`, whose `null`
73
+ * return cannot distinguish "unparseable" from "absent" — and that conflation is
74
+ * the whole defect: `listStatus` skips nulls, so a malformed item is missing from
75
+ * browse, from `findByPromotedTo`, from the `roadmap-done` action and from
76
+ * `aidlc doctor`, with nothing anywhere saying so. Five of this project's first 49
77
+ * items were invisible for up to ten days, every one a backtick-initial title.
78
+ *
79
+ * `readItem`'s signature is left alone on purpose. Widening it to
80
+ * `ok | reason` would touch every caller to buy reporting that only two of them
81
+ * want; naming the failures once, here, buys the same reporting for the price of
82
+ * one function. Items are walked in sorted order so output never depends on
83
+ * directory read order.
84
+ */
85
+ export declare function unparseableItems(cwd: string): UnparseableItem[];
86
+ /**
87
+ * Quote an item's unquoted `title:` value, or null when that is not the problem.
88
+ *
89
+ * The only mechanical repair worth having, because it is the only failure the
90
+ * capture flow actually produces: agents name a code defect the natural way, with
91
+ * the identifier in backticks, and YAML reserves `` ` `` as an indicator so a
92
+ * plain scalar cannot start with one. The line is rewritten as text rather than
93
+ * round-tripped through the parser — the document does not parse, so there is
94
+ * nothing to round-trip, and rebuilding it would rewrite fields this has no
95
+ * business touching.
96
+ *
97
+ * Returns null unless quoting the title makes the whole block parse. That check
98
+ * is the guard against a confident wrong repair: a file broken somewhere else,
99
+ * or broken in the title *and* elsewhere, is left for a human and reported.
100
+ */
101
+ export declare function quoteItemTitle(raw: string): string | null;
54
102
  /**
55
103
  * Every item in one status directory, sorted by filename.
56
104
  *
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/roadmap/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,uDAAuD;AACvD,eAAO,MAAM,gBAAgB,8DAA+D,CAAC;AAE7F,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,kCAAkC;AAClC,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAE5C,oDAAoD;AACpD,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,QAAuC,CAAC;AAErE;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,6CAA6C;AAC7C,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,CAEpE;AAED,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,MAAM,EAAE,aAAa,CAAC;IACtB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAC;CACb;AAuBD,qFAAqF;AACrF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,WAAW,GAAG,IAAI,CAwBhF;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,WAAW,EAAE,CAU5E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAOlF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqB/F;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAUlG;AAED,4EAA4E;AAC5E,wBAAgB,OAAO,CAAC,GAAG,GAAE,IAAiB,GAAG,MAAM,CAEtD"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/roadmap/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,uDAAuD;AACvD,eAAO,MAAM,gBAAgB,8DAA+D,CAAC;AAE7F,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,kCAAkC;AAClC,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAE5C,oDAAoD;AACpD,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAE/C,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,QAAuC,CAAC;AAErE;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,6CAA6C;AAC7C,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,CAEpE;AAED,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,MAAM,EAAE,aAAa,CAAC;IACtB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAC;CACb;AAuBD,qFAAqF;AACrF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,WAAW,GAAG,IAAI,CAwBhF;AAED,oDAAoD;AACpD,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,gBAAgB,GAChB,0BAA0B,GAC1B,cAAc,CAAC;AAEnB,kFAAkF;AAClF,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,gBAAgB,CAAC;IACzB,oDAAoD;IACpD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,EAAE,CA8C/D;AAOD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuBzD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,WAAW,EAAE,CAU5E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAOlF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqB/F;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAUlG;AAED,4EAA4E;AAC5E,wBAAgB,OAAO,CAAC,GAAG,GAAE,IAAiB,GAAG,MAAM,CAEtD"}