ma-agents 3.15.2 → 3.15.4

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.
@@ -37,7 +37,7 @@
37
37
  "name": "ma-skills",
38
38
  "source": "./",
39
39
  "description": "ma-agents extension module providing enterprise SDLC personas and operational workflow skills.",
40
- "version": "3.15.2",
40
+ "version": "3.15.4",
41
41
  "author": {
42
42
  "name": "Alon Mayaffit"
43
43
  },
@@ -2106,7 +2106,9 @@ function classifyFile(fileId) {
2106
2106
  if (/^\d+-\d+-[a-z0-9][a-z0-9-]*\.md$/.test(basename4)) return "story";
2107
2107
  if (/product-brief/.test(basename4)) return "product-brief";
2108
2108
  if (lowerFileId.includes("/briefs/")) return "brief";
2109
- if (/prd/.test(basename4) || /product-requirements/.test(basename4)) return "prd";
2109
+ if ((/prd/.test(basename4) || /product-requirements/.test(basename4)) && !/(validation|report|checklist|review|cohesion|assessment)/.test(basename4)) {
2110
+ return "prd";
2111
+ }
2110
2112
  if (/architecture/.test(basename4)) return "architecture";
2111
2113
  if (/epic/.test(basename4)) return "epics";
2112
2114
  if (basename4.endsWith(".md") || basename4.endsWith(".yaml") || basename4.endsWith(".yml")) {
@@ -14292,7 +14294,7 @@ function renderOrphanPage(manifest, outDir) {
14292
14294
  }
14293
14295
 
14294
14296
  // lib/knowledge-atlas/src/generate.ts
14295
- var MANIFEST_VERSION = 2;
14297
+ var MANIFEST_VERSION = 3;
14296
14298
  function normPath(p) {
14297
14299
  return path11.resolve(p).replace(/[\\/]+$/, "");
14298
14300
  }
@@ -51,8 +51,16 @@ import { renderOrphanPage } from './render/orphan.js';
51
51
  * pre-29.8 engine) has NO such nodes/edges cached; a version bump forces the
52
52
  * one-time full re-extraction that materializes them (verified on Prophesee:
53
53
  * without this, an in-place re-run kept 0 edges).
54
+ *
55
+ * 3.15.3 bumps 2 → 3: `classifyFile()` no longer types `prd-validation-report.md`
56
+ * (and other prd-derivative reports) as 'prd'. The DocType is baked into each
57
+ * cached FileRecord, and the incremental diff reuses unchanged records verbatim —
58
+ * so on an in-place re-run those files kept their old 'prd' type and continued
59
+ * winning the requirement def-site election. Bumping the version forces the
60
+ * one-time full re-extraction that re-classifies them (verified on Prophesys:
61
+ * without this, FR links kept pointing at prd-validation-report.html).
54
62
  */
55
- const MANIFEST_VERSION = 2;
63
+ const MANIFEST_VERSION = 3;
56
64
 
57
65
  /**
58
66
  * Path helpers for the Story 29.7 purge safety gates (MUST-FIX #1).
@@ -126,8 +126,20 @@ export function classifyFile(fileId: string): DocType {
126
126
  // e.g. briefs/epic-overview.md must be 'brief', not 'epics'.
127
127
  if (lowerFileId.includes('/briefs/')) return 'brief';
128
128
 
129
- // PRD: filename contains 'prd' or matches product-requirements
130
- if (/prd/.test(basename) || /product-requirements/.test(basename)) return 'prd';
129
+ // PRD: filename contains 'prd' or matches product-requirements — but NOT a
130
+ // derivative document *about* the PRD (validation report, checklist, review,
131
+ // cohesion/assessment report). Those score or critique the requirements; the
132
+ // requirements themselves live in the PRD proper. Classifying e.g.
133
+ // `prd-validation-report.md` as 'prd' made it a rival definition-site, so an
134
+ // FR the PRD actually defines could anchor in the report instead — the real
135
+ // Prophesee bug where FR1/FR3/FR21 links pointed at prd-validation-report.html
136
+ // rather than the PRD. Let those fall through to 'report'.
137
+ if (
138
+ (/prd/.test(basename) || /product-requirements/.test(basename)) &&
139
+ !/(validation|report|checklist|review|cohesion|assessment)/.test(basename)
140
+ ) {
141
+ return 'prd';
142
+ }
131
143
 
132
144
  // Architecture document
133
145
  if (/architecture/.test(basename)) return 'architecture';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ma-agents",
3
- "version": "3.15.2",
3
+ "version": "3.15.4",
4
4
  "description": "NPX tool to install skills for AI coding agents (Claude Code, Gemini, Copilot, Kilocode, Cline, Cursor, Roo Code)",
5
5
  "main": "index.js",
6
6
  "bin": {