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 +11 -0
- package/dist/cli/workflow-status.js +19 -7
- package/dist/cli/workflow-status.js.map +1 -1
- package/docs/current/release/README.md +1 -0
- package/docs/current/release/next-version-readiness.md +7 -5
- package/docs/current/release/v0.3.2-alpha.1-release-notes.md +82 -0
- package/package.json +1 -1
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
|
|
48
|
-
|
|
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
|
|
51
|
-
if (
|
|
52
|
-
return
|
|
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(
|
|
55
|
-
if (/^##\s+/.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,
|
|
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.
|
|
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
|
|
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
|
|
35
|
-
| `npm
|
|
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.
|
|
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.
|
|
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.",
|