@rasensio/aidlc 1.74.0 → 1.76.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.
Files changed (37) hide show
  1. package/dist/autopilot/driver.d.ts +8 -0
  2. package/dist/autopilot/driver.d.ts.map +1 -1
  3. package/dist/autopilot/driver.js +25 -1
  4. package/dist/autopilot/driver.js.map +1 -1
  5. package/dist/autopilot/run.d.ts.map +1 -1
  6. package/dist/autopilot/run.js +20 -2
  7. package/dist/autopilot/run.js.map +1 -1
  8. package/dist/commands/init.js +7 -3
  9. package/dist/commands/init.js.map +1 -1
  10. package/dist/commands/update.d.ts.map +1 -1
  11. package/dist/commands/update.js +7 -3
  12. package/dist/commands/update.js.map +1 -1
  13. package/dist/compile/knowledge-section.d.ts +27 -5
  14. package/dist/compile/knowledge-section.d.ts.map +1 -1
  15. package/dist/compile/knowledge-section.js +89 -20
  16. package/dist/compile/knowledge-section.js.map +1 -1
  17. package/dist/knowledge/compact.d.ts.map +1 -1
  18. package/dist/knowledge/compact.js +3 -0
  19. package/dist/knowledge/compact.js.map +1 -1
  20. package/dist/knowledge/gate-criterion.d.ts.map +1 -1
  21. package/dist/knowledge/gate-criterion.js +9 -2
  22. package/dist/knowledge/gate-criterion.js.map +1 -1
  23. package/dist/knowledge/source-fingerprint.d.ts.map +1 -1
  24. package/dist/knowledge/source-fingerprint.js +3 -1
  25. package/dist/knowledge/source-fingerprint.js.map +1 -1
  26. package/dist/knowledge/storable.d.ts +38 -0
  27. package/dist/knowledge/storable.d.ts.map +1 -0
  28. package/dist/knowledge/storable.js +87 -0
  29. package/dist/knowledge/storable.js.map +1 -0
  30. package/dist/knowledge/sync.d.ts.map +1 -1
  31. package/dist/knowledge/sync.js +37 -3
  32. package/dist/knowledge/sync.js.map +1 -1
  33. package/dist/knowledge/yaml-source.d.ts +12 -1
  34. package/dist/knowledge/yaml-source.d.ts.map +1 -1
  35. package/dist/knowledge/yaml-source.js +12 -1
  36. package/dist/knowledge/yaml-source.js.map +1 -1
  37. package/package.json +2 -2
@@ -0,0 +1,38 @@
1
+ /**
2
+ * What the knowledge index can store — the read-path rule for YAML documents.
3
+ *
4
+ * `loadAll` admits any document with a string `id` and `type`, and the index is the
5
+ * first thing that cares about the rest. A `description:` holding a map used to throw
6
+ * "Provided value cannot be bound to SQLite parameter 4." out of the rebuild, and so
7
+ * out of `aidlc update`, `aidlc init` and `aidlc gate`, naming neither the file nor the
8
+ * field. The rule here lets the read path leave that one document out, and say which
9
+ * one, instead (knowledge-block-vanishes-silently/AC-7, AC-8, AC-14).
10
+ *
11
+ * The rule is what `SqliteIndex.upsertEntity` / `upsertRelationship` / `syncFts`
12
+ * actually refuse — measured by driving the real index with every field and shape —
13
+ * and deliberately not `KnowledgeWriter.validateEntity`, which is stricter (id slug,
14
+ * confidence range, strings only). Applying the write-path rule on read would refuse
15
+ * documents that index today, a numeric `name` or a `confidence: high`; this one can
16
+ * only turn a crash into a named skip (AC-13, design DD3). A field added to
17
+ * `upsertEntity` needs a line here.
18
+ *
19
+ * No import of the index: `yaml-source.ts` uses this, and must not pull `node:sqlite`
20
+ * onto the paths that only read YAML (stale-graph-entries/AC-17).
21
+ *
22
+ * @module
23
+ */
24
+ /**
25
+ * Why an entity document cannot be stored, or null when it can.
26
+ *
27
+ * @param doc - A parsed document with a string `id` and `type`.
28
+ * @returns e.g. `'description' is a map`.
29
+ */
30
+ export declare function unstorableEntityReason(doc: Record<string, unknown>): string | null;
31
+ /**
32
+ * Why a relationship document cannot be stored, or null when it can. `from`, `to`
33
+ * and `type` are already strings — `loadAll` classifies a document by them.
34
+ *
35
+ * @param doc - A parsed document with string `from`, `to` and `type`.
36
+ */
37
+ export declare function unstorableRelationshipReason(doc: Record<string, unknown>): string | null;
38
+ //# sourceMappingURL=storable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storable.d.ts","sourceRoot":"","sources":["../../src/knowledge/storable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAmCH;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CASlF;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAGxF"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * What the knowledge index can store — the read-path rule for YAML documents.
3
+ *
4
+ * `loadAll` admits any document with a string `id` and `type`, and the index is the
5
+ * first thing that cares about the rest. A `description:` holding a map used to throw
6
+ * "Provided value cannot be bound to SQLite parameter 4." out of the rebuild, and so
7
+ * out of `aidlc update`, `aidlc init` and `aidlc gate`, naming neither the file nor the
8
+ * field. The rule here lets the read path leave that one document out, and say which
9
+ * one, instead (knowledge-block-vanishes-silently/AC-7, AC-8, AC-14).
10
+ *
11
+ * The rule is what `SqliteIndex.upsertEntity` / `upsertRelationship` / `syncFts`
12
+ * actually refuse — measured by driving the real index with every field and shape —
13
+ * and deliberately not `KnowledgeWriter.validateEntity`, which is stricter (id slug,
14
+ * confidence range, strings only). Applying the write-path rule on read would refuse
15
+ * documents that index today, a numeric `name` or a `confidence: high`; this one can
16
+ * only turn a crash into a named skip (AC-13, design DD3). A field added to
17
+ * `upsertEntity` needs a line here.
18
+ *
19
+ * No import of the index: `yaml-source.ts` uses this, and must not pull `node:sqlite`
20
+ * onto the paths that only read YAML (stale-graph-entries/AC-17).
21
+ *
22
+ * @module
23
+ */
24
+ /**
25
+ * The index binds these as-is. `node:sqlite` binds a string or a number and nothing
26
+ * else a YAML document can hold — `undefined` (a missing key), a boolean, a map and a
27
+ * list all throw.
28
+ */
29
+ const ENTITY_SCALARS = ['name', 'description', 'confidence', 'source', 'author', 'lastVerified'];
30
+ /**
31
+ * Of those, the columns with no default. `INSERT OR REPLACE` substitutes a column's
32
+ * default for an explicit null, so a null `confidence`, `source` or `author` stores;
33
+ * a null in one of these fails `NOT NULL`.
34
+ */
35
+ const ENTITY_NO_DEFAULT = new Set(['name', 'description', 'lastVerified']);
36
+ /** The shape of a value, in the words a warning uses. */
37
+ function shapeOf(value) {
38
+ if (value === undefined)
39
+ return 'missing';
40
+ if (value === null)
41
+ return 'null';
42
+ if (Number.isNaN(value))
43
+ return '.nan';
44
+ if (Array.isArray(value))
45
+ return 'a list';
46
+ if (typeof value === 'object')
47
+ return 'a map';
48
+ return `a ${typeof value}`;
49
+ }
50
+ /**
51
+ * YAML's `.nan` is a number, and SQLite stores a NaN double as NULL — so it is null
52
+ * by the time `NOT NULL` is checked, and fails exactly where null does (AC-15).
53
+ */
54
+ function bindable(value, nullable) {
55
+ if (value === null || Number.isNaN(value))
56
+ return nullable;
57
+ return typeof value === 'string' || typeof value === 'number';
58
+ }
59
+ /**
60
+ * Why an entity document cannot be stored, or null when it can.
61
+ *
62
+ * @param doc - A parsed document with a string `id` and `type`.
63
+ * @returns e.g. `'description' is a map`.
64
+ */
65
+ export function unstorableEntityReason(doc) {
66
+ for (const field of ENTITY_SCALARS) {
67
+ if (!bindable(doc[field], !ENTITY_NO_DEFAULT.has(field))) {
68
+ return `'${field}' is ${shapeOf(doc[field])}`;
69
+ }
70
+ }
71
+ // `syncFts` joins it; anything but a list throws there, after the row is bound.
72
+ if (!Array.isArray(doc.tags))
73
+ return `'tags' is ${shapeOf(doc.tags)}, not a list`;
74
+ return null;
75
+ }
76
+ /**
77
+ * Why a relationship document cannot be stored, or null when it can. `from`, `to`
78
+ * and `type` are already strings — `loadAll` classifies a document by them.
79
+ *
80
+ * @param doc - A parsed document with string `from`, `to` and `type`.
81
+ */
82
+ export function unstorableRelationshipReason(doc) {
83
+ if (!bindable(doc.lastVerified, false))
84
+ return `'lastVerified' is ${shapeOf(doc.lastVerified)}`;
85
+ return null;
86
+ }
87
+ //# sourceMappingURL=storable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storable.js","sourceRoot":"","sources":["../../src/knowledge/storable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;GAIG;AACH,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAU,CAAC;AAE1G;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;AAEnF,yDAAyD;AACzD,SAAS,OAAO,CAAC,KAAc;IAC7B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACvC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAC9C,OAAO,KAAK,OAAO,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CAAC,KAAc,EAAE,QAAiB;IACjD,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC3D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAA4B;IACjE,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACzD,OAAO,IAAI,KAAK,QAAQ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC;IACH,CAAC;IACD,gFAAgF;IAChF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,aAAa,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;IAClF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAA4B;IACvE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC;QAAE,OAAO,qBAAqB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;IAChG,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/knowledge/sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,wBAAwB,GAAG,qBAAqB,GAAG,eAAe,CAAC;IACzE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAKD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,cAAc,EACrB,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,GAC9B,UAAU,CAwEZ;AAMD,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAmBxD"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/knowledge/sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,wBAAwB,GAAG,qBAAqB,GAAG,eAAe,CAAC;IACzE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAKD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,cAAc,EACrB,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,GAC9B,UAAU,CA0EZ;AAqCD,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAmBxD"}
@@ -10,6 +10,7 @@
10
10
  *
11
11
  * @module
12
12
  */
13
+ import { isDeepStrictEqual } from 'node:util';
13
14
  import { fingerprintSources } from './source-fingerprint.js';
14
15
  /** Description change ratio above which a merge is reported as suspicious. */
15
16
  const DIVERGENCE_THRESHOLD = 0.5;
@@ -29,10 +30,12 @@ export function syncKnowledge(source, index, priorEntities) {
29
30
  // `sync` cannot call that helper — it needs the parsed graph in hand to compare
30
31
  // against the pre-sync index before anything is replaced — so it repeats the two
31
32
  // steps of it that matter, in the same order
32
- // (knowledge-index-misses-merged-yaml/AC-7, AC-8).
33
+ // (knowledge-index-misses-merged-yaml/AC-7, AC-8) — and reads the way it reads, so
34
+ // `sync` is not the one path still throwing on a document the others skip
35
+ // (knowledge-block-vanishes-silently/AC-7).
33
36
  const fingerprint = fingerprintSources(source);
34
37
  const before = new Map((priorEntities ?? index.getAllEntities()).map((e) => [e.id, e]));
35
- const { entities, relationships, warnings: parseWarnings } = source.loadAll();
38
+ const { entities, relationships, warnings: parseWarnings } = source.loadAll({ forIndex: true });
36
39
  const warnings = parseWarnings.map((message) => ({
37
40
  entityId: '',
38
41
  type: 'parse-warning',
@@ -95,8 +98,39 @@ export function syncKnowledge(source, index, priorEntities) {
95
98
  warnings,
96
99
  };
97
100
  }
101
+ /**
102
+ * The fields the index stores besides `id` and `metadata`. A `Record` over `keyof Entity`
103
+ * rather than a list of names, so a field added to `Entity` fails to compile until it is
104
+ * listed here — a comparison that silently skips a field hides real merge damage
105
+ * (knowledge-sync-overcounts-updated/AC-4).
106
+ */
107
+ const INDEXED_FIELDS = {
108
+ type: true,
109
+ name: true,
110
+ description: true,
111
+ confidence: true,
112
+ source: true,
113
+ author: true,
114
+ tags: true,
115
+ lastVerified: true,
116
+ };
117
+ /**
118
+ * Same content as far as the index can tell. One side comes out of SQLite, where
119
+ * `rowToEntity` always sets `metadata: {}` and fixes the key order; the other is the
120
+ * YAML as parsed, in the file's order and with whatever keys the file has. Comparing
121
+ * their serializations counted 229 of 264 unchanged entities as updated.
122
+ *
123
+ * Field by field, so key order and keys the index never stores are not differences
124
+ * (AC-3, AC-5). `isDeepStrictEqual` ignores object key order and keeps array order, so
125
+ * reordered tags still count (AC-6). An absent `metadata` is `{}`: the index stores
126
+ * `metadata ?? {}`, and after one rebuild the two cannot be told apart (AC-2).
127
+ */
98
128
  function entitiesEqual(a, b) {
99
- return JSON.stringify(a) === JSON.stringify(b);
129
+ for (const field of Object.keys(INDEXED_FIELDS)) {
130
+ if (!isDeepStrictEqual(a[field], b[field]))
131
+ return false;
132
+ }
133
+ return isDeepStrictEqual(a.metadata ?? {}, b.metadata ?? {});
100
134
  }
101
135
  /** Iterative two-row Levenshtein — fine for description-sized strings. */
102
136
  export function levenshtein(a, b) {
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/knowledge/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/knowledge/sync.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,17 @@ export interface LoadedGraph {
45
45
  /** Parse problems encountered (file → message); corrupted docs are skipped. */
46
46
  warnings: string[];
47
47
  }
48
+ /** How `loadAll` reads. */
49
+ export interface LoadOptions {
50
+ /**
51
+ * Leave out the documents the index cannot store, with a warning naming each
52
+ * (knowledge-block-vanishes-silently/AC-7, AC-8, AC-14). For the callers that feed
53
+ * `index.rebuild` and nothing else. Never for `compact`, which rewrites the YAML
54
+ * from what it loaded and so would delete the document instead of skipping it
55
+ * (design DD4).
56
+ */
57
+ forIndex?: boolean;
58
+ }
48
59
  /**
49
60
  * Message for a write the index believes in and the sources do not — a
50
61
  * reverted or hand-edited source file leaves the index ahead, and the repair
@@ -98,7 +109,7 @@ export declare class YamlSourceStore {
98
109
  */
99
110
  rewriteFile(filename: string, entityType: string, docs: Array<Entity | Relationship>): void;
100
111
  /** Parse every source file into entities and relationships (KG Req 3.2). */
101
- loadAll(): LoadedGraph;
112
+ loadAll(options?: LoadOptions): LoadedGraph;
102
113
  /**
103
114
  * List YAML source files relative to the knowledge dir: the legacy per-type
104
115
  * files, then `<dir>/<file>` for every record file one level down (AC-4).
@@ -1 +1 @@
1
- {"version":3,"file":"yaml-source.d.ts","sourceRoot":"","sources":["../../src/knowledge/yaml-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAUrC,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAkB,MAAM,YAAY,CAAC;AAGvE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMtE;AAED,0CAA0C;AAC1C,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMxF;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,MAAM;IAEjD,gDAAgD;IAChD,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,wCAAwC;IACxC,MAAM,IAAI,OAAO;IASjB,oEAAoE;IACpE,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIlC;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAoClC;;;;OAIG;IACH,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAI3C;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAI,GAAE,WAAW,CAAC,MAAM,CAAa,GAAG,MAAM,EAAE;IAalE;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,IAAI;IAU3F,4EAA4E;IAC5E,OAAO,IAAI,WAAW;IAkDtB;;;OAGG;IACH,eAAe,IAAI,MAAM,EAAE;IAsB3B,sFAAsF;IACtF,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,UAAU;CAQnB"}
1
+ {"version":3,"file":"yaml-source.d.ts","sourceRoot":"","sources":["../../src/knowledge/yaml-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAUrC,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAkB,MAAM,YAAY,CAAC;AAIvE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMtE;AAED,0CAA0C;AAC1C,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,2BAA2B;AAC3B,MAAM,WAAW,WAAW;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMxF;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,MAAM;IAEjD,gDAAgD;IAChD,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,wCAAwC;IACxC,MAAM,IAAI,OAAO;IASjB,oEAAoE;IACpE,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIlC;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAoClC;;;;OAIG;IACH,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAI3C;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAI,GAAE,WAAW,CAAC,MAAM,CAAa,GAAG,MAAM,EAAE;IAalE;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,IAAI;IAU3F,4EAA4E;IAC5E,OAAO,CAAC,OAAO,GAAE,WAAgB,GAAG,WAAW;IA4D/C;;;OAGG;IACH,eAAe,IAAI,MAAM,EAAE;IAsB3B,sFAAsF;IACtF,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,UAAU;CAQnB"}
@@ -22,6 +22,7 @@ import { join } from 'node:path';
22
22
  import { parseAllDocuments, stringify } from 'yaml';
23
23
  import { KNOWLEDGE_SCHEMA_VERSION, RELATIONSHIPS_DIR, recordDirForType, recordFileName, relationshipFileName, sourceFileForType, } from './types.js';
24
24
  import { joinDocuments } from './yaml-documents.js';
25
+ import { unstorableEntityReason, unstorableRelationshipReason } from './storable.js';
25
26
  /**
26
27
  * Line width every writer in this module serializes at. Preserved documents are
27
28
  * re-emitted at the same width, so a write never reflows a document it did not
@@ -169,7 +170,7 @@ export class YamlSourceStore {
169
170
  // Reads
170
171
  // -------------------------------------------------------------------------
171
172
  /** Parse every source file into entities and relationships (KG Req 3.2). */
172
- loadAll() {
173
+ loadAll(options = {}) {
173
174
  const entities = [];
174
175
  const relationships = [];
175
176
  const warnings = [];
@@ -207,9 +208,19 @@ export class YamlSourceStore {
207
208
  continue;
208
209
  }
209
210
  if (typeof obj.from === 'string' && typeof obj.to === 'string' && typeof obj.type === 'string') {
211
+ const reason = options.forIndex ? unstorableRelationshipReason(obj) : null;
212
+ if (reason) {
213
+ warnings.push(`${file}: skipped relationship '${obj.from}' -> '${obj.to}' (${reason})`);
214
+ continue;
215
+ }
210
216
  relationships.push(obj);
211
217
  }
212
218
  else if (typeof obj.id === 'string' && typeof obj.type === 'string') {
219
+ const reason = options.forIndex ? unstorableEntityReason(obj) : null;
220
+ if (reason) {
221
+ warnings.push(`${file}: skipped document '${obj.id}' (${reason})`);
222
+ continue;
223
+ }
213
224
  entities.push(obj);
214
225
  }
215
226
  }
@@ -1 +1 @@
1
- {"version":3,"file":"yaml-source.js","sourceRoot":"","sources":["../../src/knowledge/yaml-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yaml-source.js","sourceRoot":"","sources":["../../src/knowledge/yaml-source.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rasensio/aidlc",
3
- "version": "1.74.0",
3
+ "version": "1.76.0",
4
4
  "description": "AI Development Lifecycle Framework — structured lifecycle guidance for AI coding agents across platforms",
5
5
  "homepage": "https://aidlc.rodrigoasensio.com",
6
6
  "repository": {
@@ -31,7 +31,7 @@
31
31
  "commander": "15.0.0",
32
32
  "picomatch": "4.0.5",
33
33
  "yaml": "2.9.0",
34
- "@rasensio/aidlc-content": "1.74.0"
34
+ "@rasensio/aidlc-content": "1.76.0"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/node": "22.15.32",