persona-harness 0.3.2-alpha.0 → 0.3.2-alpha.1

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.
package/CHANGELOG.md CHANGED
@@ -12,6 +12,17 @@ This project uses npm prerelease versions for tester-facing alpha builds. During
12
12
 
13
13
  ### Known Gaps
14
14
 
15
+ ## [0.3.2-alpha.1] - 2026-06-22
16
+
17
+ ### Fixed
18
+
19
+ - Fixed README read coverage parsing so `ph workflow check` and `ph workflow finish implement` accept ranges recorded under a `## README ranges read` heading, not only the older `- README ranges read:` field shape.
20
+
21
+ ### Notes
22
+
23
+ - `0.3.2-alpha.0` was published, but fresh install smoke found this parser gap before external tester handoff.
24
+ - This hotfix keeps the same Java/Spring backend MVP scope and only patches the workflow evidence parser.
25
+
15
26
  ## [0.3.2-alpha.0] - 2026-06-22
16
27
 
17
28
  ### Added
@@ -39,20 +39,32 @@ const RAW_FINAL_VERIFICATION_PATTERN = /(?:raw shell|직접\s*썼|직접\s*사
39
39
  const RAW_WITHOUT_BEARSHELL_PATTERN = /(?:raw shell|직접\s*썼|직접\s*사용|raw\s+command)[^\n]*(?:bearshell)[^\n]*(?:not provided|not used|없|않|못|미사용|제공되지)/i;
40
40
  const FINAL_VERIFICATION_RERUN_PATTERN = /(?:final verification|최종\s*검증)[^\n]*(?:rerun|re-run|다시\s*실행|재실행|다시\s*검증)[^\n]*(?:bearshell|npx\s+ph\s+bearshell)|(?:final verification|최종\s*검증)[^\n]*(?:bearshell|npx\s+ph\s+bearshell)[^\n]*(?:rerun|re-run|다시\s*실행|재실행|다시\s*검증)|(?:bearshell|npx\s+ph\s+bearshell)[^\n]*(?:rerun|re-run|다시\s*실행|재실행|다시\s*검증)[^\n]*(?:final verification|최종\s*검증)/i;
41
41
  const README_RANGES_FIELD_PATTERN = /^-\s*README ranges read:\s*(.*)$/i;
42
+ const README_RANGES_HEADING_PATTERN = /^##+\s*README ranges read:?\s*$/i;
42
43
  const READ_COVERAGE_STOP_PATTERN = /^-\s*(?:Plan read method|Plan ranges read|Unread ranges|Read evidence notes):/i;
43
44
  const RANGE_COVERAGE_PATTERN = /\b\d+\s*[-–]\s*\d+\b|\ball\b|\bcomplete\b|전체|끝까지|완독/i;
44
45
  function hasReadmeRangeCoverage(reportText) {
45
46
  const lines = reportText.split(/\r?\n/);
46
47
  const fieldIndex = lines.findIndex((line) => README_RANGES_FIELD_PATTERN.test(line));
47
- if (fieldIndex === -1) {
48
- return false;
48
+ if (fieldIndex !== -1) {
49
+ const fieldMatch = README_RANGES_FIELD_PATTERN.exec(lines[fieldIndex]);
50
+ if (fieldMatch?.[1] !== undefined && RANGE_COVERAGE_PATTERN.test(fieldMatch[1])) {
51
+ return true;
52
+ }
53
+ for (const line of lines.slice(fieldIndex + 1)) {
54
+ if (/^##\s+/.test(line) || READ_COVERAGE_STOP_PATTERN.test(line)) {
55
+ return false;
56
+ }
57
+ if (RANGE_COVERAGE_PATTERN.test(line)) {
58
+ return true;
59
+ }
60
+ }
49
61
  }
50
- const fieldMatch = README_RANGES_FIELD_PATTERN.exec(lines[fieldIndex]);
51
- if (fieldMatch?.[1] !== undefined && RANGE_COVERAGE_PATTERN.test(fieldMatch[1])) {
52
- return true;
62
+ const headingIndex = lines.findIndex((line) => README_RANGES_HEADING_PATTERN.test(line));
63
+ if (headingIndex === -1) {
64
+ return false;
53
65
  }
54
- for (const line of lines.slice(fieldIndex + 1)) {
55
- if (/^##\s+/.test(line) || READ_COVERAGE_STOP_PATTERN.test(line)) {
66
+ for (const line of lines.slice(headingIndex + 1)) {
67
+ if (/^##\s+/.test(line)) {
56
68
  return false;
57
69
  }
58
70
  if (RANGE_COVERAGE_PATTERN.test(line)) {
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-status.js","sourceRoot":"","sources":["../../src/cli/workflow-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACzE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,OAAO,MAAM,cAAc,CAAA;AAkBlC,MAAM,SAAS,GAAG,2BAA2B,CAAA;AAC7C,MAAM,0BAA0B,GAAG,4CAA4C,CAAA;AAC/E,MAAM,kBAAkB,GAAG,oCAAoC,CAAA;AAC/D,MAAM,YAAY,GAAG,mBAAmB,CAAA;AACxC,MAAM,WAAW,GAAG,WAAW,CAAA;AAE/B,SAAS,cAAc,CAAC,QAAgB;IACtC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;IACtE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,SAAS,CAAA;AACxC,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;QAChC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAClB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,SAA4B;IACrD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC1H,CAAC;AAED,MAAM,iBAAiB,GAAG,yCAAyC,CAAA;AACnE,MAAM,yBAAyB,GAAG,8FAA8F,CAAA;AAChI,MAAM,0BAA0B,GAAG,kGAAkG,CAAA;AACrI,MAAM,8BAA8B,GAAG,gKAAgK,CAAA;AACvM,MAAM,6BAA6B,GAAG,8GAA8G,CAAA;AACpJ,MAAM,gCAAgC,GAAG,qVAAqV,CAAA;AAK9X,MAAM,2BAA2B,GAAG,mCAAmC,CAAA;AACvE,MAAM,0BAA0B,GAAG,gFAAgF,CAAA;AACnH,MAAM,sBAAsB,GAAG,sDAAsD,CAAA;AAErF,SAAS,sBAAsB,CAAC,UAAkB;IAChD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACvC,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACpF,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,UAAU,GAAG,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;IACtE,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;QAC/C,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,YAAY,CAAC,UAAkB,EAAE,oBAA4B;IACpE,IAAI,oBAAoB,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO;YACL,YAAY,EAAE,mDAAmD;YACjE,oBAAoB,EAAE,KAAK;YAC3B,mBAAmB,EAAE,MAAM;SAC5B,CAAA;IACH,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;QAC/C,OAAO;YACL,YAAY,EAAE,gDAAgD;YAC9D,oBAAoB,EAAE,KAAK;YAC3B,mBAAmB,EAAE,MAAM;SAC5B,CAAA;IACH,CAAC;IAED,MAAM,wBAAwB,GAAG,IAAI,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAA;IAC7E,MAAM,UAAU,GAAG,UAAU,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7G,IAAI,sBAAsB,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,OAAO;YACL,YAAY,EAAE,wBAAwB;YACtC,oBAAoB,EAAE,KAAK;YAC3B,mBAAmB,EAAE,MAAM;SAC5B,CAAA;IACH,CAAC;IACD,OAAO;QACL,YAAY,EAAE,kDAAkD;QAChE,oBAAoB,EAAE,IAAI;QAC1B,mBAAmB,EAAE,MAAM;KAC5B,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB,EAAE,oBAA4B,EAAE,YAAoB;IAC/F,IAAI,oBAAoB,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO;YACL,iBAAiB,EAAE,mDAAmD;YACtE,yBAAyB,EAAE,KAAK;YAChC,wBAAwB,EAAE,MAAM;SACjC,CAAA;IACH,CAAC;IACD,MAAM,UAAU,GAAG,iBAAiB,CAAC;QACnC,IAAI,CAAC,UAAU,EAAE,0BAA0B,CAAC;QAC5C,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC;KACrC,CAAC,CAAA;IACF,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IAC5D,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACtD,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACrE,MAAM,oBAAoB,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5G,MAAM,sBAAsB,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACrE,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CACzF,CAAA;IACD,MAAM,uBAAuB,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACtE,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC;WACzC,CACD,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC;eACtC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACjH,CACF,IAAI,CAAC,sBAAsB,IAAI,oBAAoB,CAAC,CAAA;IACrD,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO;YACL,iBAAiB,EAAE,4FAA4F;YAC/G,yBAAyB,EAAE,IAAI;YAC/B,wBAAwB,EAAE,MAAM;SACjC,CAAA;IACH,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG;YACf,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE,CAAA;QACD,MAAM,KAAK,GAAG;YACZ,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAA;QACD,MAAM,OAAO,GAAG;YACd,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,OAAO,EAAE,CAAC;YACnD,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC;SACxC,CAAA;QACD,OAAO;YACL,iBAAiB,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB;YAC1G,yBAAyB,EAAE,KAAK;YAChC,wBAAwB,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;SAChE,CAAA;IACH,CAAC;IACD,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;YACL,iBAAiB,EAAE,uFAAuF;YAC1G,yBAAyB,EAAE,IAAI;YAC/B,wBAAwB,EAAE,MAAM;SACjC,CAAA;IACH,CAAC;IACD,OAAO;QACL,iBAAiB,EAAE,2CAA2C;QAC9D,yBAAyB,EAAE,KAAK;QAChC,wBAAwB,EAAE,MAAM;KACjC,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,OAAwD;IAC1E,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,mBAAmB,CAAA;IAC5B,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,wEAAwE,CAAA;IACjF,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,+HAA+H,CAAA;IACxI,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,iEAAiE,CAAA;IAC1E,CAAC;IACD,IAAI,OAAO,CAAC,yBAAyB,EAAE,CAAC;QACtC,OAAO,qDAAqD,CAAA;IAC9D,CAAC;IACD,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACjC,OAAO,2EAA2E,CAAA;IACpF,CAAC;IACD,IAAI,OAAO,CAAC,wBAAwB,KAAK,MAAM,EAAE,CAAC;QAChD,OAAO,sEAAsE,CAAA;IAC/E,CAAC;IACD,OAAO,gEAAgE,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,eAAwB;IACzD,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAC5D,MAAM,OAAO,GAAG;QACd,UAAU;QACV,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACjD,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC;QAC5E,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAC5D,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KACtE,CAAA;IACV,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IACjE,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACrF,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IAChE,MAAM,OAAO,GACX,OAAO,CAAC,IAAI,KAAK,UAAU;WACxB,OAAO,CAAC,cAAc,KAAK,QAAQ;WACnC,OAAO,CAAC,MAAM,KAAK,QAAQ;WAC3B,QAAQ,CAAC,mBAAmB,KAAK,MAAM;WACvC,OAAO,CAAC,wBAAwB,KAAK,MAAM;QAC5C,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,MAAM,CAAA;IACZ,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,OAAO;QACL,gCAAgC;QAChC,EAAE;QACF,oBAAoB,OAAO,CAAC,OAAO,EAAE;QACrC,YAAY,OAAO,CAAC,UAAU,EAAE;QAChC,EAAE;QACF,YAAY;QACZ,gCAAgC,OAAO,CAAC,IAAI,EAAE;QAC9C,iDAAiD,OAAO,CAAC,cAAc,EAAE;QACzE,yCAAyC,OAAO,CAAC,MAAM,EAAE;QACzD,wBAAwB,OAAO,CAAC,QAAQ,EAAE;QAC1C,oBAAoB,OAAO,CAAC,YAAY,EAAE;QAC1C,yBAAyB,OAAO,CAAC,iBAAiB,EAAE;QACpD,EAAE;QACF,SAAS,OAAO,CAAC,IAAI,EAAE;QACvB,EAAE;QACF,QAAQ;QACR,+BAA+B;QAC/B,mDAAmD;KACpD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"workflow-status.js","sourceRoot":"","sources":["../../src/cli/workflow-status.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ Use this package for repeatable release operations and release note drafting.
10
10
  - [v0.3.0-alpha.3 release notes](v0.3.0-alpha.3-release-notes.md)
11
11
  - [v0.3.1-alpha.0 release notes](v0.3.1-alpha.0-release-notes.md)
12
12
  - [v0.3.2-alpha.0 release notes](v0.3.2-alpha.0-release-notes.md)
13
+ - [v0.3.2-alpha.1 release notes](v0.3.2-alpha.1-release-notes.md)
13
14
 
14
15
  Release automation lives in `.github/workflows/release.yml`.
15
16
 
@@ -3,14 +3,14 @@
3
3
  ## Candidate
4
4
 
5
5
  ```text
6
- persona-harness@0.3.2-alpha.0
6
+ persona-harness@0.3.2-alpha.1
7
7
  dist-tag: alpha
8
8
  date: 2026-06-22
9
9
  ```
10
10
 
11
11
  ## Release Intent
12
12
 
13
- This candidate reduces short-TUI workflow drift. The main user-visible change is that AI agents can run one command, `npx ph workflow implement`, to receive the implementation rail, README chunk-read instructions, report lifecycle, and final finish gate.
13
+ This candidate is a hotfix for `0.3.2-alpha.0`. It keeps the single implementation rail and fixes README read coverage parsing after fresh install smoke showed that `## README ranges read` heading-style reports were not accepted.
14
14
 
15
15
  ## Included Changes
16
16
 
@@ -18,6 +18,7 @@ This candidate reduces short-TUI workflow drift. The main user-visible change is
18
18
  - README chunk-read instructions using `ph bearshell` and 220-line ranges.
19
19
  - README read coverage diagnostics in `ph workflow check`.
20
20
  - `ph workflow finish implement` failure when `README.md` exists but `README ranges read` is empty.
21
+ - README range coverage recognition for heading-style implementation reports.
21
22
  - Injection, prompt, next/resume, root README, and Korean README guidance updated to prefer `npx ph workflow implement`.
22
23
  - Direct `.persona/rules` read remains a non-blocking note; raw final verification remains blocking.
23
24
 
@@ -31,8 +32,9 @@ This candidate reduces short-TUI workflow drift. The main user-visible change is
31
32
  | `npm run report:rules` | pass: PersonaHarnessRule diagnostics PASS, 0 findings |
32
33
  | `npm run check:scope:strict` | pass: MVP scope diagnostics PASS, 0 findings, STRICT mode |
33
34
  | `npm run check:injection-value` | pass: current window 3/3, expected decision `continue-java-mvp` |
34
- | `npm pack --dry-run` | pass: `persona-harness-0.3.2-alpha.0.tgz`, 220 files, 225.5 kB package size, 864.1 kB unpacked size |
35
- | `npm publish --dry-run --tag alpha` | pass: dry-run only for `persona-harness@0.3.2-alpha.0` |
35
+ | `npm test -- tests/persona-harness-workflow-check.test.ts` | pass: 20 tests, includes heading-style README range coverage regression |
36
+ | `npm pack --dry-run` | pass after sequential build: `persona-harness-0.3.2-alpha.1.tgz`, 221 files, 226.5 kB package size, 868.4 kB unpacked size |
37
+ | `npm publish --dry-run --tag alpha` | pass: dry-run only for `persona-harness@0.3.2-alpha.1` |
36
38
 
37
39
  ## Manual CLI Smoke
38
40
 
@@ -72,6 +74,6 @@ Expected:
72
74
 
73
75
  ## Pre-Publish Release Decision
74
76
 
75
- Proceed with `0.3.2-alpha.0`.
77
+ Proceed with `0.3.2-alpha.1`.
76
78
 
77
79
  After publish, run a fresh installed-package smoke and then hand the alpha to external testers for short TUI request behavior.
@@ -0,0 +1,82 @@
1
+ # v0.3.2-alpha.1 Release Notes
2
+
3
+ ## Version
4
+
5
+ `v0.3.2-alpha.1`
6
+
7
+ ## Dist Tag
8
+
9
+ `alpha`
10
+
11
+ During the alpha pilot, `latest` is also synchronized to the current alpha build to avoid stale default installs. This is not a stable support claim.
12
+
13
+ ## npm Package
14
+
15
+ `persona-harness@0.3.2-alpha.1`
16
+
17
+ ## Summary
18
+
19
+ This hotfix keeps the `v0.3.2-alpha.0` workflow implementation rail and fixes the README read coverage parser found during published-package smoke.
20
+
21
+ ## What Changed
22
+
23
+ - `ph workflow check` now accepts README ranges recorded under a heading:
24
+ - `## README ranges read`
25
+ - `- 1-220`
26
+ - `ph workflow finish implement` now passes for the same heading-style report when other workflow evidence is present.
27
+ - Existing `- README ranges read: 1-220` and indented bullet field formats still work.
28
+
29
+ ## Why
30
+
31
+ The published `0.3.2-alpha.0` package installed correctly, but fresh smoke showed a mismatch between AI-natural report writing and the parser:
32
+
33
+ - AI-facing rail said to record `README ranges read`.
34
+ - An implementation report with `## README ranges read` and `- 1-220` looked reasonable.
35
+ - The parser only accepted the stricter `- README ranges read:` field shape.
36
+
37
+ ## Verification
38
+
39
+ Pre-publish commands:
40
+
41
+ ```bash
42
+ npm test -- tests/persona-harness-workflow-check.test.ts
43
+ npm test
44
+ npm run typecheck
45
+ npm run build
46
+ npm run report:rules
47
+ npm run check:scope:strict
48
+ npm run check:injection-value
49
+ npm pack --dry-run
50
+ npm publish --dry-run --tag alpha
51
+ ```
52
+
53
+ Current result:
54
+
55
+ - Targeted regression test: passed, 20 workflow-check tests.
56
+ - `npm test`: passed, 36 test files and 225 tests.
57
+ - `npm run typecheck`: passed.
58
+ - `npm run build`: passed.
59
+ - `npm run report:rules`: passed, PersonaHarnessRule diagnostics PASS with 0 findings.
60
+ - `npm run check:scope:strict`: passed, MVP scope diagnostics PASS with 0 findings in STRICT mode.
61
+ - `npm run check:injection-value`: passed, current window 3/3 with expected decision `continue-java-mvp`.
62
+ - `npm pack --dry-run`: passed after sequential build, 221 files, 226.5 kB package size, 868.4 kB unpacked size.
63
+ - `npm publish --dry-run --tag alpha`: passed for `persona-harness@0.3.2-alpha.1`.
64
+
65
+ ## Supported Scope
66
+
67
+ - Java/Spring backend MVP.
68
+ - AI-facing implementation workflow rail.
69
+ - Report-only workflow diagnostics and evidence gate.
70
+
71
+ ## Not Supported
72
+
73
+ - Generated app product-quality certification.
74
+ - AST/linter/build rule enforcement.
75
+ - Frontend, infra, or desktop productization.
76
+ - Full Test -> Feat -> Refactor workflow.
77
+
78
+ ## Next
79
+
80
+ - Publish `persona-harness@0.3.2-alpha.1`.
81
+ - Run fresh install smoke with `persona-harness@alpha`.
82
+ - Hand the fixed alpha to external testers.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "persona-harness",
3
- "version": "0.3.2-alpha.0",
3
+ "version": "0.3.2-alpha.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "OpenCode plugin for Java/Spring backend Clean Code guidance injection and local/tarball Persona Harness verification.",