@rasensio/aidlc 1.10.1 → 1.10.5

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 (59) hide show
  1. package/dist/commands/add-action.d.ts.map +1 -1
  2. package/dist/commands/add-action.js +17 -2
  3. package/dist/commands/add-action.js.map +1 -1
  4. package/dist/commands/add-skill.d.ts.map +1 -1
  5. package/dist/commands/add-skill.js +13 -0
  6. package/dist/commands/add-skill.js.map +1 -1
  7. package/dist/commands/init.d.ts.map +1 -1
  8. package/dist/commands/init.js +20 -1
  9. package/dist/commands/init.js.map +1 -1
  10. package/dist/commands/knowledge.d.ts.map +1 -1
  11. package/dist/commands/knowledge.js +11 -0
  12. package/dist/commands/knowledge.js.map +1 -1
  13. package/dist/commands/review.d.ts +27 -1
  14. package/dist/commands/review.d.ts.map +1 -1
  15. package/dist/commands/review.js +93 -8
  16. package/dist/commands/review.js.map +1 -1
  17. package/dist/commands/start.d.ts.map +1 -1
  18. package/dist/commands/start.js +13 -3
  19. package/dist/commands/start.js.map +1 -1
  20. package/dist/commands/transition.d.ts.map +1 -1
  21. package/dist/commands/transition.js +7 -24
  22. package/dist/commands/transition.js.map +1 -1
  23. package/dist/core/index.d.ts +1 -0
  24. package/dist/core/index.d.ts.map +1 -1
  25. package/dist/core/index.js +1 -0
  26. package/dist/core/index.js.map +1 -1
  27. package/dist/core/lifecycle.js +28 -5
  28. package/dist/core/lifecycle.js.map +1 -1
  29. package/dist/core/tty.d.ts +38 -0
  30. package/dist/core/tty.d.ts.map +1 -0
  31. package/dist/core/tty.js +40 -0
  32. package/dist/core/tty.js.map +1 -0
  33. package/dist/core/types.d.ts +6 -0
  34. package/dist/core/types.d.ts.map +1 -1
  35. package/dist/doctor/context.d.ts.map +1 -1
  36. package/dist/doctor/context.js +5 -1
  37. package/dist/doctor/context.js.map +1 -1
  38. package/dist/events/event-bus.d.ts.map +1 -1
  39. package/dist/events/event-bus.js +16 -13
  40. package/dist/events/event-bus.js.map +1 -1
  41. package/dist/events/plugin-hooks.d.ts.map +1 -1
  42. package/dist/events/plugin-hooks.js +12 -15
  43. package/dist/events/plugin-hooks.js.map +1 -1
  44. package/dist/events/run-command.d.ts +58 -0
  45. package/dist/events/run-command.d.ts.map +1 -0
  46. package/dist/events/run-command.js +110 -0
  47. package/dist/events/run-command.js.map +1 -0
  48. package/dist/menu/prompt.d.ts +7 -7
  49. package/dist/menu/prompt.d.ts.map +1 -1
  50. package/dist/menu/prompt.js +7 -9
  51. package/dist/menu/prompt.js.map +1 -1
  52. package/dist/traceability/cache.d.ts.map +1 -1
  53. package/dist/traceability/cache.js +9 -2
  54. package/dist/traceability/cache.js.map +1 -1
  55. package/dist/traceability/gate-criterion.d.ts +18 -0
  56. package/dist/traceability/gate-criterion.d.ts.map +1 -1
  57. package/dist/traceability/gate-criterion.js +94 -8
  58. package/dist/traceability/gate-criterion.js.map +1 -1
  59. package/package.json +2 -2
@@ -15,10 +15,76 @@
15
15
  import { existsSync, readdirSync, readFileSync } from 'node:fs';
16
16
  import { join } from 'node:path';
17
17
  import { parse as parseYaml } from 'yaml';
18
+ import { loadTemplates as loadBuiltInTemplates } from '@rasensio/aidlc-content';
19
+ import { loadTemplates, resolveTemplate } from '../core/template-resolver.js';
18
20
  import { parseRequirements } from './parser.js';
19
21
  import { DEFAULT_TEST_GLOBS, discoverTestFiles, scanFiles } from './scanner.js';
20
22
  import { parseCoverageBlock } from './coverage-block.js';
21
23
  import { buildMatrix } from './matrix.js';
24
+ /** Legacy coverage file, kept readable for instances written before the fix (AC-11). */
25
+ const LEGACY_COVERAGE_FILE = 'testing.md';
26
+ /**
27
+ * Files that may carry an `ac-coverage` block, MOST-AUTHORITATIVE FIRST:
28
+ *
29
+ * 1. the testing phase's REQUIRED artifacts, per the instance's resolved template
30
+ * (so a project-local template override under `.aidlc/templates/` is honoured);
31
+ * 2. `testing.md` — legacy fallback for instances written under the old hardcoded
32
+ * path. Kept for AC-11, not for new use.
33
+ *
34
+ * Required-only, deliberately: `phase-testing.yaml` also lists OPTIONAL artifacts
35
+ * (9 of 17 instances on disk name `coverage-report.md`), and reading a coverage block
36
+ * out of a coverage report would be surprising and wrong. `phase-testing.yaml` does
37
+ * not mark which entries are required, so the required set comes from the template.
38
+ *
39
+ * Resolution happens here rather than through a new parameter because
40
+ * `evaluateTraceabilityCriterion` has four call sites (`cache.ts`, `commands/gate.ts`,
41
+ * `commands/transition.ts`) and changing its signature would touch all of them.
42
+ */
43
+ export function coverageSources(projectRoot, instanceName) {
44
+ const sources = [];
45
+ const instanceDir = join(projectRoot, '.aidlc', 'state', instanceName);
46
+ try {
47
+ const instance = parseYaml(readFileSync(join(instanceDir, 'instance.yaml'), 'utf8'));
48
+ const templateName = instance?.template;
49
+ if (templateName) {
50
+ const all = loadAllTemplatesForCoverage(projectRoot);
51
+ const raw = all.get(templateName);
52
+ if (raw) {
53
+ const resolved = resolveTemplate(raw, all);
54
+ const testingPhase = resolved.phases.find((p) => p.name === 'testing');
55
+ for (const artifact of testingPhase?.required_artifacts ?? []) {
56
+ if (!sources.includes(artifact.name))
57
+ sources.push(artifact.name);
58
+ }
59
+ }
60
+ }
61
+ }
62
+ catch {
63
+ // Unreadable instance.yaml or template — fall through to the legacy file.
64
+ }
65
+ if (!sources.includes(LEGACY_COVERAGE_FILE))
66
+ sources.push(LEGACY_COVERAGE_FILE);
67
+ return sources;
68
+ }
69
+ /** Built-in templates plus any project-local overrides. */
70
+ function loadAllTemplatesForCoverage(projectRoot) {
71
+ const templates = new Map();
72
+ try {
73
+ for (const tpl of loadBuiltInTemplates()) {
74
+ templates.set(tpl.name, tpl.raw);
75
+ }
76
+ }
77
+ catch {
78
+ // Content package unavailable — project-local templates may still resolve.
79
+ }
80
+ const customDir = join(projectRoot, '.aidlc', 'templates');
81
+ if (existsSync(customDir)) {
82
+ for (const [name, tpl] of loadTemplates(customDir)) {
83
+ templates.set(name, tpl);
84
+ }
85
+ }
86
+ return templates;
87
+ }
22
88
  /** Message template callers use for unsatisfied criteria / violations. */
23
89
  export function uncoveredMessage(acId) {
24
90
  return `acceptance criterion AC-${acId} has no referencing test (traceability)`;
@@ -86,7 +152,9 @@ export function evaluateTraceabilityCriterion(projectRoot, instanceName, phaseNa
86
152
  if (!parsed || parsed.acShapedLines === 0)
87
153
  return null;
88
154
  const requirementsPath = `.aidlc/state/${instanceName}/requirements.md`;
89
- const testingPath = `.aidlc/state/${instanceName}/testing.md`;
155
+ const sources = coverageSources(projectRoot, instanceName);
156
+ const authoritative = sources.find((f) => existsSync(join(instanceDir, f)));
157
+ const testingPath = `.aidlc/state/${instanceName}/${authoritative ?? LEGACY_COVERAGE_FILE}`;
90
158
  // Warnings ordered by phase: parse → glob/discovery → scan → block → matrix
91
159
  // (NFR4). Registry parse warnings are scoped to the target instance only.
92
160
  const warnings = [...parsed.warnings];
@@ -100,14 +168,32 @@ export function evaluateTraceabilityCriterion(projectRoot, instanceName, phaseNa
100
168
  warnings.push(...discovery.warnings);
101
169
  const scan = scanFiles(projectRoot, discovery.files);
102
170
  warnings.push(...scan.warnings);
171
+ // PRECEDENCE, not union: the first source that exists provides the coverage block and
172
+ // later sources are not read. A union would let a stale `testing.md` keep an AC covered
173
+ // after the template-declared artifact had dropped the claim — coverage no current
174
+ // artifact asserts. When a later source also exists, a warning names it as ignored so
175
+ // the situation is visible rather than silent.
103
176
  let blockEntries = [];
104
- try {
105
- const block = parseCoverageBlock(readFileSync(join(instanceDir, 'testing.md'), 'utf8'));
106
- blockEntries = block.entries;
107
- warnings.push(...block.warnings);
108
- }
109
- catch {
110
- // No testing.md yet — scan-only coverage.
177
+ if (authoritative) {
178
+ try {
179
+ const block = parseCoverageBlock(readFileSync(join(instanceDir, authoritative), 'utf8'));
180
+ blockEntries = block.entries;
181
+ warnings.push(...block.warnings);
182
+ }
183
+ catch {
184
+ // Unreadable despite existing — scan-only coverage.
185
+ }
186
+ for (const ignored of sources) {
187
+ if (ignored === authoritative)
188
+ continue;
189
+ if (!existsSync(join(instanceDir, ignored)))
190
+ continue;
191
+ const block = parseCoverageBlock(readFileSync(join(instanceDir, ignored), 'utf8'));
192
+ if (block.entries.length > 0) {
193
+ warnings.push(`ac-coverage block in "${ignored}" ignored: "${authoritative}" is authoritative ` +
194
+ `for this template (${block.entries.length} ${block.entries.length === 1 ? 'entry' : 'entries'} not counted)`);
195
+ }
196
+ }
111
197
  }
112
198
  const matrix = buildMatrix({
113
199
  instance: instanceName,
@@ -1 +1 @@
1
- {"version":3,"file":"gate-criterion.js","sourceRoot":"","sources":["../../src/traceability/gate-criterion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate-criterion.js","sourceRoot":"","sources":["../../src/traceability/gate-criterion.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.10.1",
3
+ "version": "1.10.5",
4
4
  "description": "AI Development Lifecycle Framework — structured lifecycle guidance for AI coding agents across platforms",
5
5
  "type": "module",
6
6
  "main": "dist/cli.js",
@@ -24,7 +24,7 @@
24
24
  "commander": "15.0.0",
25
25
  "picomatch": "4.0.5",
26
26
  "yaml": "2.9.0",
27
- "@rasensio/aidlc-content": "1.10.1"
27
+ "@rasensio/aidlc-content": "1.10.5"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/node": "22.15.32",