@rasensio/aidlc 1.30.0 → 1.32.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/dist/commands/status.d.ts +11 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +48 -5
- package/dist/commands/status.js.map +1 -1
- package/dist/compile/guidance-budget.d.ts +52 -0
- package/dist/compile/guidance-budget.d.ts.map +1 -0
- package/dist/compile/guidance-budget.js +72 -0
- package/dist/compile/guidance-budget.js.map +1 -0
- package/dist/compile/loaders.d.ts.map +1 -1
- package/dist/compile/loaders.js +13 -1
- package/dist/compile/loaders.js.map +1 -1
- package/dist/compile/roadmap-skill.d.ts +7 -1
- package/dist/compile/roadmap-skill.d.ts.map +1 -1
- package/dist/compile/roadmap-skill.js +86 -5
- package/dist/compile/roadmap-skill.js.map +1 -1
- package/dist/core/types.d.ts +19 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/doctor/migrations/index.d.ts.map +1 -1
- package/dist/doctor/migrations/index.js +15 -0
- package/dist/doctor/migrations/index.js.map +1 -1
- package/dist/doctor/migrations/lessons-digest-layer.d.ts +30 -0
- package/dist/doctor/migrations/lessons-digest-layer.d.ts.map +1 -0
- package/dist/doctor/migrations/lessons-digest-layer.js +103 -0
- package/dist/doctor/migrations/lessons-digest-layer.js.map +1 -0
- package/dist/doctor/migrations/roadmap-item-fields.d.ts +81 -0
- package/dist/doctor/migrations/roadmap-item-fields.d.ts.map +1 -0
- package/dist/doctor/migrations/roadmap-item-fields.js +174 -0
- package/dist/doctor/migrations/roadmap-item-fields.js.map +1 -0
- package/dist/doctor/migrations/roadmap-layout.d.ts +8 -1
- package/dist/doctor/migrations/roadmap-layout.d.ts.map +1 -1
- package/dist/doctor/migrations/roadmap-layout.js +15 -3
- package/dist/doctor/migrations/roadmap-layout.js.map +1 -1
- package/dist/roadmap/item-fields.d.ts +157 -0
- package/dist/roadmap/item-fields.d.ts.map +1 -0
- package/dist/roadmap/item-fields.js +259 -0
- package/dist/roadmap/item-fields.js.map +1 -0
- package/dist/roadmap/sync/import.d.ts.map +1 -1
- package/dist/roadmap/sync/import.js +13 -2
- package/dist/roadmap/sync/import.js.map +1 -1
- package/package.json +2 -2
package/dist/core/types.d.ts
CHANGED
|
@@ -460,6 +460,15 @@ export interface GuidanceIndexEntry {
|
|
|
460
460
|
name: string;
|
|
461
461
|
/** Relative path to the markdown file from .aidlc/guidance/. */
|
|
462
462
|
file: string;
|
|
463
|
+
/**
|
|
464
|
+
* Exclude this layer from the always-read set: a phase reads it only when it has
|
|
465
|
+
* a stated reason to, rather than on entry.
|
|
466
|
+
*
|
|
467
|
+
* Set on the `lessons` layer, whose corpus reached 88KB — 85% of everything every
|
|
468
|
+
* session read before any task work — while its distilled `lessons-digest`
|
|
469
|
+
* counterpart stays always-read (lessons-digest/AC-1).
|
|
470
|
+
*/
|
|
471
|
+
on_demand?: boolean;
|
|
463
472
|
}
|
|
464
473
|
/** The .aidlc/guidance/index.yaml structure. */
|
|
465
474
|
export interface GuidanceIndex {
|
|
@@ -491,6 +500,16 @@ export interface GuidanceLayer {
|
|
|
491
500
|
* (compliance-packs/AC-21, AC-77).
|
|
492
501
|
*/
|
|
493
502
|
always_pointer?: boolean;
|
|
503
|
+
/**
|
|
504
|
+
* This layer is not part of the always-read set — see `GuidanceIndexEntry.on_demand`.
|
|
505
|
+
*
|
|
506
|
+
* Comes off the **index entry**, not the layer's own frontmatter: whether a layer is
|
|
507
|
+
* read on entry is a property of how the project registered it, not of what the layer
|
|
508
|
+
* says about itself. Independent of `always_pointer`, which decides *rendering* when a
|
|
509
|
+
* skill names the layer in a `{{guidance:<name>}}` placeholder
|
|
510
|
+
* (lessons-digest/AC-3, AC-4).
|
|
511
|
+
*/
|
|
512
|
+
on_demand?: boolean;
|
|
494
513
|
}
|
|
495
514
|
/** A built-in action reference (uses a known action by name). */
|
|
496
515
|
export interface BuiltInActionRef {
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/doctor/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/doctor/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAmC7C,eAAO,MAAM,UAAU,EAAE,SAAS,EAmGjC,CAAC"}
|
|
@@ -19,10 +19,12 @@ import { legacyCostHooks } from './legacy-cost-hooks.js';
|
|
|
19
19
|
import { outdatedCostHooks } from './outdated-cost-hooks.js';
|
|
20
20
|
import { missingCostShim } from './missing-cost-shim.js';
|
|
21
21
|
import { installGuidance } from './install-guidance.js';
|
|
22
|
+
import { lessonsDigestLayer } from './lessons-digest-layer.js';
|
|
22
23
|
import { trustRunActions } from './trust-run-actions.js';
|
|
23
24
|
import { staleIdeaSkill } from './stale-idea-skill.js';
|
|
24
25
|
import { roadmapLayout } from './roadmap-layout.js';
|
|
25
26
|
import { roadmapItemTitles } from './roadmap-item-titles.js';
|
|
27
|
+
import { roadmapItemFields } from './roadmap-item-fields.js';
|
|
26
28
|
import { instanceCompletion } from './instance-completion.js';
|
|
27
29
|
import { findingsFilenameMigration } from './findings-filename.js';
|
|
28
30
|
import { roadmapSyncGhMissing } from './roadmap-sync-gh-missing.js';
|
|
@@ -36,6 +38,12 @@ export const MIGRATIONS = [
|
|
|
36
38
|
gitattributes,
|
|
37
39
|
shippedActions,
|
|
38
40
|
installGuidance,
|
|
41
|
+
// Ordered directly after install-guidance, and it is load-bearing: this migration
|
|
42
|
+
// registers `lessons-digest` only when the body is already on disk, and
|
|
43
|
+
// install-guidance is what puts it there. Reversed, a first doctor run would flip
|
|
44
|
+
// `lessons` to on_demand while leaving nothing always-read in its place, and a
|
|
45
|
+
// session between the two runs would read no lessons at all.
|
|
46
|
+
lessonsDigestLayer,
|
|
39
47
|
// Ordered before roadmap-layout: the orphaned skill still describes the old
|
|
40
48
|
// ideas directory, so clearing it first means a single run never leaves an
|
|
41
49
|
// instruction on disk that contradicts the layout the next migration creates.
|
|
@@ -47,6 +55,13 @@ export const MIGRATIONS = [
|
|
|
47
55
|
// an item that will not parse. Repairing titles between the two means one
|
|
48
56
|
// doctor run both creates the item and can see it.
|
|
49
57
|
roadmapItemTitles,
|
|
58
|
+
// Ordered after roadmap-item-titles, load-bearing: an item whose frontmatter will
|
|
59
|
+
// not parse cannot be checked for a declared field, and this migration skips those
|
|
60
|
+
// in silence rather than reporting the same file twice. Quoting titles first means
|
|
61
|
+
// one doctor run both makes an item readable and backfills its declared fields.
|
|
62
|
+
// After roadmap-layout for the same reason — the legacy rewrite creates the items
|
|
63
|
+
// this then validates (item-extension-fields/AC-15).
|
|
64
|
+
roadmapItemFields,
|
|
50
65
|
// Ordered after roadmap-layout: that migration creates the status directories
|
|
51
66
|
// and can itself place an item in `in-progress/` for an instance that has
|
|
52
67
|
// since completed, which is exactly what this one then moves to `done/`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/doctor/migrations/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/doctor/migrations/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* lessons-digest-layer migration (lessons-digest/AC-19..AC-22).
|
|
3
|
+
*
|
|
4
|
+
* Projects that ran retrospectives before the digest existed have a `lessons` layer
|
|
5
|
+
* registered as always-read, and it grows by design — up to three lessons per instance.
|
|
6
|
+
* In this repo it reached 90,285 bytes, 85% of everything a session read before touching
|
|
7
|
+
* task work. This migration flips that registration to `on_demand: true` and registers
|
|
8
|
+
* the bundled `lessons-digest` layer in its place as the always-read distillation.
|
|
9
|
+
*
|
|
10
|
+
* `confirm` tier, not `safe`: it changes what every future session reads. "Sessions
|
|
11
|
+
* silently stopped reading the lessons file" is not a change to make on someone's behalf,
|
|
12
|
+
* which is the whole distinction the tier exists to draw.
|
|
13
|
+
*
|
|
14
|
+
* It deliberately writes no layer *bodies*. `install-guidance` (safe tier, same doctor
|
|
15
|
+
* run) copies `lessons-digest.md` in, because that is the code path that knows how to
|
|
16
|
+
* detect a locally-modified layer and leave it alone. This one only ever edits
|
|
17
|
+
* `index.yaml`, and never touches `lessons.md`.
|
|
18
|
+
*/
|
|
19
|
+
import type { Migration } from '../types.js';
|
|
20
|
+
export declare const lessonsDigestLayer: Migration;
|
|
21
|
+
/**
|
|
22
|
+
* Bytes of a project's `lessons.md`, or null when absent.
|
|
23
|
+
*
|
|
24
|
+
* Exported for the migration's own test, which asserts the file is byte-identical
|
|
25
|
+
* across an apply: the migration's promise is that it edits the index and nothing else.
|
|
26
|
+
*
|
|
27
|
+
* @param projectRoot - Absolute project root.
|
|
28
|
+
*/
|
|
29
|
+
export declare function lessonsBody(projectRoot: string): string | null;
|
|
30
|
+
//# sourceMappingURL=lessons-digest-layer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lessons-digest-layer.d.ts","sourceRoot":"","sources":["../../../src/doctor/migrations/lessons-digest-layer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAgC7C,eAAO,MAAM,kBAAkB,EAAE,SAoDhC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG9D"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* lessons-digest-layer migration (lessons-digest/AC-19..AC-22).
|
|
3
|
+
*
|
|
4
|
+
* Projects that ran retrospectives before the digest existed have a `lessons` layer
|
|
5
|
+
* registered as always-read, and it grows by design — up to three lessons per instance.
|
|
6
|
+
* In this repo it reached 90,285 bytes, 85% of everything a session read before touching
|
|
7
|
+
* task work. This migration flips that registration to `on_demand: true` and registers
|
|
8
|
+
* the bundled `lessons-digest` layer in its place as the always-read distillation.
|
|
9
|
+
*
|
|
10
|
+
* `confirm` tier, not `safe`: it changes what every future session reads. "Sessions
|
|
11
|
+
* silently stopped reading the lessons file" is not a change to make on someone's behalf,
|
|
12
|
+
* which is the whole distinction the tier exists to draw.
|
|
13
|
+
*
|
|
14
|
+
* It deliberately writes no layer *bodies*. `install-guidance` (safe tier, same doctor
|
|
15
|
+
* run) copies `lessons-digest.md` in, because that is the code path that knows how to
|
|
16
|
+
* detect a locally-modified layer and leave it alone. This one only ever edits
|
|
17
|
+
* `index.yaml`, and never touches `lessons.md`.
|
|
18
|
+
*/
|
|
19
|
+
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
20
|
+
import { join } from 'node:path';
|
|
21
|
+
import { readIndexEntries } from '../../compile/layer-install.js';
|
|
22
|
+
import { guidanceDirOf } from '../../compile/guidance-budget.js';
|
|
23
|
+
import { serializeYaml } from '../../state/yaml-helpers.js';
|
|
24
|
+
const DIGEST_NAME = 'lessons-digest';
|
|
25
|
+
const DIGEST_FILE = 'lessons-digest.md';
|
|
26
|
+
function scan(projectRoot) {
|
|
27
|
+
const dir = guidanceDirOf(projectRoot);
|
|
28
|
+
const entries = readIndexEntries(join(dir, 'index.yaml'));
|
|
29
|
+
if (!entries)
|
|
30
|
+
return null;
|
|
31
|
+
const lessons = entries.find((e) => e.name === 'lessons');
|
|
32
|
+
if (!lessons)
|
|
33
|
+
return null;
|
|
34
|
+
const digestRegistered = entries.some((e) => e.name === DIGEST_NAME);
|
|
35
|
+
return {
|
|
36
|
+
entries,
|
|
37
|
+
needsOnDemand: lessons.on_demand !== true,
|
|
38
|
+
// Only when the body exists: registering a layer whose file is absent makes
|
|
39
|
+
// `loadGuidanceLayers` warn on every run, trading one notice for a louder one.
|
|
40
|
+
needsDigestEntry: !digestRegistered && existsSync(join(dir, DIGEST_FILE)),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export const lessonsDigestLayer = {
|
|
44
|
+
id: 'lessons-digest-layer',
|
|
45
|
+
tier: 'confirm',
|
|
46
|
+
check(ctx) {
|
|
47
|
+
const found = scan(ctx.projectRoot);
|
|
48
|
+
if (!found) {
|
|
49
|
+
return { applicable: false, reason: 'no lessons layer registered in .aidlc/guidance/index.yaml' };
|
|
50
|
+
}
|
|
51
|
+
const parts = [];
|
|
52
|
+
if (found.needsOnDemand)
|
|
53
|
+
parts.push("mark the 'lessons' layer on_demand: true");
|
|
54
|
+
if (found.needsDigestEntry)
|
|
55
|
+
parts.push(`register the '${DIGEST_NAME}' layer`);
|
|
56
|
+
if (parts.length === 0)
|
|
57
|
+
return { applicable: true, pending: false };
|
|
58
|
+
return {
|
|
59
|
+
applicable: true,
|
|
60
|
+
pending: true,
|
|
61
|
+
description: `would ${parts.join(' and ')} in .aidlc/guidance/index.yaml`,
|
|
62
|
+
};
|
|
63
|
+
},
|
|
64
|
+
apply(ctx) {
|
|
65
|
+
const found = scan(ctx.projectRoot);
|
|
66
|
+
if (!found) {
|
|
67
|
+
return { changed: false, summary: 'no lessons layer registered' };
|
|
68
|
+
}
|
|
69
|
+
if (!found.needsOnDemand && !found.needsDigestEntry) {
|
|
70
|
+
return { changed: false, summary: 'lessons digest layout already current' };
|
|
71
|
+
}
|
|
72
|
+
// Spread rather than mutate, for the reason every other index writer here spells
|
|
73
|
+
// out: rebuilding an entry as `{name, file}` silently drops `last_consolidated`,
|
|
74
|
+
// `always_pointer` and `pack`.
|
|
75
|
+
const updated = found.entries.map((e) => e.name === 'lessons' ? { ...e, on_demand: true } : e);
|
|
76
|
+
if (found.needsDigestEntry) {
|
|
77
|
+
updated.push({ name: DIGEST_NAME, file: DIGEST_FILE, always_pointer: true });
|
|
78
|
+
}
|
|
79
|
+
const indexPath = join(guidanceDirOf(ctx.projectRoot), 'index.yaml');
|
|
80
|
+
// Same serializer as the installer and the pack migrations, so the index converges
|
|
81
|
+
// on one shape regardless of which path last wrote it.
|
|
82
|
+
writeFileSync(indexPath, serializeYaml({ layers: updated }), 'utf8');
|
|
83
|
+
const done = [];
|
|
84
|
+
if (found.needsOnDemand)
|
|
85
|
+
done.push("marked 'lessons' on_demand");
|
|
86
|
+
if (found.needsDigestEntry)
|
|
87
|
+
done.push(`registered '${DIGEST_NAME}'`);
|
|
88
|
+
return { changed: true, summary: done.join('; ') };
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Bytes of a project's `lessons.md`, or null when absent.
|
|
93
|
+
*
|
|
94
|
+
* Exported for the migration's own test, which asserts the file is byte-identical
|
|
95
|
+
* across an apply: the migration's promise is that it edits the index and nothing else.
|
|
96
|
+
*
|
|
97
|
+
* @param projectRoot - Absolute project root.
|
|
98
|
+
*/
|
|
99
|
+
export function lessonsBody(projectRoot) {
|
|
100
|
+
const path = join(guidanceDirOf(projectRoot), 'lessons.md');
|
|
101
|
+
return existsSync(path) ? readFileSync(path, 'utf8') : null;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=lessons-digest-layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lessons-digest-layer.js","sourceRoot":"","sources":["../../../src/doctor/migrations/lessons-digest-layer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* roadmap-item-fields migration (confirm tier): backfill a project-declared item
|
|
3
|
+
* field that an item is missing, and report one whose value is the wrong shape.
|
|
4
|
+
*
|
|
5
|
+
* Requirements: item-extension-fields/AC-15, AC-16, AC-18, AC-19, AC-20
|
|
6
|
+
*
|
|
7
|
+
* Declaring a field is cheap; retrofitting it across a roadmap that already holds
|
|
8
|
+
* fifty items is not. Without a backfill, `roadmap.item_fields` would report fifty
|
|
9
|
+
* problems on the day it was added and offer no way to act on any of them — the
|
|
10
|
+
* shape of gate this project has learned to distrust.
|
|
11
|
+
*
|
|
12
|
+
* The line between what this repairs and what it only reports is the same line the
|
|
13
|
+
* feature draws everywhere: **presence, never contents.**
|
|
14
|
+
*
|
|
15
|
+
* - A *missing* required field is repaired by writing the value the project itself
|
|
16
|
+
* declared as the default. That is presence repair with the project's own answer,
|
|
17
|
+
* not a semantic judgment, so it stays inside the boundary AC-17 sets.
|
|
18
|
+
* - A *wrong-shaped* value is reported and never rewritten. Wrapping a scalar in a
|
|
19
|
+
* list to make it fit would be the confident-wrong-fix `roadmap-item-titles`
|
|
20
|
+
* already refuses, and only the person who wrote the value knows what they meant.
|
|
21
|
+
*
|
|
22
|
+
* Wrong shapes and an invalid declaration are both reported as NOT APPLICABLE
|
|
23
|
+
* rather than pending, following `roadmap-item-titles` exactly: `aidlc doctor`
|
|
24
|
+
* exits 1 on pending confirm work, so calling a condition `apply` will never fix
|
|
25
|
+
* "pending" fails doctor forever on a repo holding one such item, which trains
|
|
26
|
+
* people to ignore doctor output. `not-applicable` still prints the detail, which
|
|
27
|
+
* is the entire point.
|
|
28
|
+
*
|
|
29
|
+
* Items whose frontmatter will not parse are skipped in silence. They are
|
|
30
|
+
* `roadmap-item-titles`' condition, that migration is registered ahead of this one,
|
|
31
|
+
* and reporting the same file from two migrations would double every line without
|
|
32
|
+
* adding a fact.
|
|
33
|
+
*
|
|
34
|
+
* Confirm tier, because this edits the user's own content — the reason
|
|
35
|
+
* `roadmap-layout` and `roadmap-item-titles` are confirm tier too. `check` and
|
|
36
|
+
* `apply` both derive everything from `planItemFields` and nothing else computes
|
|
37
|
+
* pending-ness, the rule `../types.ts` states, so a dry run and a real run cannot
|
|
38
|
+
* disagree.
|
|
39
|
+
*/
|
|
40
|
+
import type { DoctorContext, Migration } from '../types.js';
|
|
41
|
+
import { type ItemFieldDecl, type ShapeMismatch } from '../../roadmap/item-fields.js';
|
|
42
|
+
/** One item with fields to add, and the rewritten contents that add them. */
|
|
43
|
+
export interface FieldBackfill {
|
|
44
|
+
/** `<status>/<filename>` — the form used in doctor output. */
|
|
45
|
+
label: string;
|
|
46
|
+
file: string;
|
|
47
|
+
fields: ItemFieldDecl[];
|
|
48
|
+
contents: string;
|
|
49
|
+
}
|
|
50
|
+
/** One item carrying a declared field of the wrong shape. */
|
|
51
|
+
export interface FieldShapeReport {
|
|
52
|
+
label: string;
|
|
53
|
+
mismatches: ShapeMismatch[];
|
|
54
|
+
}
|
|
55
|
+
export interface ItemFieldsPlan {
|
|
56
|
+
/** Null when the project declares nothing; a message when its declaration is wrong. */
|
|
57
|
+
notApplicable: string | null;
|
|
58
|
+
backfills: FieldBackfill[];
|
|
59
|
+
shapes: FieldShapeReport[];
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Insert `name: <default>` lines at the **end** of an item's frontmatter block.
|
|
63
|
+
*
|
|
64
|
+
* End-of-block rather than "after `history`", deliberately. `history` is a block
|
|
65
|
+
* list whose extent has to be walked, and `writeHistoryEntry` appends to it — a key
|
|
66
|
+
* inserted between the `history:` line and its last entry would be swallowed into
|
|
67
|
+
* the list on the next move. End-of-block is unambiguous, needs no walk, and is
|
|
68
|
+
* where `writeHistoryEntry` itself puts a `history` key when none exists.
|
|
69
|
+
*
|
|
70
|
+
* @returns The rewritten contents, or null when there is no frontmatter to edit.
|
|
71
|
+
*/
|
|
72
|
+
export declare function insertFields(raw: string, fields: readonly ItemFieldDecl[]): string | null;
|
|
73
|
+
/**
|
|
74
|
+
* Everything the migration would do, computed without writing.
|
|
75
|
+
*
|
|
76
|
+
* The single source of pending-ness. Items are walked in status order and then
|
|
77
|
+
* filename order, so the plan never depends on directory read order.
|
|
78
|
+
*/
|
|
79
|
+
export declare function planItemFields(ctx: DoctorContext): ItemFieldsPlan;
|
|
80
|
+
export declare const roadmapItemFields: Migration;
|
|
81
|
+
//# sourceMappingURL=roadmap-item-fields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roadmap-item-fields.d.ts","sourceRoot":"","sources":["../../../src/doctor/migrations/roadmap-item-fields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAIH,OAAO,KAAK,EAAe,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQzE,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,8BAA8B,CAAC;AAEtC,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,uFAAuF;IACvF,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,aAAa,EAAE,GAAG,MAAM,GAAG,IAAI,CAUzF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,cAAc,CAwCjE;AA8BD,eAAO,MAAM,iBAAiB,EAAE,SAkD/B,CAAC"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* roadmap-item-fields migration (confirm tier): backfill a project-declared item
|
|
3
|
+
* field that an item is missing, and report one whose value is the wrong shape.
|
|
4
|
+
*
|
|
5
|
+
* Requirements: item-extension-fields/AC-15, AC-16, AC-18, AC-19, AC-20
|
|
6
|
+
*
|
|
7
|
+
* Declaring a field is cheap; retrofitting it across a roadmap that already holds
|
|
8
|
+
* fifty items is not. Without a backfill, `roadmap.item_fields` would report fifty
|
|
9
|
+
* problems on the day it was added and offer no way to act on any of them — the
|
|
10
|
+
* shape of gate this project has learned to distrust.
|
|
11
|
+
*
|
|
12
|
+
* The line between what this repairs and what it only reports is the same line the
|
|
13
|
+
* feature draws everywhere: **presence, never contents.**
|
|
14
|
+
*
|
|
15
|
+
* - A *missing* required field is repaired by writing the value the project itself
|
|
16
|
+
* declared as the default. That is presence repair with the project's own answer,
|
|
17
|
+
* not a semantic judgment, so it stays inside the boundary AC-17 sets.
|
|
18
|
+
* - A *wrong-shaped* value is reported and never rewritten. Wrapping a scalar in a
|
|
19
|
+
* list to make it fit would be the confident-wrong-fix `roadmap-item-titles`
|
|
20
|
+
* already refuses, and only the person who wrote the value knows what they meant.
|
|
21
|
+
*
|
|
22
|
+
* Wrong shapes and an invalid declaration are both reported as NOT APPLICABLE
|
|
23
|
+
* rather than pending, following `roadmap-item-titles` exactly: `aidlc doctor`
|
|
24
|
+
* exits 1 on pending confirm work, so calling a condition `apply` will never fix
|
|
25
|
+
* "pending" fails doctor forever on a repo holding one such item, which trains
|
|
26
|
+
* people to ignore doctor output. `not-applicable` still prints the detail, which
|
|
27
|
+
* is the entire point.
|
|
28
|
+
*
|
|
29
|
+
* Items whose frontmatter will not parse are skipped in silence. They are
|
|
30
|
+
* `roadmap-item-titles`' condition, that migration is registered ahead of this one,
|
|
31
|
+
* and reporting the same file from two migrations would double every line without
|
|
32
|
+
* adding a fact.
|
|
33
|
+
*
|
|
34
|
+
* Confirm tier, because this edits the user's own content — the reason
|
|
35
|
+
* `roadmap-layout` and `roadmap-item-titles` are confirm tier too. `check` and
|
|
36
|
+
* `apply` both derive everything from `planItemFields` and nothing else computes
|
|
37
|
+
* pending-ness, the rule `../types.ts` states, so a dry run and a real run cannot
|
|
38
|
+
* disagree.
|
|
39
|
+
*/
|
|
40
|
+
import { writeFileSync } from 'node:fs';
|
|
41
|
+
import { relative } from 'node:path';
|
|
42
|
+
import { ROADMAP_STATUSES, frontmatter, listStatus, primaryCheckout, } from '../../roadmap/paths.js';
|
|
43
|
+
import { checkItemFrontmatter, readItemFields, renderFieldDefault, } from '../../roadmap/item-fields.js';
|
|
44
|
+
/**
|
|
45
|
+
* Insert `name: <default>` lines at the **end** of an item's frontmatter block.
|
|
46
|
+
*
|
|
47
|
+
* End-of-block rather than "after `history`", deliberately. `history` is a block
|
|
48
|
+
* list whose extent has to be walked, and `writeHistoryEntry` appends to it — a key
|
|
49
|
+
* inserted between the `history:` line and its last entry would be swallowed into
|
|
50
|
+
* the list on the next move. End-of-block is unambiguous, needs no walk, and is
|
|
51
|
+
* where `writeHistoryEntry` itself puts a `history` key when none exists.
|
|
52
|
+
*
|
|
53
|
+
* @returns The rewritten contents, or null when there is no frontmatter to edit.
|
|
54
|
+
*/
|
|
55
|
+
export function insertFields(raw, fields) {
|
|
56
|
+
const fm = frontmatter(raw);
|
|
57
|
+
if (fm === null)
|
|
58
|
+
return null;
|
|
59
|
+
if (fields.length === 0)
|
|
60
|
+
return raw;
|
|
61
|
+
const lines = fm.text.split('\n');
|
|
62
|
+
// `fm.text` ends with the newline before the closing `---`, so splitting leaves a
|
|
63
|
+
// trailing empty element; the insert goes immediately before it.
|
|
64
|
+
lines.splice(lines.length - 1, 0, ...fields.map((f) => `${f.name}: ${renderFieldDefault(f.default)}`));
|
|
65
|
+
return `${raw.slice(0, fm.start)}${lines.join('\n')}${raw.slice(fm.end)}`;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Everything the migration would do, computed without writing.
|
|
69
|
+
*
|
|
70
|
+
* The single source of pending-ness. Items are walked in status order and then
|
|
71
|
+
* filename order, so the plan never depends on directory read order.
|
|
72
|
+
*/
|
|
73
|
+
export function planItemFields(ctx) {
|
|
74
|
+
const empty = { notApplicable: null, backfills: [], shapes: [] };
|
|
75
|
+
// The schema is the primary checkout's: items and the rules they are checked
|
|
76
|
+
// against are one fact, so a feature branch must not change what a colleague's
|
|
77
|
+
// items are validated against (AC-3).
|
|
78
|
+
const declared = readItemFields(primaryCheckout(ctx.projectRoot));
|
|
79
|
+
if (declared.kind === 'not-configured')
|
|
80
|
+
return empty;
|
|
81
|
+
if (declared.kind === 'invalid') {
|
|
82
|
+
return { ...empty, notApplicable: `roadmap.item_fields is not usable: ${declared.error}` };
|
|
83
|
+
}
|
|
84
|
+
const fields = declared.fields;
|
|
85
|
+
if (fields.length === 0)
|
|
86
|
+
return empty;
|
|
87
|
+
const backfills = [];
|
|
88
|
+
const shapes = [];
|
|
89
|
+
for (const status of ROADMAP_STATUSES) {
|
|
90
|
+
for (const item of listStatus(ctx.projectRoot, status)) {
|
|
91
|
+
const fm = frontmatter(item.raw);
|
|
92
|
+
// Unparseable frontmatter is roadmap-item-titles' condition, and `listStatus`
|
|
93
|
+
// has already dropped those; this is the belt for the braces.
|
|
94
|
+
if (fm === null)
|
|
95
|
+
continue;
|
|
96
|
+
const { missing, mismatched } = checkItemFrontmatter(fm.data, fields);
|
|
97
|
+
const label = itemLabel(item);
|
|
98
|
+
if (missing.length > 0) {
|
|
99
|
+
const contents = insertFields(item.raw, missing);
|
|
100
|
+
if (contents !== null) {
|
|
101
|
+
backfills.push({ label, file: item.file, fields: missing, contents });
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (mismatched.length > 0) {
|
|
105
|
+
shapes.push({ label, mismatches: mismatched });
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return { notApplicable: null, backfills, shapes };
|
|
110
|
+
}
|
|
111
|
+
function itemLabel(item) {
|
|
112
|
+
return `${item.status}/${item.filename}`;
|
|
113
|
+
}
|
|
114
|
+
/** One-line summary shared by `check` and `apply`. */
|
|
115
|
+
function describe(plan, verb) {
|
|
116
|
+
const named = plan.backfills
|
|
117
|
+
.map((b) => `${b.label} (${b.fields.map((f) => f.name).join(', ')})`)
|
|
118
|
+
.join('; ');
|
|
119
|
+
const count = plan.backfills.reduce((n, b) => n + b.fields.length, 0);
|
|
120
|
+
const suffix = plan.shapes.length > 0
|
|
121
|
+
? `; ${plan.shapes.length} item(s) carry a declared field of the wrong shape and need a human: ${describeShapes(plan)}`
|
|
122
|
+
: '';
|
|
123
|
+
return `${verb} ${count} declared field value(s) to ${plan.backfills.length} roadmap item(s): ${named}${suffix}`;
|
|
124
|
+
}
|
|
125
|
+
function describeShapes(plan) {
|
|
126
|
+
return plan.shapes
|
|
127
|
+
.map((s) => `${s.label} — ${s.mismatches
|
|
128
|
+
.map((m) => `${m.field.name} is ${m.found}, declared as ${m.expected}`)
|
|
129
|
+
.join(', ')}`)
|
|
130
|
+
.join('; ');
|
|
131
|
+
}
|
|
132
|
+
export const roadmapItemFields = {
|
|
133
|
+
id: 'roadmap-item-fields',
|
|
134
|
+
tier: 'confirm',
|
|
135
|
+
check(ctx) {
|
|
136
|
+
const plan = planItemFields(ctx);
|
|
137
|
+
if (plan.notApplicable !== null) {
|
|
138
|
+
return { applicable: false, reason: plan.notApplicable };
|
|
139
|
+
}
|
|
140
|
+
if (plan.backfills.length === 0) {
|
|
141
|
+
if (plan.shapes.length > 0) {
|
|
142
|
+
return {
|
|
143
|
+
applicable: false,
|
|
144
|
+
reason: `${plan.shapes.length} roadmap item(s) carry a project-declared field of the wrong ` +
|
|
145
|
+
'shape. The framework checks presence and shape only, so it will not rewrite a value ' +
|
|
146
|
+
`somebody chose — a human must: ${describeShapes(plan)}`,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
return { applicable: true, pending: false };
|
|
150
|
+
}
|
|
151
|
+
return {
|
|
152
|
+
applicable: true,
|
|
153
|
+
pending: true,
|
|
154
|
+
description: describe(plan, 'would add'),
|
|
155
|
+
// No shell equivalent: this is an in-place insert into a frontmatter block,
|
|
156
|
+
// not a move. Listing the files and fields is the honest version of "the
|
|
157
|
+
// exact commands".
|
|
158
|
+
commands: plan.backfills.map((b) => `edit ${relative(ctx.projectRoot, b.file)} — add ${b.fields
|
|
159
|
+
.map((f) => `${f.name}: ${renderFieldDefault(f.default)}`)
|
|
160
|
+
.join(', ')}`),
|
|
161
|
+
};
|
|
162
|
+
},
|
|
163
|
+
apply(ctx) {
|
|
164
|
+
const plan = planItemFields(ctx);
|
|
165
|
+
for (const backfill of plan.backfills) {
|
|
166
|
+
writeFileSync(backfill.file, backfill.contents, 'utf8');
|
|
167
|
+
}
|
|
168
|
+
return {
|
|
169
|
+
changed: plan.backfills.length > 0,
|
|
170
|
+
summary: plan.backfills.length > 0 ? describe(plan, 'added') : 'no declared fields to add',
|
|
171
|
+
};
|
|
172
|
+
},
|
|
173
|
+
};
|
|
174
|
+
//# sourceMappingURL=roadmap-item-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roadmap-item-fields.js","sourceRoot":"","sources":["../../../src/doctor/migrations/roadmap-item-fields.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import type { Migration } from '../types.js';
|
|
26
26
|
import type { DoctorContext } from '../types.js';
|
|
27
|
+
import { type ItemFieldDecl } from '../../roadmap/item-fields.js';
|
|
27
28
|
import { type RoadmapStatus } from '../../roadmap/paths.js';
|
|
28
29
|
/** One planned relocation, with everything `apply` needs to carry it out. */
|
|
29
30
|
export interface RoadmapMove {
|
|
@@ -57,8 +58,14 @@ export interface RoadmapPlan {
|
|
|
57
58
|
* `author` is deliberately omitted rather than guessed. The legacy format never
|
|
58
59
|
* recorded one, and `created_by` from an unrelated instance is not the author of
|
|
59
60
|
* an idea.
|
|
61
|
+
*
|
|
62
|
+
* Project-declared fields (item-extension-fields/AC-14) are appended with their
|
|
63
|
+
* declared defaults. Legacy ideas predate extension fields by definition, so
|
|
64
|
+
* without this a project that has declared a field and then migrates its old inbox
|
|
65
|
+
* ends up with a directory of items its own check rejects — the migration
|
|
66
|
+
* manufacturing the very failure the feature exists to remove.
|
|
60
67
|
*/
|
|
61
|
-
export declare function rewriteFrontmatter(raw: string, filename: string, status: RoadmapStatus): {
|
|
68
|
+
export declare function rewriteFrontmatter(raw: string, filename: string, status: RoadmapStatus, fields?: readonly ItemFieldDecl[]): {
|
|
62
69
|
contents: string;
|
|
63
70
|
id: string;
|
|
64
71
|
} | null;
|
|
@@ -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,
|
|
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,EAAuC,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACvG,OAAO,EAKL,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;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,EACrB,MAAM,GAAE,SAAS,aAAa,EAAO,GACpC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAqDzC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW,CAuEhE;AASD,eAAO,MAAM,aAAa,EAAE,SA8G3B,CAAC"}
|