@generacy-ai/cockpit 0.5.0 → 0.6.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-epic-body.d.ts","sourceRoot":"","sources":["../../src/resolver/parse-epic-body.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,cAAc,EAAe,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-epic-body.d.ts","sourceRoot":"","sources":["../../src/resolver/parse-epic-body.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,cAAc,EAAe,MAAM,YAAY,CAAC;AAiDxE;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAoH1D"}
|
|
@@ -3,6 +3,11 @@ import { parseRef } from './ref-shapes.js';
|
|
|
3
3
|
const HEADING_L3_RE = /^###\s+(.+?)\s*$/;
|
|
4
4
|
const HEADING_L4_PLUS_RE = /^####+\s+/;
|
|
5
5
|
const HEADING_L2_RE = /^##\s+/;
|
|
6
|
+
// #1006 (Q1=C, word-boundaried): trimmed L4+ heading text is "phase-shaped"
|
|
7
|
+
// iff it matches `P\d+\b` OR contains a word-boundaried `phase`. See
|
|
8
|
+
// contracts/parser-behavior.md for matches / non-matches. Load-bearing:
|
|
9
|
+
// `\bphase\b` (not `phase`) so `#### Rephrase …` does not fire the detector.
|
|
10
|
+
const PHASE_SHAPED_H4_RE = /^\s*(?:P\d+\b|.*\bphase\b)/i;
|
|
6
11
|
// Case-insensitive first-token match: closes current phase (parses like L4+),
|
|
7
12
|
// and marks subsequent refs as adhoc rather than dropped.
|
|
8
13
|
const AD_HOC_HEADING_RE = /^##\s+ad-hoc\s*$/i;
|
|
@@ -59,11 +64,16 @@ export function parseEpicBody(body) {
|
|
|
59
64
|
const adhocSeen = new Set();
|
|
60
65
|
let current = null;
|
|
61
66
|
let currentSeen = new Set();
|
|
67
|
+
let sawPhaseShapedH4 = false;
|
|
62
68
|
const lines = body.split(/\r?\n/);
|
|
63
69
|
for (let i = 0; i < lines.length; i++) {
|
|
64
70
|
const line = lines[i];
|
|
65
71
|
const lineNumber = i + 1;
|
|
66
72
|
if (HEADING_L4_PLUS_RE.test(line)) {
|
|
73
|
+
const text = line.replace(/^####+\s+/, '').trim();
|
|
74
|
+
if (PHASE_SHAPED_H4_RE.test(text)) {
|
|
75
|
+
sawPhaseShapedH4 = true;
|
|
76
|
+
}
|
|
67
77
|
current = null;
|
|
68
78
|
currentSeen = new Set();
|
|
69
79
|
continue;
|
|
@@ -130,6 +140,18 @@ export function parseEpicBody(body) {
|
|
|
130
140
|
}
|
|
131
141
|
}
|
|
132
142
|
const allRefs = sortRefs(globalRefs.values());
|
|
143
|
+
// #1006 (FR-009): loud signal for LLM-authored epics whose phase headers
|
|
144
|
+
// dropped an H-level. All four conditions required — see
|
|
145
|
+
// contracts/parser-behavior.md §Loud-signal gating rule. The marker
|
|
146
|
+
// substring in the pushed string below is contractual (grep-audited per
|
|
147
|
+
// SC-006); the surrounding sentence is free to evolve.
|
|
148
|
+
if (phases.length > 0 &&
|
|
149
|
+
phases.every((p) => p.refs.length === 0) &&
|
|
150
|
+
adhocRefs.length > 0 &&
|
|
151
|
+
sawPhaseShapedH4) {
|
|
152
|
+
const n = adhocRefs.length;
|
|
153
|
+
warnings.push(`cockpit: ${n} task ref${n === 1 ? '' : 's'} fell to ad-hoc; phase headers must be '###', found '####'`);
|
|
154
|
+
}
|
|
133
155
|
return { phases, adhocRefs, allRefs, warnings };
|
|
134
156
|
}
|
|
135
157
|
//# sourceMappingURL=parse-epic-body.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-epic-body.js","sourceRoot":"","sources":["../../src/resolver/parse-epic-body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,MAAM,aAAa,GAAG,kBAAkB,CAAC;AACzC,MAAM,kBAAkB,GAAG,WAAW,CAAC;AACvC,MAAM,aAAa,GAAG,QAAQ,CAAC;AAC/B,8EAA8E;AAC9E,0DAA0D;AAC1D,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAC9C,MAAM,YAAY,GAAG,+BAA+B,CAAC;AACrD,MAAM,aAAa,GACjB,uJAAuJ,CAAC;AAE1J,gFAAgF;AAChF,8EAA8E;AAC9E,8EAA8E;AAC9E,6DAA6D;AAC7D,0CAA0C;AAC1C,kBAAkB;AAClB,kCAAkC;AAClC,sCAAsC;AACtC,MAAM,cAAc,GAAG,QAAQ,CAAC;AAChC,MAAM,WAAW,GAAG,cAAc,CAAC;AACnC,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,0DAA0D,CAAC;IACpE,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,oDAAoD,CAAC;IAC9D,CAAC;IACD,OAAO,gDAAgD,CAAC;AAC1D,CAAC;AAED,SAAS,QAAQ,CAAC,IAAwB;IACxC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7B,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,GAAa;IAC7B,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,IAAI,OAAO,GAAuB,IAAI,CAAC;IACvC,IAAI,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-epic-body.js","sourceRoot":"","sources":["../../src/resolver/parse-epic-body.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED