ma-agents 3.15.2 → 3.15.3

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.3",
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")) {
@@ -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.3",
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": {