@context-forge/core 0.4.0 → 0.4.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.
@@ -22,14 +22,14 @@ Order: concept → hld → spec → arch → plan → slice → tasks. Note tha
22
22
  ```yaml
23
23
  context_profiles:
24
24
  concept-phase-1: []
25
- architecture-phase-2: [fileConcept, fileHLD, fileSpec]
26
- slice-planning-phase-3: [fileArch]
27
- slice-design-phase-4: [fileArch, fileSlicePlan]
28
- task-breakdown-phase-5: [fileSlicePlan, fileSlice]
29
- implementation-phase-6: [fileSlicePlan, fileSlice, fileTasks]
25
+ architecture-phase-2: [fileConcept, fileHLD, fileSpec, fileArch]
26
+ slice-planning-phase-3: [fileArch, fileSlicePlan]
27
+ slice-design-phase-4: [fileArch, fileSlicePlan, fileSlice]
28
+ task-breakdown-phase-5: [fileSlicePlan, fileSlice, fileTasks]
29
+ implementation-phase-6: [fileSlice, fileTasks]
30
30
  slice-integration-phase-7: [fileArch, fileSlicePlan, fileSlice, fileTasks]
31
- task-breakdown-supplement-phase-5: [fileSlicePlan, fileSlice]
32
- task-expansion-variant-phase-5: [fileSlicePlan, fileSlice]
31
+ task-breakdown-supplement-phase-5: [fileSlicePlan, fileSlice, fileTasks]
32
+ task-expansion-variant-phase-5: [fileSlicePlan, fileSlice, fileTasks]
33
33
  context-initialization: []
34
34
  maintenance-task: [fileTasks]
35
35
  maintenance-routine: [fileSlice, fileTasks]
@@ -174,7 +174,21 @@ Your role is Architect as described in the Process Guide. Work with the Project
174
174
  3. Create the slice plan document in the correct location:
175
175
  `user/architecture/nnn-slices.{name}.md` (sharing the parent architecture document's base index, per `file-naming-conventions.md`)
176
176
  4. When numbering slices, you may use an index starting with 1, but continue the same index throughout the document. Do not restart the numbering within the plan.
177
+ 5. Include YAML frontmatter with `status: active` (or `complete` if all slices are done). Each slice entry should also include a status field: `not_started`, `in_progress`, `complete`, or `blocked`.
177
178
 
179
+ **Example YAML FrontMatter**:
180
+ ```yaml
181
+ ---
182
+ docType: slice-plan
183
+ parent: user/architecture/140-arch.context-forge-restructure.md
184
+ project: context-forge
185
+ status: active
186
+ dateCreated: 20260214
187
+ dateUpdated: 20260217
188
+ ---
189
+ ```
190
+
191
+ ```markdown
178
192
  Use enough slices to completely define the scope of the parent document. Consider functional requirements only. Ignore non-functional requirements. Avoid speculative risk projections. Do not include calendar or time-based estimates.
179
193
 
180
194
  When defining slices, focus on slice independence and clear value delivery (user value, developer value, or architectural enablement). Each slice must leave the system in a working state when complete. If you have all required inputs and sufficient information, proceed with slice planning. If not, request required information from the Project Manager.
@@ -192,8 +206,8 @@ We're working in our guide.ai-project.000-process, Phase 4: Slice Design (Low-Le
192
206
  - Architecture document or HLD — as identified by the Project Manager or referenced in the slice plan's parent document.
193
207
 
194
208
  *Working input* (defines what this specific slice should accomplish:
195
- 2. Slice plan entry from `user/architecture/nnn-slices.{name}.md`
196
- 3. Slice description provided directly with this request
209
+ 1. Slice plan entry from `user/architecture/nnn-slices.{name}.md`
210
+ 2. Slice description provided directly with this request
197
211
 
198
212
  If using a slice plan, it must contain an entry for this slice. If the strategic context document is not obvious, ask the Project Manager.
199
213
 
@@ -215,6 +229,7 @@ Include:
215
229
  - UI mockups or API/tool specifications (if applicable)
216
230
  - Cross-slice dependencies and interfaces
217
231
  - Success criteria specific enough for task creation
232
+ - Verification walkthrough: concrete commands, workflows, and step-by-step confirmation that the user can follow to prove the slice delivers what it claims. This is not a restatement of success criteria — it's the "demo script" showing what the user can actually do. This is the draft walkthrough that will be refined when Phase 6 (Implementation) is complete.
218
233
  - Only template sections that are relevant to this slice — omit sections that don't apply
219
234
 
220
235
  Avoid:
@@ -261,7 +276,8 @@ Include:
261
276
  3. Granular tasks following Phase 5 guidelines
262
277
  4. Create separate sub-tasks for each similar component.
263
278
  5. Organize so that tasks can be completed sequentially.
264
- 6. Use checklist format for all task files.
279
+ 6. Test-with pattern: place test tasks immediately after their corresponding implementation tasks, not batched at the end. Each feature or component task should be followed by its test task before moving to the next feature.
280
+ 7. Use checklist format for all task files.
265
281
 
266
282
  Avoid:
267
283
  - Time estimates in hours/days/etc. You may use a 1-5 relative effort scale.
@@ -289,14 +305,16 @@ Your job is to complete the tasks in the `user/tasks/{sliceindex}-tasks.{slicena
289
305
  Use the following as overview input when needed. Primary input is the task file referenced above.
290
306
  - The slice design at `user/slices/{slice}.md`.
291
307
 
292
- Always git commit at least once per task but ideally after every section of items containing a 'Success:' criteria. For example, if a file contains Task 1.2, Task 1.2.1, commit after each task. If 1.2.1 contains multiple checklists each with its own 'Success:' criteria, commit after any section containing Success. STOP and confer with Project Manager after each task, unless directed otherwise
308
+ Commit at each checkpoint marked in the task file (look for lines starting with `**Commit**:`). Use the commit message provided. If a task has no explicit commit marker, commit at the end of the task before moving to the next.
293
309
 
294
310
  Work carefully and sequentially through the tasks, ensuring that each task is verified complete before proceeding to the next. You should write unit tests for code as you work through the task. Ensure that tests pass and task is complete before moving to the next.
295
311
 
296
- If an attempted solution does not work or you find reason to try another approach, do not make more than three attempts without stopping and obtaining confirmation from Project Manager.
312
+ If you encounter a failing test, an ambiguous requirement, or a design decision not covered by the slice design, stop and confer with the Project Manager. Do not make more than three attempts at a failing approach before stopping.
297
313
 
298
314
  Be sure to check off tasks as they are completed. If a parent slice plan file contains checklist items, check off parent items after all child items are complete. If a `task-checker` tool|agent is available to you, use it.
299
315
 
316
+ After completing all tasks, run through the Verification Walkthrough section of the slice design as a final confirmation. If any step doesn't work as described, stop and confer with Project Manager before marking the slice complete. Update the Verification Walkthrough with actual commands, expected command output, corrections, and any caveats discovered during implementation. The goal is for the walkthrough to be aditionally verifiable by an external agent (human or AI, as applicable).
317
+
300
318
  Maintain the YAML frontmatter including:
301
319
  - Status: not_started, in_progress, complete, not_applicable
302
320
  - Date updated
@@ -9,13 +9,26 @@ export declare class ConsistencyChecker {
9
9
  private readonly introspector;
10
10
  constructor(introspector: IArtifactIntrospector);
11
11
  /**
12
- * Run all detection rules against a project and return structured findings.
12
+ * Run detection rules against the active slice and return structured findings.
13
13
  */
14
14
  check(project: ProjectData): Promise<ConsistencyCheckResult>;
15
+ /**
16
+ * Run detection rules against all slices in the plan and return aggregated findings.
17
+ */
18
+ checkAll(project: ProjectData): Promise<ConsistencyCheckResult>;
15
19
  /**
16
20
  * Run check(), then apply non-destructive corrections to fixable findings.
17
21
  */
18
22
  fix(project: ProjectData): Promise<ConsistencyFixResult>;
23
+ /**
24
+ * Run checkAll(), then apply non-destructive corrections to fixable findings.
25
+ * Single pass only — no re-checking after fixes.
26
+ */
27
+ fixAll(project: ProjectData): Promise<ConsistencyFixResult>;
28
+ /** Apply fixes to a check result — shared by fix() and fixAll(). */
29
+ private applyFixes;
30
+ /** Run rules 1-5 against a single slice, returning raw findings (no prefix). */
31
+ private checkSlice;
19
32
  /** Rule 1: Task completion vs. slice plan checkbox */
20
33
  private ruleTaskVsPlan;
21
34
  /** Rule 2: Frontmatter status vs. computed state */
@@ -26,8 +39,25 @@ export declare class ConsistencyChecker {
26
39
  private rulePlanVsFrontmatter;
27
40
  /** Rule 5: Task file frontmatter status vs. computed task completion */
28
41
  private ruleTaskFileStatus;
42
+ /** Rule 6: Duplicate slice index detection */
43
+ private ruleDuplicateIndex;
44
+ /** Rule 7: Plan status vs. all-entries-complete */
45
+ private rulePlanStatusVsEntries;
46
+ /** Rule 8: Architecture status vs. all-plans-complete */
47
+ private ruleArchStatusVsPlans;
29
48
  private emptyResult;
30
49
  private buildResult;
50
+ /** Discover all slice plan files in the architecture directory. */
51
+ private discoverAllSlicePlans;
52
+ /** Discover all architecture files in the architecture directory. */
53
+ private discoverAllArchFiles;
54
+ /** Extract numeric index prefix from a filename like "140-arch.foo.md" → 140. */
55
+ private static extractFileIndex;
56
+ /**
57
+ * Match discovered arch files to their slice plans by shared index prefix.
58
+ * Also includes the project's configured fileArch as fallback (for tests / minimal setups).
59
+ */
60
+ private discoverArchPlanPairs;
31
61
  private resolveSlicePlanPath;
32
62
  private safeDetectDocuments;
33
63
  private safeParseSlicePlan;
@@ -1 +1 @@
1
- {"version":3,"file":"ConsistencyChecker.d.ts","sourceRoot":"","sources":["../../src/introspection/ConsistencyChecker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAEV,sBAAsB,EACtB,oBAAoB,EAIrB,MAAM,YAAY,CAAC;AAapB;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;gBAEzC,YAAY,EAAE,qBAAqB;IAI/C;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAiElE;;OAEG;IACG,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqC9D,sDAAsD;IACtD,OAAO,CAAC,cAAc;IAoDtB,oDAAoD;IACpD,OAAO,CAAC,yBAAyB;IAoDjC,gDAAgD;IAChD,OAAO,CAAC,oBAAoB;IAmC5B,yDAAyD;IACzD,OAAO,CAAC,qBAAqB;IAoD7B,wEAAwE;IACxE,OAAO,CAAC,kBAAkB;IAmD1B,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,oBAAoB;YAMd,mBAAmB;YAYnB,kBAAkB;YAalB,iBAAiB;YAajB,oBAAoB;YAYpB,4BAA4B;CAY3C"}
1
+ {"version":3,"file":"ConsistencyChecker.d.ts","sourceRoot":"","sources":["../../src/introspection/ConsistencyChecker.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAEV,sBAAsB,EACtB,oBAAoB,EAKrB,MAAM,YAAY,CAAC;AAapB;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;gBAEzC,YAAY,EAAE,qBAAqB;IAI/C;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAqBlE;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAgErE;;OAEG;IACG,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAK9D;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAKjE,oEAAoE;YACtD,UAAU;IAoCxB,gFAAgF;YAClE,UAAU;IAsCxB,sDAAsD;IACtD,OAAO,CAAC,cAAc;IAiDtB,oDAAoD;IACpD,OAAO,CAAC,yBAAyB;IAoDjC,gDAAgD;IAChD,OAAO,CAAC,oBAAoB;IAmC5B,yDAAyD;IACzD,OAAO,CAAC,qBAAqB;IAoD7B,wEAAwE;IACxE,OAAO,CAAC,kBAAkB;IAmD1B,8CAA8C;IAC9C,OAAO,CAAC,kBAAkB;IA6B1B,mDAAmD;YACrC,uBAAuB;IAyErC,yDAAyD;YAC3C,qBAAqB;IAuDnC,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,WAAW;IAoBnB,mEAAmE;YACrD,qBAAqB;IAanC,qEAAqE;YACvD,oBAAoB;IAalC,iFAAiF;IACjF,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAM/B;;;OAGG;YACW,qBAAqB;IA8CnC,OAAO,CAAC,oBAAoB;YAMd,mBAAmB;YAYnB,kBAAkB;YAalB,iBAAiB;YAajB,oBAAoB;YAYpB,4BAA4B;CAY3C"}
@@ -1,4 +1,5 @@
1
1
  import { join } from 'node:path';
2
+ import { readdir } from 'node:fs/promises';
2
3
  import { resolveArtifactPath } from '../schema/resolveFileByIndex.js';
3
4
  import { updateCheckbox, updateFrontmatterField } from './writers/markdownWriter.js';
4
5
  /**
@@ -20,7 +21,7 @@ export class ConsistencyChecker {
20
21
  this.introspector = introspector;
21
22
  }
22
23
  /**
23
- * Run all detection rules against a project and return structured findings.
24
+ * Run detection rules against the active slice and return structured findings.
24
25
  */
25
26
  async check(project) {
26
27
  const projectPath = project.projectPath;
@@ -31,34 +32,81 @@ export class ConsistencyChecker {
31
32
  if (sliceIndex === null) {
32
33
  return this.emptyResult(projectPath);
33
34
  }
34
- // Gather data from introspector — each call individually try/caught
35
- const docs = await this.safeDetectDocuments(projectPath, sliceIndex);
36
35
  const slicePlanResult = await this.safeParseSlicePlan(project, projectPath);
37
- const taskResult = await this.safeParseTaskFile(docs?.taskFile, projectPath);
38
- const sliceFrontmatter = await this.safeParseFrontmatter(docs?.sliceDesign, projectPath);
39
- // Find the matching slice plan entry
40
- const planEntry = slicePlanResult?.entries.find((e) => e.index === sliceIndex) ?? null;
41
36
  const slicePlanPath = this.resolveSlicePlanPath(project, projectPath);
42
- const findings = [];
43
- // Rule 1: task completion vs. slice plan checkbox
44
- findings.push(...this.ruleTaskVsPlan(taskResult, planEntry, slicePlanPath, slicePlanResult, sliceIndex));
45
- const sliceDesignRel = docs?.sliceDesign ?? null;
46
- // Rule 2: frontmatter status vs. computed state
47
- findings.push(...this.ruleFrontmatterVsComputed(sliceFrontmatter, taskResult, sliceDesignRel, projectPath));
48
- // Rule 3: missing artifact cross-references
49
- findings.push(...this.ruleMissingArtifacts(docs, planEntry, sliceIndex));
50
- // Rule 4: plan checkbox vs. slice frontmatter status
51
- findings.push(...this.rulePlanVsFrontmatter(planEntry, sliceFrontmatter, slicePlanPath, sliceDesignRel, projectPath));
52
- // Rule 5: task file frontmatter status vs. computed task completion
53
- const taskFileFrontmatter = await this.safeParseTaskFileFrontmatter(docs?.taskFile, projectPath);
54
- findings.push(...this.ruleTaskFileStatus(taskResult, taskFileFrontmatter));
37
+ const findings = await this.checkSlice(projectPath, sliceIndex, slicePlanResult, slicePlanPath);
55
38
  return this.buildResult(projectPath, findings);
56
39
  }
40
+ /**
41
+ * Run detection rules against all slices in the plan and return aggregated findings.
42
+ */
43
+ async checkAll(project) {
44
+ const projectPath = project.projectPath;
45
+ if (!projectPath) {
46
+ return this.emptyResult('');
47
+ }
48
+ const slicePlanResult = await this.safeParseSlicePlan(project, projectPath);
49
+ if (!slicePlanResult || slicePlanResult.entries.length === 0) {
50
+ return this.emptyResult(projectPath);
51
+ }
52
+ const slicePlanPath = this.resolveSlicePlanPath(project, projectPath);
53
+ const allFindings = [];
54
+ // Run rules 1-5 for each slice entry
55
+ for (const entry of slicePlanResult.entries) {
56
+ const sliceFindings = await this.checkSlice(projectPath, entry.index, slicePlanResult, slicePlanPath);
57
+ // Prefix each finding's description with [sliceIndex] for attribution
58
+ for (const finding of sliceFindings) {
59
+ finding.description = `[${entry.index}] ${finding.description}`;
60
+ }
61
+ allFindings.push(...sliceFindings);
62
+ }
63
+ // Run aggregate rules (6-9) across all discovered slice plans
64
+ const discoveredPlans = await this.discoverAllSlicePlans(projectPath);
65
+ // Merge configured plan with discovered plans (deduplicated)
66
+ const allPlanPaths = new Set(discoveredPlans);
67
+ if (slicePlanPath)
68
+ allPlanPaths.add(slicePlanPath);
69
+ for (const planPath of allPlanPaths) {
70
+ // Reuse already-parsed result for the configured plan
71
+ let planResult;
72
+ if (planPath === slicePlanPath) {
73
+ planResult = slicePlanResult;
74
+ }
75
+ else {
76
+ try {
77
+ planResult = await this.introspector.parseSlicePlan(planPath);
78
+ }
79
+ catch {
80
+ continue;
81
+ }
82
+ }
83
+ allFindings.push(...this.ruleDuplicateIndex(planResult.entries, planPath));
84
+ allFindings.push(...await this.rulePlanStatusVsEntries(planPath, planResult));
85
+ }
86
+ // Rule 8: arch status vs plan — for all discovered arch-plan pairs
87
+ const archPlanPairs = await this.discoverArchPlanPairs(project, projectPath, allPlanPaths);
88
+ for (const { archPath, planResult } of archPlanPairs) {
89
+ allFindings.push(...await this.ruleArchStatusVsPlans(archPath, planResult));
90
+ }
91
+ return this.buildResult(projectPath, allFindings);
92
+ }
57
93
  /**
58
94
  * Run check(), then apply non-destructive corrections to fixable findings.
59
95
  */
60
96
  async fix(project) {
61
97
  const checkResult = await this.check(project);
98
+ return this.applyFixes(checkResult);
99
+ }
100
+ /**
101
+ * Run checkAll(), then apply non-destructive corrections to fixable findings.
102
+ * Single pass only — no re-checking after fixes.
103
+ */
104
+ async fixAll(project) {
105
+ const checkResult = await this.checkAll(project);
106
+ return this.applyFixes(checkResult);
107
+ }
108
+ /** Apply fixes to a check result — shared by fix() and fixAll(). */
109
+ async applyFixes(checkResult) {
62
110
  const fixLog = [];
63
111
  const fixErrors = [];
64
112
  let fixed = 0;
@@ -88,6 +136,23 @@ export class ConsistencyChecker {
88
136
  }
89
137
  return { ...checkResult, fixed, fixLog, fixErrors };
90
138
  }
139
+ // --- Per-slice check logic ---
140
+ /** Run rules 1-5 against a single slice, returning raw findings (no prefix). */
141
+ async checkSlice(projectPath, sliceIndex, slicePlanResult, slicePlanPath) {
142
+ const docs = await this.safeDetectDocuments(projectPath, sliceIndex);
143
+ const taskResult = await this.safeParseTaskFile(docs?.taskFile, projectPath);
144
+ const sliceFrontmatter = await this.safeParseFrontmatter(docs?.sliceDesign, projectPath);
145
+ const planEntry = slicePlanResult?.entries.find((e) => e.index === sliceIndex) ?? null;
146
+ const sliceDesignRel = docs?.sliceDesign ?? null;
147
+ const findings = [];
148
+ findings.push(...this.ruleTaskVsPlan(taskResult, planEntry, slicePlanPath, slicePlanResult, sliceIndex));
149
+ findings.push(...this.ruleFrontmatterVsComputed(sliceFrontmatter, taskResult, sliceDesignRel, projectPath));
150
+ findings.push(...this.ruleMissingArtifacts(docs, planEntry, sliceIndex));
151
+ findings.push(...this.rulePlanVsFrontmatter(planEntry, sliceFrontmatter, slicePlanPath, sliceDesignRel, projectPath));
152
+ const taskFileFrontmatter = await this.safeParseTaskFileFrontmatter(docs?.taskFile, projectPath);
153
+ findings.push(...this.ruleTaskFileStatus(taskResult, taskFileFrontmatter));
154
+ return findings;
155
+ }
91
156
  // --- Detection Rules ---
92
157
  /** Rule 1: Task completion vs. slice plan checkbox */
93
158
  ruleTaskVsPlan(taskResult, planEntry, slicePlanPath, slicePlanResult, sliceIndex) {
@@ -97,8 +162,6 @@ export class ConsistencyChecker {
97
162
  const tasksComplete = taskResult.inferredStatus === 'complete';
98
163
  const sliceChecked = planEntry.isChecked;
99
164
  if (tasksComplete && !sliceChecked) {
100
- // Find the line index of this entry in the plan file for fixing
101
- const entryIdx = slicePlanResult.entries.findIndex((e) => e.index === sliceIndex);
102
165
  findings.push({
103
166
  rule: 'task-vs-plan',
104
167
  severity: 'warning',
@@ -109,12 +172,11 @@ export class ConsistencyChecker {
109
172
  fixAction: {
110
173
  type: 'update-checkbox',
111
174
  filePath: slicePlanPath,
112
- detail: { lineIndex: entryIdx, checked: true, entryIndex: sliceIndex },
175
+ detail: { lineIndex: planEntry.lineIndex, checked: true, entryIndex: sliceIndex },
113
176
  },
114
177
  });
115
178
  }
116
179
  if (sliceChecked && !tasksComplete) {
117
- const entryIdx = slicePlanResult.entries.findIndex((e) => e.index === sliceIndex);
118
180
  findings.push({
119
181
  rule: 'task-vs-plan',
120
182
  severity: 'error',
@@ -125,7 +187,7 @@ export class ConsistencyChecker {
125
187
  fixAction: {
126
188
  type: 'update-checkbox',
127
189
  filePath: slicePlanPath,
128
- detail: { lineIndex: entryIdx, checked: false, entryIndex: sliceIndex },
190
+ detail: { lineIndex: planEntry.lineIndex, checked: false, entryIndex: sliceIndex },
129
191
  },
130
192
  });
131
193
  }
@@ -238,7 +300,7 @@ export class ConsistencyChecker {
238
300
  fixAction: {
239
301
  type: 'update-checkbox',
240
302
  filePath: slicePlanPath,
241
- detail: { lineIndex: -1, checked: true },
303
+ detail: { lineIndex: planEntry.lineIndex, checked: true },
242
304
  },
243
305
  });
244
306
  }
@@ -286,6 +348,140 @@ export class ConsistencyChecker {
286
348
  }
287
349
  return findings;
288
350
  }
351
+ // --- Aggregate Rules (checkAll only) ---
352
+ /** Rule 6: Duplicate slice index detection */
353
+ ruleDuplicateIndex(entries, slicePlanPath) {
354
+ const findings = [];
355
+ const indexMap = new Map();
356
+ for (const entry of entries) {
357
+ const names = indexMap.get(entry.index) ?? [];
358
+ names.push(entry.name);
359
+ indexMap.set(entry.index, names);
360
+ }
361
+ for (const [index, names] of indexMap) {
362
+ if (names.length > 1) {
363
+ findings.push({
364
+ rule: 'duplicate-index',
365
+ severity: 'error',
366
+ location: slicePlanPath,
367
+ description: `Duplicate slice index ${index}: '${names.join("' and '")}'`,
368
+ suggestedFix: 'Renumber one of the entries',
369
+ fixable: false,
370
+ });
371
+ }
372
+ }
373
+ return findings;
374
+ }
375
+ /** Rule 7: Plan status vs. all-entries-complete */
376
+ async rulePlanStatusVsEntries(slicePlanPath, slicePlanResult) {
377
+ const findings = [];
378
+ let planFrontmatter;
379
+ try {
380
+ planFrontmatter = await this.introspector.parseFrontmatter(slicePlanPath);
381
+ }
382
+ catch {
383
+ return findings;
384
+ }
385
+ if (!planFrontmatter.found)
386
+ return findings;
387
+ const allComplete = slicePlanResult.completedSlices === slicePlanResult.totalSlices;
388
+ // Rule 9: Missing status field — infer from entry completion
389
+ if (!planFrontmatter.data.status) {
390
+ const inferredStatus = allComplete && slicePlanResult.totalSlices > 0 ? 'complete' : 'in-progress';
391
+ findings.push({
392
+ rule: 'missing-plan-status',
393
+ severity: 'warning',
394
+ location: slicePlanPath,
395
+ description: `Slice plan frontmatter has no "status" field (inferred: "${inferredStatus}")`,
396
+ suggestedFix: `Add status: ${inferredStatus} to slice plan frontmatter`,
397
+ fixable: true,
398
+ fixAction: {
399
+ type: 'update-frontmatter',
400
+ filePath: slicePlanPath,
401
+ detail: { key: 'status', value: inferredStatus },
402
+ },
403
+ });
404
+ return findings;
405
+ }
406
+ const planStatus = planFrontmatter.data.status.toLowerCase();
407
+ if (planStatus === 'complete' && !allComplete) {
408
+ findings.push({
409
+ rule: 'plan-status-vs-entries',
410
+ severity: 'warning',
411
+ location: slicePlanPath,
412
+ description: `Plan status is "complete" but only ${slicePlanResult.completedSlices}/${slicePlanResult.totalSlices} entries are checked`,
413
+ suggestedFix: 'Update plan frontmatter status to "in-progress"',
414
+ fixable: true,
415
+ fixAction: {
416
+ type: 'update-frontmatter',
417
+ filePath: slicePlanPath,
418
+ detail: { key: 'status', value: 'in-progress' },
419
+ },
420
+ });
421
+ }
422
+ if (planStatus !== 'complete' && allComplete && slicePlanResult.totalSlices > 0) {
423
+ findings.push({
424
+ rule: 'plan-status-vs-entries',
425
+ severity: 'warning',
426
+ location: slicePlanPath,
427
+ description: `All ${slicePlanResult.totalSlices} entries are checked but plan status is "${planStatus}"`,
428
+ suggestedFix: 'Update plan frontmatter status to "complete"',
429
+ fixable: true,
430
+ fixAction: {
431
+ type: 'update-frontmatter',
432
+ filePath: slicePlanPath,
433
+ detail: { key: 'status', value: 'complete' },
434
+ },
435
+ });
436
+ }
437
+ return findings;
438
+ }
439
+ /** Rule 8: Architecture status vs. all-plans-complete */
440
+ async ruleArchStatusVsPlans(archPath, slicePlanResult) {
441
+ const findings = [];
442
+ let archFrontmatter;
443
+ try {
444
+ archFrontmatter = await this.introspector.parseFrontmatter(archPath);
445
+ }
446
+ catch {
447
+ return findings;
448
+ }
449
+ if (!archFrontmatter.found || !archFrontmatter.data.status)
450
+ return findings;
451
+ const archStatus = archFrontmatter.data.status.toLowerCase();
452
+ const allComplete = slicePlanResult.completedSlices === slicePlanResult.totalSlices;
453
+ if (archStatus === 'complete' && !allComplete) {
454
+ findings.push({
455
+ rule: 'arch-status-vs-plans',
456
+ severity: 'warning',
457
+ location: archPath,
458
+ description: `Architecture status is "complete" but plan has unchecked entries (${slicePlanResult.completedSlices}/${slicePlanResult.totalSlices})`,
459
+ suggestedFix: 'Update architecture frontmatter status to "in-progress"',
460
+ fixable: true,
461
+ fixAction: {
462
+ type: 'update-frontmatter',
463
+ filePath: archPath,
464
+ detail: { key: 'status', value: 'in-progress' },
465
+ },
466
+ });
467
+ }
468
+ if (archStatus !== 'complete' && allComplete && slicePlanResult.totalSlices > 0) {
469
+ findings.push({
470
+ rule: 'arch-status-vs-plans',
471
+ severity: 'warning',
472
+ location: archPath,
473
+ description: `All ${slicePlanResult.totalSlices} plan entries are checked but architecture status is "${archStatus}"`,
474
+ suggestedFix: 'Update architecture frontmatter status to "complete"',
475
+ fixable: true,
476
+ fixAction: {
477
+ type: 'update-frontmatter',
478
+ filePath: archPath,
479
+ detail: { key: 'status', value: 'complete' },
480
+ },
481
+ });
482
+ }
483
+ return findings;
484
+ }
289
485
  // --- Helper methods ---
290
486
  emptyResult(projectPath) {
291
487
  return {
@@ -319,6 +515,84 @@ export class ConsistencyChecker {
319
515
  }
320
516
  return { projectPath, findings, totalFindings: total, errors, warnings, infos, summary };
321
517
  }
518
+ /** Discover all slice plan files in the architecture directory. */
519
+ async discoverAllSlicePlans(projectPath) {
520
+ const archDir = join(projectPath, 'project-documents/user/architecture');
521
+ try {
522
+ const files = await readdir(archDir);
523
+ return files
524
+ .filter((f) => /^\d+-slices\..*\.md$/i.test(f))
525
+ .sort()
526
+ .map((f) => join(archDir, f));
527
+ }
528
+ catch {
529
+ return [];
530
+ }
531
+ }
532
+ /** Discover all architecture files in the architecture directory. */
533
+ async discoverAllArchFiles(projectPath) {
534
+ const archDir = join(projectPath, 'project-documents/user/architecture');
535
+ try {
536
+ const files = await readdir(archDir);
537
+ return files
538
+ .filter((f) => /^\d+-arch\..*\.md$/i.test(f))
539
+ .sort()
540
+ .map((f) => join(archDir, f));
541
+ }
542
+ catch {
543
+ return [];
544
+ }
545
+ }
546
+ /** Extract numeric index prefix from a filename like "140-arch.foo.md" → 140. */
547
+ static extractFileIndex(filePath) {
548
+ const basename = filePath.split('/').pop() ?? '';
549
+ const match = /^(\d+)-/.exec(basename);
550
+ return match ? parseInt(match[1], 10) : null;
551
+ }
552
+ /**
553
+ * Match discovered arch files to their slice plans by shared index prefix.
554
+ * Also includes the project's configured fileArch as fallback (for tests / minimal setups).
555
+ */
556
+ async discoverArchPlanPairs(project, projectPath, knownPlanPaths) {
557
+ const archFiles = await this.discoverAllArchFiles(projectPath);
558
+ // Merge configured arch into discovered set (dedup by full path)
559
+ const allArchPaths = new Set(archFiles);
560
+ if (project.fileArch) {
561
+ const configuredArchRel = resolveArtifactPath('fileArch', project.fileArch);
562
+ if (configuredArchRel)
563
+ allArchPaths.add(join(projectPath, configuredArchRel));
564
+ }
565
+ // Build index → plan path map from discovered + known plans
566
+ const plansByIndex = new Map();
567
+ const allPlanFiles = await this.discoverAllSlicePlans(projectPath);
568
+ for (const planPath of allPlanFiles) {
569
+ const idx = ConsistencyChecker.extractFileIndex(planPath);
570
+ if (idx !== null)
571
+ plansByIndex.set(idx, planPath);
572
+ }
573
+ for (const pp of knownPlanPaths) {
574
+ const idx = ConsistencyChecker.extractFileIndex(pp);
575
+ if (idx !== null && !plansByIndex.has(idx))
576
+ plansByIndex.set(idx, pp);
577
+ }
578
+ const pairs = [];
579
+ for (const archPath of allArchPaths) {
580
+ const archIdx = ConsistencyChecker.extractFileIndex(archPath);
581
+ if (archIdx === null)
582
+ continue;
583
+ const planPath = plansByIndex.get(archIdx);
584
+ if (!planPath)
585
+ continue;
586
+ try {
587
+ const planResult = await this.introspector.parseSlicePlan(planPath);
588
+ pairs.push({ archPath, planResult });
589
+ }
590
+ catch {
591
+ // Skip unparseable plans
592
+ }
593
+ }
594
+ return pairs;
595
+ }
322
596
  resolveSlicePlanPath(project, projectPath) {
323
597
  if (!project.fileSlicePlan)
324
598
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"ConsistencyChecker.js","sourceRoot":"","sources":["../../src/introspection/ConsistencyChecker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAWjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErF;;GAEG;AACH,SAAS,iBAAiB,CAAC,SAA6B;IACtD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IACZ,YAAY,CAAwB;IAErD,YAAY,YAAmC;QAC7C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,OAAoB;QAC9B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QAED,oEAAoE;QACpE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACrE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC5E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC7E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAEzF,qCAAqC;QACrC,MAAM,SAAS,GAAG,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC;QACvF,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEtE,MAAM,QAAQ,GAAyB,EAAE,CAAC;QAE1C,kDAAkD;QAClD,QAAQ,CAAC,IAAI,CACX,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,CAAC,CAC1F,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC;QAEjD,gDAAgD;QAChD,QAAQ,CAAC,IAAI,CACX,GAAG,IAAI,CAAC,yBAAyB,CAC/B,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,CACZ,CACF,CAAC;QAEF,4CAA4C;QAC5C,QAAQ,CAAC,IAAI,CACX,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,CAC1D,CAAC;QAEF,qDAAqD;QACrD,QAAQ,CAAC,IAAI,CACX,GAAG,IAAI,CAAC,qBAAqB,CAC3B,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,CACZ,CACF,CAAC;QAEF,oEAAoE;QACpE,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QACjG,QAAQ,CAAC,IAAI,CACX,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAC5D,CAAC;QAEF,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAoB;QAC5B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAmC,EAAE,CAAC;QAClD,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS;gBAAE,SAAS;YAErD,IAAI,CAAC;gBACH,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACjD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,MAGhD,CAAC;oBACF,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;oBACnF,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;oBAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnB,KAAK,EAAE,CAAC;gBACV,CAAC;qBAAM,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;oBAC3D,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,MAAwC,CAAC;oBAClF,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;oBACnF,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;oBAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnB,KAAK,EAAE,CAAC;gBACV,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,SAAS,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,OAAO,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACtD,CAAC;IAED,0BAA0B;IAE1B,sDAAsD;IAC9C,cAAc,CACpB,UAAiC,EACjC,SAAgC,EAChC,aAA4B,EAC5B,eAAqD,EACrD,UAAkB;QAElB,MAAM,QAAQ,GAAyB,EAAE,CAAC;QAE1C,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa,IAAI,CAAC,eAAe;YAAE,OAAO,QAAQ,CAAC;QAErF,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,KAAK,UAAU,CAAC;QAC/D,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC;QAEzC,IAAI,aAAa,IAAI,CAAC,YAAY,EAAE,CAAC;YACnC,gEAAgE;YAChE,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;YAClF,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,mBAAmB,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,UAAU,eAAe,UAAU,uBAAuB;gBAClI,YAAY,EAAE,mCAAmC,UAAU,GAAG;gBAC9D,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE;oBACT,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,aAAa;oBACvB,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE;iBACvE;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;YAClF,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,SAAS,UAAU,iDAAiD,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,UAAU,GAAG;gBACtI,YAAY,EAAE,qCAAqC,UAAU,GAAG;gBAChE,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE;oBACT,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,aAAa;oBACvB,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE;iBACxE;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,oDAAoD;IAC5C,yBAAyB,CAC/B,WAAqC,EACrC,UAAiC,EACjC,kBAAiC,EACjC,WAAmB;QAEnB,MAAM,QAAQ,GAAyB,EAAE,CAAC;QAE1C,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC;QACrE,IAAI,CAAC,UAAU;YAAE,OAAO,QAAQ,CAAC;QAEjC,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,KAAK,UAAU,CAAC;QAC/D,MAAM,mBAAmB,GAAG,kBAAkB;YAC5C,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC;YACvC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;QAEzB,IAAI,QAAQ,KAAK,UAAU,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,yBAAyB;gBAC/B,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,mBAAmB;gBAC7B,WAAW,EAAE,8DAA8D,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,UAAU,GAAG;gBAChI,YAAY,EAAE,4CAA4C;gBAC1D,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE;oBACT,IAAI,EAAE,oBAAoB;oBAC1B,QAAQ,EAAE,mBAAmB;oBAC7B,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE;iBAChD;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,aAAa,CAAC,IAAI,aAAa,EAAE,CAAC;YAChF,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,yBAAyB;gBAC/B,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,mBAAmB;gBAC7B,WAAW,EAAE,0BAA0B,QAAQ,iCAAiC,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,UAAU,GAAG;gBACrI,YAAY,EAAE,yCAAyC;gBACvD,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE;oBACT,IAAI,EAAE,oBAAoB;oBAC1B,QAAQ,EAAE,mBAAmB;oBAC7B,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;iBAC7C;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,gDAAgD;IACxC,oBAAoB,CAC1B,IAAsE,EACtE,SAAgC,EAChC,UAAkB;QAElB,MAAM,QAAQ,GAAyB,EAAE,CAAC;QAE1C,MAAM,WAAW,GAAG,IAAI,EAAE,QAAQ,KAAK,IAAI,IAAI,IAAI,EAAE,QAAQ,KAAK,SAAS,CAAC;QAC5E,MAAM,YAAY,GAAG,SAAS,KAAK,IAAI,CAAC;QAExC,IAAI,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,IAAK,CAAC,QAAS,CAAC,CAAC,CAAC;gBAC5B,WAAW,EAAE,8BAA8B,UAAU,yCAAyC;gBAC9F,YAAY,EAAE,+CAA+C;gBAC7D,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;QACL,CAAC;QAED,IAAI,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,oBAAoB,UAAU,EAAE;gBAC1C,WAAW,EAAE,+BAA+B,UAAU,KAAK,SAAS,CAAC,IAAI,0BAA0B;gBACnG,YAAY,EAAE,uDAAuD;gBACrE,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,yDAAyD;IACjD,qBAAqB,CAC3B,SAAgC,EAChC,WAAqC,EACrC,aAA4B,EAC5B,kBAAiC,EACjC,WAAmB;QAEnB,MAAM,QAAQ,GAAyB,EAAE,CAAC;QAE1C,IAAI,CAAC,SAAS,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC;QAEnF,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC;QACxC,MAAM,mBAAmB,GAAG,kBAAkB;YAC5C,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC;YACvC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC;QAEzB,IAAI,WAAW,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,mBAAmB;gBAC7B,WAAW,EAAE,0DAA0D,QAAQ,GAAG;gBAClF,YAAY,EAAE,yCAAyC;gBACvD,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE;oBACT,IAAI,EAAE,oBAAoB;oBAC1B,QAAQ,EAAE,mBAAmB;oBAC7B,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;iBAC7C;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW,IAAI,QAAQ,KAAK,UAAU,IAAI,aAAa,EAAE,CAAC;YAC7D,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,oEAAoE;gBACjF,YAAY,EAAE,4BAA4B;gBAC1C,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE;oBACT,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,aAAa;oBACvB,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;iBACzC;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,wEAAwE;IAChE,kBAAkB,CACxB,UAAiC,EACjC,eAAyC;QAEzC,MAAM,QAAQ,GAAyB,EAAE,CAAC;QAE1C,IAAI,CAAC,UAAU,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC;QAE5F,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC,6CAA6C;QACzF,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC;QAE9C,gEAAgE;QAChE,iEAAiE;QACjE,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YACvD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,4DAA4D,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,UAAU,GAAG;gBAC9H,YAAY,EAAE,0CAA0C;gBACxD,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE;oBACT,IAAI,EAAE,oBAAoB;oBAC1B,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE;iBAChD;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YACvD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,wBAAwB,eAAe,CAAC,IAAI,CAAC,MAAM,iCAAiC,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,UAAU,GAAG;gBACtJ,YAAY,EAAE,uCAAuC;gBACrD,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE;oBACT,IAAI,EAAE,oBAAoB;oBAC1B,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;iBAC7C;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,yBAAyB;IAEjB,WAAW,CAAC,WAAmB;QACrC,OAAO;YACL,WAAW;YACX,QAAQ,EAAE,EAAE;YACZ,aAAa,EAAE,CAAC;YAChB,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,0BAA0B;SACpC,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,WAAmB,EAAE,QAA8B;QACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QACrE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;QACzE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;QACnE,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE9B,IAAI,OAAe,CAAC;QACpB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO,GAAG,0BAA0B,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,SAAS,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxE,IAAI,QAAQ,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,WAAW,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChF,IAAI,KAAK,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpE,OAAO,GAAG,GAAG,KAAK,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7E,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC3F,CAAC;IAEO,oBAAoB,CAAC,OAAoB,EAAE,WAAmB;QACpE,IAAI,CAAC,OAAO,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,OAAO,GAAG,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5E,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,WAAmB,EACnB,UAAkB;QAElB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAC9E,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,OAAoB,EACpB,WAAmB;QAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,aAA0C,EAC1C,WAAmB;QAEnB,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9D,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;YACjE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,kBAA6C,EAC7C,WAAmB;QAEnB,IAAI,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC;QACrC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACzF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,4BAA4B,CACxC,aAA0C,EAC1C,WAAmB;QAEnB,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9D,gFAAgF;QAChF,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"ConsistencyChecker.js","sourceRoot":"","sources":["../../src/introspection/ConsistencyChecker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"slicePlanParser.d.ts","sourceRoot":"","sources":["../../../src/introspection/parsers/slicePlanParser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,aAAa,CAAC;AAcnE;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAyD/E"}
1
+ {"version":3,"file":"slicePlanParser.d.ts","sourceRoot":"","sources":["../../../src/introspection/parsers/slicePlanParser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,eAAe,EAAE,MAAM,aAAa,CAAC;AAcnE;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA4D/E"}
@@ -22,8 +22,9 @@ export async function parseSlicePlan(filePath) {
22
22
  const entries = [];
23
23
  let inSliceSection = true;
24
24
  let unindexedCounter = 0;
25
- for (const line of content.split('\n')) {
26
- const stripped = line.trim();
25
+ const lines = content.split('\n');
26
+ for (let i = 0; i < lines.length; i++) {
27
+ const stripped = lines[i].trim();
27
28
  if (HEADING_RE.test(stripped)) {
28
29
  const heading = stripped.replace(/^#+\s+/, '').toLowerCase();
29
30
  inSliceSection = !NON_SLICE_HEADINGS.some((ns) => heading.startsWith(ns));
@@ -40,6 +41,7 @@ export async function parseSlicePlan(filePath) {
40
41
  name: indexed[4].trim(),
41
42
  status: isChecked ? 'complete' : 'not-started',
42
43
  isChecked,
44
+ lineIndex: i,
43
45
  });
44
46
  continue;
45
47
  }
@@ -53,6 +55,7 @@ export async function parseSlicePlan(filePath) {
53
55
  name: unindexed[3].trim(),
54
56
  status: isChecked ? 'complete' : 'not-started',
55
57
  isChecked,
58
+ lineIndex: i,
56
59
  });
57
60
  }
58
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"slicePlanParser.js","sourceRoot":"","sources":["../../../src/introspection/parsers/slicePlanParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slicePlanParser.js","sourceRoot":"","sources":["../../../src/introspection/parsers/slicePlanParser.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export interface SlicePlanEntry {
6
6
  name: string;
7
7
  status: NormalizedStatus;
8
8
  isChecked: boolean;
9
+ /** Zero-based line number in the source file (for checkbox fix operations) */
10
+ lineIndex: number;
9
11
  }
10
12
  /** Result of parsing a slice plan document */
11
13
  export interface SlicePlanResult {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/introspection/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/introspection/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"markdownWriter.d.ts","sourceRoot":"","sources":["../../../src/introspection/writers/markdownWriter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;GAGG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,CAAC,CAkCtB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,CAAC,CA+DtB"}
1
+ {"version":3,"file":"markdownWriter.d.ts","sourceRoot":"","sources":["../../../src/introspection/writers/markdownWriter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;GAGG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,CAAC,CAkCtB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,CAAC,CAyEtB"}
@@ -74,7 +74,17 @@ export async function updateFrontmatterField(filePath, key, value) {
74
74
  }
75
75
  }
76
76
  if (keyLineIndex === -1) {
77
- throw new Error(`Frontmatter key "${key}" not found in: ${filePath}`);
77
+ // Key doesn't exist insert before closing ---
78
+ lines.splice(closingIndex, 0, `${key}: ${value}`);
79
+ await writeFile(filePath, lines.join('\n'), 'utf-8');
80
+ return {
81
+ rule: '',
82
+ action: 'update-frontmatter',
83
+ filePath,
84
+ field: key,
85
+ before: '',
86
+ after: value,
87
+ };
78
88
  }
79
89
  // Replace the value, preserving the key and any leading whitespace
80
90
  const originalLine = lines[keyLineIndex];
@@ -1 +1 @@
1
- {"version":3,"file":"markdownWriter.js","sourceRoot":"","sources":["../../../src/introspection/writers/markdownWriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdownWriter.js","sourceRoot":"","sources":["../../../src/introspection/writers/markdownWriter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@context-forge/core",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Core context generation engine for Context Forge — template processing, project state, prompt assembly",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",