persona-harness 0.3.8-alpha.2 → 0.3.8-alpha.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.
Files changed (61) hide show
  1. package/.persona/rules/backend/gradle-bootstrap.md +2 -2
  2. package/.persona/rules/backend/java-backend-bootstrap.md +1 -1
  3. package/CHANGELOG.md +35 -0
  4. package/README.ja.md +3 -4
  5. package/README.ko.md +13 -9
  6. package/README.md +17 -12
  7. package/README.zh-cn.md +3 -4
  8. package/dist/cli/backend-shape-report-status.d.ts +1 -0
  9. package/dist/cli/backend-shape-report-status.js +20 -0
  10. package/dist/cli/backend-shape-report-status.js.map +1 -0
  11. package/dist/cli/backend-shape.d.ts +1 -0
  12. package/dist/cli/backend-shape.js +77 -3
  13. package/dist/cli/backend-shape.js.map +1 -1
  14. package/dist/cli/bearshell.js +6 -0
  15. package/dist/cli/bearshell.js.map +1 -1
  16. package/dist/cli/bootstrap.js +15 -3
  17. package/dist/cli/bootstrap.js.map +1 -1
  18. package/dist/cli/cli-usage.js +2 -2
  19. package/dist/cli/cli-usage.js.map +1 -1
  20. package/dist/cli/doctor-command-detection.d.ts +12 -0
  21. package/dist/cli/doctor-command-detection.js +110 -0
  22. package/dist/cli/doctor-command-detection.js.map +1 -0
  23. package/dist/cli/doctor.d.ts +5 -0
  24. package/dist/cli/doctor.js +26 -26
  25. package/dist/cli/doctor.js.map +1 -1
  26. package/dist/cli/index.js +4 -41
  27. package/dist/cli/index.js.map +1 -1
  28. package/dist/cli/init-output.js +11 -9
  29. package/dist/cli/init-output.js.map +1 -1
  30. package/dist/cli/java-role-read-coverage.d.ts +7 -0
  31. package/dist/cli/java-role-read-coverage.js +152 -0
  32. package/dist/cli/java-role-read-coverage.js.map +1 -0
  33. package/dist/cli/plan-prompts.js +10 -2
  34. package/dist/cli/plan-prompts.js.map +1 -1
  35. package/dist/cli/plan.js +5 -1
  36. package/dist/cli/plan.js.map +1 -1
  37. package/dist/cli/stack-alignment-profile.d.ts +9 -0
  38. package/dist/cli/stack-alignment-profile.js +79 -0
  39. package/dist/cli/stack-alignment-profile.js.map +1 -0
  40. package/dist/cli/stack-alignment.d.ts +8 -0
  41. package/dist/cli/stack-alignment.js +164 -0
  42. package/dist/cli/stack-alignment.js.map +1 -0
  43. package/dist/cli/workflow-command.js +11 -0
  44. package/dist/cli/workflow-command.js.map +1 -1
  45. package/dist/cli/workflow-finish-reasons.d.ts +3 -0
  46. package/dist/cli/workflow-finish-reasons.js +28 -0
  47. package/dist/cli/workflow-finish-reasons.js.map +1 -0
  48. package/dist/cli/workflow-output.js +16 -9
  49. package/dist/cli/workflow-output.js.map +1 -1
  50. package/dist/cli/workflow-status.d.ts +3 -0
  51. package/dist/cli/workflow-status.js +14 -43
  52. package/dist/cli/workflow-status.js.map +1 -1
  53. package/docs/current/persona-harness-detailed-usage.md +16 -13
  54. package/docs/current/release/v0.3.2-alpha.2-release-notes.md +1 -1
  55. package/docs/current/release/v0.3.3-alpha.0-release-notes.md +1 -0
  56. package/docs/current/release/v0.3.4-alpha.0-release-notes.md +1 -0
  57. package/docs/current/release/v0.3.5-alpha.0-release-notes.md +5 -5
  58. package/docs/current/release/v0.3.8-alpha.3-release-notes.md +106 -0
  59. package/package.json +1 -1
  60. package/packages/shared-skills/skills/programming/references/java/README.md +3 -2
  61. package/packages/shared-skills/skills/programming/references/java/technology-seams.md +2 -1
@@ -18,9 +18,9 @@ enforcement: inject_only
18
18
 
19
19
  # Gradle Bootstrap
20
20
 
21
- - Gradle build file에서는 Java/Spring Boot backend 기준을 유지하고 Maven `pom.xml`을 생성하지 않는다.
21
+ - Gradle build file에서는 Java/Spring Boot backend 기준을 유지하고 Maven `pom.xml`을 생성하지 않는다. Hard rule: `gradle test`, `gradle build`, `bootRun` 결과를 Node/JS/Python/shell shim이나 `tools/gradle-shim.js` 같은 fake Gradle script로 흉내 내지 않는다. 실제 Gradle 실행이 불가능하면 성공처럼 말하지 말고 Gradle 실행 환경 문제로 보고한다.
22
22
  - `settings.gradle` 또는 `settings.gradle.kts`는 하나의 Spring Boot application root project 이름을 명확히 둔다.
23
- - `build.gradle` 또는 `build.gradle.kts`는 Spring Boot backend를 만들기 위한 최소 plugin/dependency/source compatibility만 다루며, 호환되는 Spring Boot plugin / Gradle launcher or wrapper / JDK toolchain 조합을 먼저 선택하고 그 선택을 build file에 명시한다. 가능하면 Gradle wrapper(`gradlew`, `gradlew.bat`, `gradle/wrapper/`)를 포함해 `./gradlew test`, `./gradlew build`, `./gradlew bootRun`으로 검증할 수 있게 하며, JUnit Platform 실행에는 `testRuntimeOnly "org.junit.platform:junit-platform-launcher"` 또는 동등한 runtime launcher를 포함한다.
23
+ - Default guidance: `build.gradle` 또는 `build.gradle.kts`는 Spring Boot backend를 만들기 위한 최소 plugin/dependency/source compatibility만 다루며, 호환되는 Spring Boot plugin / Gradle launcher or wrapper / JDK toolchain 조합을 먼저 선택하고 그 선택을 build file에 명시한다. 가능하면 Gradle wrapper(`gradlew`, `gradlew.bat`, `gradle/wrapper/`)를 포함해 `./gradlew test`, `./gradlew build`, `./gradlew bootRun`으로 검증할 수 있게 하며, JUnit Platform 실행에는 `testRuntimeOnly "org.junit.platform:junit-platform-launcher"` 또는 동등한 runtime launcher를 포함한다.
24
24
  - 실행 가능한 Spring Boot app에서는 `bootJar`를 끄지 않는다. `tasks.named("bootJar") { enabled = false }` 또는 동등한 설정은 plain Java library로 명시된 프로젝트가 아니면 사용하지 않는다. `gradle build` 출력에 `:bootJar SKIPPED`가 나오면 실행 가능한 Spring Boot app 검증을 통과한 것으로 기록하지 않는다. `bootJar`가 `CopyProcessingSpec.getDirMode()` 같은 호환성 오류로 실패하면, `bootJar`를 비활성화하지 말고 Spring Boot plugin을 현재 Gradle과 호환되는 line으로 올리거나 Gradle wrapper를 해당 plugin이 지원하는 line으로 고정한다.
25
25
  - 로컬 launcher가 Gradle 9.x이면 Spring Boot 3.3.x 같은 오래된 plugin line을 기본으로 섞지 않는다. 호환 여부가 불명확하면 executable app 기준으로 `gradle test`, `gradle build`, `gradle bootRun`이 모두 통과하는 line을 선택한다.
26
26
  - build 설정은 presentation/application/domain/infrastructure package 구조를 대신하지 않는다.
@@ -14,7 +14,7 @@ enforcement: inject_only
14
14
 
15
15
  # Java Backend Bootstrap
16
16
 
17
- - 0-start 요구사항을 먼저 backend product code shape 계획으로 변환하고 Gradle 기반 Spring Boot backend project로 구현한다. Maven 파일은 생성하지 않는다.
17
+ - 0-start 요구사항을 먼저 backend product code shape 계획으로 변환하고 Gradle 기반 Spring Boot backend project로 구현한다. Maven 파일은 생성하지 않는다. Hard rule: Gradle 없는 환경에서 Node/JS/Python/shell shim 또는 `tools/gradle-shim.js` 같은 fake Gradle script로 `gradle test`, `gradle build`, `bootRun`을 흉내 내지 않는다. 실제 Gradle 실행이 불가능하면 성공처럼 말하지 말고 환경 문제로 보고한다. Default guidance: Gradle project라면 `gradlew`, `gradlew.bat`, `gradle/wrapper/`를 만들거나 실제 Gradle launcher 사용 가능성을 확인한다. Project-choice: Spring/Gradle/JPA/database profile이면 HttpServer/InMemory/Node shim으로 우회하지 말고 실제 Spring Boot/Gradle/JPA 구조를 만들며, DB/JPA/Flyway 선택은 profile 또는 project-choice를 따른다.
18
18
  - 구현 전에 package structure plan을 작성한다. root package 바로 아래에 `global`과 `root/<domain>`을 같은 depth로 두고, `feature/features/module/modules` 같은 wrapper package를 추가하지 않는다.
19
19
  - 도메인 package 내부는 presentation/application/domain/infrastructure 흐름을 기본으로 두고 `root/<domain>/presentation`, `root/<domain>/application`, `root/<domain>/domain`, `root/<domain>/infrastructure`로 배치한다.
20
20
  - `root/<domain>/controller`, `root/<domain>/service`, `root/<domain>/repository`, `root/<domain>/dto` 또는 `book/controller`, `book/service`, `book/repository`, `book/dto/request` 같은 역할명 package로 대체하지 않는다. Controller는 `presentation`, Service는 `application`, Repository interface는 `domain`, Repository 구현체는 `infrastructure`, HTTP DTO는 `presentation/dto`, Command/Result는 `application/dto`에 둔다.
package/CHANGELOG.md CHANGED
@@ -8,6 +8,41 @@ This project uses npm prerelease versions for tester-facing alpha builds. During
8
8
 
9
9
  No unreleased changes yet.
10
10
 
11
+ ## [0.3.8-alpha.3] - 2026-06-25
12
+
13
+ ### Added
14
+
15
+ - Added Windows-aware doctor command detection so `ph doctor` can report OpenCode runtime readiness more reliably on Windows.
16
+ - Added stack-alignment checks for generated backend projects and made `ph workflow finish implement` block on stack mismatch.
17
+ - Added Java role read coverage gating so implementation finish can require generated Controller, Service, Repository, DTO, Domain, and related Java files to have been read.
18
+ - Added backend-shape review reporting to summarize generated backend structure evidence.
19
+ - Added Windows-safe and vendor-safe bearshell/read/search guidance for workflow prompts.
20
+
21
+ ### Changed
22
+
23
+ - Clarified `ph init` as the minimal harness/OpenCode integration step and `ph bootstrap backend` as the backend-ready bootstrap path.
24
+ - Strengthened Java guidance to forbid fake Gradle shims and HTTP-server/CommonJS style workarounds for Java/Spring backend targets.
25
+ - Bounded Windows search guidance to README/project files instead of unsafe recursive vendor scans.
26
+
27
+ ### External Smoke
28
+
29
+ - Windows P0/P1 smoke was partially successful:
30
+ - doctor and runtime readiness passed;
31
+ - init/bootstrap output matched generated artifacts;
32
+ - `profileSummaryInjected` was confirmed;
33
+ - backend-shape report generation was observed;
34
+ - fake Gradle shim, `HttpServer`, and CommonJS workarounds were not observed.
35
+ - OpenCode full finish still timed out/continued with pending work, so full implementation completion and generated product quality are not certified.
36
+ - Windows vendor-safe bearshell search smoke succeeded for README-only `Select-String -Path README.md -Pattern TODO` guidance, output, and command execution; unsafe recursive/vendor search guidance was not observed.
37
+
38
+ ### Verification
39
+
40
+ - `npm test` passed: scope/docs diagnostics PASS, 55 files, 337 tests.
41
+ - `npm run typecheck` passed.
42
+ - `npm run build` passed.
43
+ - `npm pack --dry-run` passed for `persona-harness@0.3.8-alpha.3` with 328 files.
44
+ - `npm run check:docs` passed.
45
+
11
46
  ## [0.3.8-alpha.2] - 2026-06-24
12
47
 
13
48
  ### Added
package/README.ja.md CHANGED
@@ -60,8 +60,7 @@ Model ID は `provider/model` 形式です。例: `openai/gpt-5.4-mini-fast`.
60
60
  ```bash
61
61
  npm install -D persona-harness@alpha
62
62
  npx ph init
63
- npx ph policy init
64
- npx ph plan --auto-accept
63
+ npx ph bootstrap backend
65
64
  ```
66
65
 
67
66
  Persona Harness 自体を開発する場合は local install を使います。
@@ -69,8 +68,7 @@ Persona Harness 自体を開発する場合は local install を使います。
69
68
  ```bash
70
69
  npm install -D /absolute/path/to/persona-harness
71
70
  npx ph init
72
- npx ph policy init
73
- npx ph plan --auto-accept
71
+ npx ph bootstrap backend
74
72
  ```
75
73
 
76
74
  まず OpenCode に plan だけを作らせます。
@@ -126,6 +124,7 @@ opencode run --dir . --model <model> --dangerously-skip-permissions \
126
124
  ## 提供するもの
127
125
 
128
126
  - `ph init`: `.persona/rules`, `.persona/harness.jsonc`, OpenCode plugin config を作成
127
+ - `ph bootstrap backend`: `AGENTS.md`, backend profile, policy overlay, accepted plan, report template を準備
129
128
  - `ph intake --interactive`: backend planning 質問を行い `.persona/project-profile.jsonc` を作成
130
129
  - `ph policy init`: company/personal backend policy overlay を作成
131
130
  - `ph plan`: `blackbear` planning role 用 `.persona/workflow/plan.md` を作成
package/README.ko.md CHANGED
@@ -64,8 +64,7 @@ opencode auth list
64
64
  ```bash
65
65
  npm install -D persona-harness@alpha
66
66
  npx ph init
67
- npx ph policy init
68
- npx ph plan --auto-accept
67
+ npx ph bootstrap backend
69
68
  ```
70
69
 
71
70
  Persona Harness 자체를 개발 중이면 local install을 사용합니다.
@@ -73,10 +72,13 @@ Persona Harness 자체를 개발 중이면 local install을 사용합니다.
73
72
  ```bash
74
73
  npm install -D /absolute/path/to/persona-harness
75
74
  npx ph init
76
- npx ph policy init
77
- npx ph plan --auto-accept
75
+ npx ph bootstrap backend
78
76
  ```
79
77
 
78
+ `npx ph init`은 최소 설치/연동 단계입니다. `.persona/harness.jsonc`, `.persona/rules/`, `.opencode/opencode.json`, `.gitignore`만 준비하고, `AGENTS.md`, `.persona/project-profile.jsonc`, plan/report template은 만들지 않습니다.
79
+
80
+ backend-ready 상태가 필요하면 `npx ph bootstrap backend`를 실행합니다. 이 명령은 `AGENTS.md`, 기본 backend profile, policy overlay, accepted plan, implementation/review report template, harness/OpenCode config 상태를 준비합니다.
81
+
80
82
  초기 설정 이후에는 사용자가 모든 명령어를 외울 필요가 없습니다. 먼저 OpenCode에게 계획만 완성하게 합니다.
81
83
 
82
84
  ```bash
@@ -84,18 +86,19 @@ opencode run --dir . --model <model> --dangerously-skip-permissions \
84
86
  "$(npx ph plan --prompt)"
85
87
  ```
86
88
 
87
- 빠른 alpha smoke에서는 기본 backend profile을 그대로 쓰고 계획을 바로 accepted 상태로 만들 수 있습니다.
89
+ 이미 `npx ph bootstrap backend`를 실행한 빠른 alpha smoke에서는 준비된 backend profile과 accepted plan을 확인할 수 있습니다.
88
90
 
89
91
  ```bash
90
92
  npx ph doctor
91
- npx ph policy init
92
- npx ph plan --auto-accept
93
+ npx ph workflow check
93
94
  ```
94
95
 
95
- 프로젝트 조건을 직접 정하고 싶으면 기본 profile을 인터뷰로 덮어씁니다.
96
+ 프로젝트 조건을 직접 정하고 싶으면 수동 profile 흐름을 사용합니다.
96
97
 
97
98
  ```bash
98
99
  npx ph intake --interactive --force
100
+ # 또는 비대화형 기본 profile만 필요하면:
101
+ npx ph intake --default backend
99
102
  npx ph policy init
100
103
  npx ph plan
101
104
  npx ph plan --accept
@@ -152,7 +155,8 @@ opencode run --dir . --model <model> --dangerously-skip-permissions \
152
155
  ## 제공하는 것
153
156
 
154
157
  - 아래 명령어들은 사용자가 직접 외우는 CLI라기보다, OpenCode/Codex-style 세션에서 AI가 호출하기 쉽게 만든 workflow surface입니다.
155
- - `ph init`: `.persona/rules`, `.persona/harness.jsonc`, OpenCode plugin config 설치 + ready 기본 backend profile 생성
158
+ - `ph init`: `.persona/rules`, `.persona/harness.jsonc`, OpenCode plugin config, `.gitignore` 설치
159
+ - `ph bootstrap backend`: `AGENTS.md`, ready 기본 backend profile, policy overlay, accepted plan, report template, harness/OpenCode config 준비
156
160
  - `ph intake`: 수정 가능한 draft backend profile 생성
157
161
  - `ph intake --default backend`: 대화형 터미널 없이 ready 기본 backend profile 생성
158
162
  - `ph intake --interactive`: backend planning 질문 후 `.persona/project-profile.jsonc` 생성
package/README.md CHANGED
@@ -151,29 +151,34 @@ EOF
151
151
 
152
152
  You can use a different domain. For cleaner feedback, avoid the older `reservation`, `roomescape`, or `book loan` examples when testing the current alpha.
153
153
 
154
- ## 4. Create Intake, Policy, And Plan Files
154
+ ## 4. Choose The Setup Path
155
155
 
156
- `npx ph init` installs the harness, connects the OpenCode plugin, and immediately starts the backend profile interview.
157
- The interview writes `.persona/project-profile.jsonc`; that profile is the planning context used before implementation.
158
- The interview requires an interactive terminal. If an AI/TUI non-TTY shell runs `npx ph init`, the harness installs files but stops before writing a default profile and points the agent to `npx ph bootstrap backend`.
156
+ `npx ph init` is the minimal install and OpenCode integration step. It installs `.persona/harness.jsonc`, `.persona/rules/`, `.opencode/opencode.json`, and `.gitignore` entries, then exits with next-step guidance.
159
157
 
160
- For the normal external tester flow:
158
+ `npx ph init` does not create `AGENTS.md`, `.persona/project-profile.jsonc`, policy overlay files, an accepted plan, or workflow report templates.
159
+
160
+ For the normal backend-ready external tester flow:
161
161
 
162
162
  ```bash
163
163
  npx ph doctor
164
164
  npx ph init
165
- npx ph policy init
166
- npx ph plan --auto-accept
165
+ npx ph bootstrap backend
167
166
  npx ph workflow check
168
167
  ```
169
168
 
170
- If you need a non-interactive fast path for smoke tests, use backend bootstrap:
169
+ `npx ph bootstrap backend` prepares the backend workflow for AI implementation. It fills missing `AGENTS.md`, `.persona/project-profile.jsonc`, policy overlay files, an accepted `.persona/workflow/plan.md`, implementation/review report templates, harness config, and OpenCode config.
170
+
171
+ If you want to choose the profile manually instead of using the backend-ready bootstrap path:
171
172
 
172
173
  ```bash
173
- npx ph bootstrap backend
174
+ npx ph intake --interactive
175
+ # or, without an interactive terminal:
176
+ npx ph intake --default backend
177
+ npx ph policy init
178
+ npx ph plan --auto-accept
174
179
  ```
175
180
 
176
- Use this bootstrap path for AI agent shells where interactive prompts are unreliable. Use the interview path when a human is setting up the project directly in a terminal.
181
+ Use the bootstrap path for AI agent shells where interactive prompts are unreliable. Use the intake path when a human wants to choose project profile answers directly in a terminal.
177
182
 
178
183
  If `.persona/project-profile.jsonc` is missing, draft, malformed, or incomplete, `ph plan` and `ph workflow implement` stop and ask for `ph intake` first. Before implementation, `npx ph workflow check` usually reports `WARN` because implementation and review reports are still templates. That is normal.
179
184
 
@@ -325,11 +330,11 @@ For generated code shape, look for:
325
330
 
326
331
  These commands are intentionally visible so AI agents can call them from OpenCode/Codex-style sessions.
327
332
 
328
- - `ph init`: installs `.persona/rules`, `.persona/harness.jsonc`, OpenCode plugin config, and starts the backend profile interview when run from an interactive terminal.
333
+ - `ph init`: installs `.persona/rules`, `.persona/harness.jsonc`, OpenCode plugin config, and `.gitignore` entries only.
329
334
  - `ph intake`: creates an editable draft backend profile.
330
335
  - `ph intake --default backend`: creates a ready default backend profile without an interactive terminal.
331
336
  - `ph intake --interactive`: asks backend planning questions and writes `.persona/project-profile.jsonc`.
332
- - `ph bootstrap backend`: AI/non-TTY fast path that creates the default backend profile, policy, accepted plan, and report templates.
337
+ - `ph bootstrap backend`: backend-ready path that fills `AGENTS.md`, the default backend profile, policy overlay, accepted plan, report templates, harness config, and OpenCode config.
333
338
  - `ph policy init`: creates company and personal backend policy overlay files.
334
339
  - `ph plan`: creates `.persona/workflow/plan.md`.
335
340
  - `ph plan --auto-accept`: creates workflow plan/report templates and marks the plan accepted for a fast smoke.
package/README.zh-cn.md CHANGED
@@ -60,8 +60,7 @@ Model ID 使用 `provider/model` 格式,例如 `openai/gpt-5.4-mini-fast`.
60
60
  ```bash
61
61
  npm install -D persona-harness@alpha
62
62
  npx ph init
63
- npx ph policy init
64
- npx ph plan --auto-accept
63
+ npx ph bootstrap backend
65
64
  ```
66
65
 
67
66
  如果你正在开发 Persona Harness 本身,请使用 local install。
@@ -69,8 +68,7 @@ npx ph plan --auto-accept
69
68
  ```bash
70
69
  npm install -D /absolute/path/to/persona-harness
71
70
  npx ph init
72
- npx ph policy init
73
- npx ph plan --auto-accept
71
+ npx ph bootstrap backend
74
72
  ```
75
73
 
76
74
  先让 OpenCode 只完成计划:
@@ -126,6 +124,7 @@ opencode run --dir . --model <model> --dangerously-skip-permissions \
126
124
  ## 提供内容
127
125
 
128
126
  - `ph init`: 安装 `.persona/rules`, `.persona/harness.jsonc`, OpenCode plugin config
127
+ - `ph bootstrap backend`: 准备 `AGENTS.md`, backend profile, policy overlay, accepted plan, report template
129
128
  - `ph intake --interactive`: 询问 backend planning 问题并写入 `.persona/project-profile.jsonc`
130
129
  - `ph policy init`: 创建 company/personal backend policy overlay
131
130
  - `ph plan`: 创建 `blackbear` planning role 的 `.persona/workflow/plan.md`
@@ -0,0 +1 @@
1
+ export declare function backendShapeReportStatus(projectDir: string): string;
@@ -0,0 +1,20 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { BACKEND_SHAPE_REPORT_PATH } from "./backend-shape.js";
4
+ export function backendShapeReportStatus(projectDir) {
5
+ const reportPath = join(projectDir, BACKEND_SHAPE_REPORT_PATH);
6
+ if (!existsSync(reportPath)) {
7
+ return "missing (report-only; run `npx ph review backend-shape`)";
8
+ }
9
+ const report = readFileSync(reportPath, "utf8");
10
+ const warnCount = report.split(/\r?\n/).filter((line) => /\|\s*WARN\s*\|/.test(line)).length;
11
+ const failCount = report.split(/\r?\n/).filter((line) => /\|\s*FAIL\s*\|/.test(line)).length;
12
+ if (failCount > 0) {
13
+ return `FAIL findings: ${failCount}; WARN findings: ${warnCount}; see ${BACKEND_SHAPE_REPORT_PATH}`;
14
+ }
15
+ if (warnCount > 0) {
16
+ return `WARN findings: ${warnCount}; see ${BACKEND_SHAPE_REPORT_PATH}`;
17
+ }
18
+ return `PASS; see ${BACKEND_SHAPE_REPORT_PATH}`;
19
+ }
20
+ //# sourceMappingURL=backend-shape-report-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-shape-report-status.js","sourceRoot":"","sources":["../../src/cli/backend-shape-report-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAE9D,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAA;IAC9D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,0DAA0D,CAAA;IACnE,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;IAC5F,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;IAC5F,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,kBAAkB,SAAS,oBAAoB,SAAS,SAAS,yBAAyB,EAAE,CAAA;IACrG,CAAC;IACD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,kBAAkB,SAAS,SAAS,yBAAyB,EAAE,CAAA;IACxE,CAAC;IACD,OAAO,aAAa,yBAAyB,EAAE,CAAA;AACjD,CAAC"}
@@ -2,5 +2,6 @@ import type { CliRunResult } from "./bearshell.js";
2
2
  type BackendShapeOptions = {
3
3
  readonly projectDir?: string;
4
4
  };
5
+ export declare const BACKEND_SHAPE_REPORT_PATH = ".persona/workflow/backend-shape-report.md";
5
6
  export declare function runBackendShapeReview(options?: BackendShapeOptions): CliRunResult;
6
7
  export {};
@@ -1,7 +1,9 @@
1
+ import { spawnSync } from "node:child_process";
1
2
  import { existsSync, mkdirSync, readdirSync, readFileSync, statSync, writeFileSync } from "node:fs";
2
3
  import { dirname, join, resolve } from "node:path";
3
4
  import process from "node:process";
4
- const REPORT_PATH = ".persona/workflow/backend-shape-report.md";
5
+ export const BACKEND_SHAPE_REPORT_PATH = ".persona/workflow/backend-shape-report.md";
6
+ const FAKE_SHIM_FILES = ["gradle-shim.js", join("tools", "gradle-shim.js")];
5
7
  function listFiles(dirPath) {
6
8
  if (!existsSync(dirPath)) {
7
9
  return [];
@@ -28,23 +30,75 @@ function hasPathPart(files, part) {
28
30
  function javaFiles(projectDir) {
29
31
  return listFiles(join(projectDir, "src", "main", "java")).filter((filePath) => filePath.endsWith(".java"));
30
32
  }
33
+ function readBuildText(projectDir) {
34
+ return [join(projectDir, "build.gradle"), join(projectDir, "build.gradle.kts")]
35
+ .filter((buildPath) => existsSync(buildPath))
36
+ .map((buildPath) => readFileSync(buildPath, "utf8"))
37
+ .join("\n");
38
+ }
31
39
  function pass(criterion, evidence) {
32
40
  return { criterion, result: "PASS", evidence };
33
41
  }
34
42
  function warn(criterion, evidence) {
35
43
  return { criterion, result: "WARN", evidence };
36
44
  }
45
+ function springBootApp(projectDir, files) {
46
+ const buildText = readBuildText(projectDir);
47
+ const hasSpringBuildSignal = /org\.springframework\.boot|spring-boot-starter/.test(buildText);
48
+ const appFiles = files.filter((filePath) => /Application\.java$/.test(filePath));
49
+ const hasSpringBootApplication = appFiles.some((filePath) => readFileSync(filePath, "utf8").includes("@SpringBootApplication"));
50
+ return hasSpringBuildSignal && hasSpringBootApplication
51
+ ? pass("Spring Boot app", appFiles.map((filePath) => relative(projectDir, filePath)).join(", "))
52
+ : warn("Spring Boot app", "missing Spring Boot build signal or @SpringBootApplication");
53
+ }
54
+ function gradleExecutableAvailable(projectDir) {
55
+ const result = spawnSync("gradle", ["--version"], { cwd: projectDir, encoding: "utf8", timeout: 3_000 });
56
+ return result.status === 0;
57
+ }
58
+ function gradleRuntime(projectDir) {
59
+ const hasWrapper = existsSync(join(projectDir, "gradlew")) || existsSync(join(projectDir, "gradlew.bat"));
60
+ if (hasWrapper) {
61
+ return pass("Gradle runtime", "Gradle wrapper present");
62
+ }
63
+ return gradleExecutableAvailable(projectDir)
64
+ ? pass("Gradle runtime", "system Gradle executable available")
65
+ : warn("Gradle runtime", "Gradle wrapper missing and system Gradle unavailable");
66
+ }
37
67
  function gradleOnly(projectDir) {
38
68
  const hasGradle = existsSync(join(projectDir, "build.gradle")) || existsSync(join(projectDir, "build.gradle.kts"));
39
69
  const hasSettings = existsSync(join(projectDir, "settings.gradle")) || existsSync(join(projectDir, "settings.gradle.kts"));
40
70
  const hasMaven = existsSync(join(projectDir, "pom.xml"));
41
71
  return hasGradle && hasSettings && !hasMaven ? pass("Gradle only", "Gradle files present and pom.xml absent") : warn("Gradle only", "Gradle/settings missing or pom.xml present");
42
72
  }
73
+ function mavenAbsent(projectDir) {
74
+ return existsSync(join(projectDir, "pom.xml"))
75
+ ? warn("Maven pom.xml absent", "pom.xml present")
76
+ : pass("Maven pom.xml absent", "pom.xml absent");
77
+ }
78
+ function fakeBuildShimAbsent(projectDir) {
79
+ const shims = FAKE_SHIM_FILES.filter((shimPath) => existsSync(join(projectDir, shimPath)));
80
+ return shims.length === 0 ? pass("Fake build shim absent", "no fake Gradle shim observed") : warn("Fake build shim absent", shims.join(", "));
81
+ }
43
82
  function layerStructure(files) {
44
83
  const required = ["presentation", "application", "domain", "infrastructure"];
45
84
  const missing = required.filter((part) => !hasPathPart(files, part));
46
85
  return missing.length === 0 ? pass("Layer/package structure", required.join(", ")) : warn("Layer/package structure", `missing: ${missing.join(", ")}`);
47
86
  }
87
+ function boundaryShape(files) {
88
+ const hasController = files.some((filePath) => filePath.endsWith("Controller.java") || filePath.includes("/presentation/"));
89
+ const hasService = files.some((filePath) => filePath.endsWith("Service.java") || filePath.includes("/application/"));
90
+ const hasRepository = files.some((filePath) => filePath.endsWith("Repository.java"));
91
+ const hasDto = files.some((filePath) => filePath.includes("/dto/"));
92
+ const hasDomain = files.some((filePath) => filePath.includes("/domain/") && !filePath.endsWith("Repository.java"));
93
+ const missing = [
94
+ ...(!hasController ? ["Controller"] : []),
95
+ ...(!hasService ? ["Service"] : []),
96
+ ...(!hasRepository ? ["Repository"] : []),
97
+ ...(!hasDto ? ["DTO"] : []),
98
+ ...(!hasDomain ? ["Domain"] : []),
99
+ ];
100
+ return missing.length === 0 ? pass("Controller/Service/Repository/DTO/Domain boundary", "role files observed") : warn("Controller/Service/Repository/DTO/Domain boundary", `missing: ${missing.join(", ")}`);
101
+ }
48
102
  function repositoryPort(projectDir, files) {
49
103
  const ports = files.filter((filePath) => filePath.includes("/domain/") && filePath.endsWith("Repository.java"));
50
104
  return ports.length > 0 ? pass("Domain repository port", ports.map((filePath) => relative(projectDir, filePath)).join(", ")) : warn("Domain repository port", "no domain *Repository.java");
@@ -94,6 +148,18 @@ function dtoBoundary(files) {
94
148
  const hasResponse = hasPathPart(files, "response");
95
149
  return hasRequest && hasResponse ? pass("DTO boundary", "request and response DTO packages present") : warn("DTO boundary", "request/response DTO package missing");
96
150
  }
151
+ function entityDirectExposure(projectDir, files) {
152
+ const domainNames = files
153
+ .filter((filePath) => filePath.includes("/domain/") && !filePath.endsWith("Repository.java"))
154
+ .map((filePath) => filePath.split("/").at(-1)?.replace(/\.java$/, ""))
155
+ .filter((name) => name !== undefined);
156
+ const controllerFiles = files.filter((filePath) => filePath.endsWith("Controller.java") || filePath.includes("/presentation/"));
157
+ const hits = controllerFiles.flatMap((filePath) => {
158
+ const content = readFileSync(filePath, "utf8");
159
+ return domainNames.filter((domainName) => new RegExp(`\\b${domainName}\\b`).test(content)).map((domainName) => `${relative(projectDir, filePath)} exposes ${domainName}`);
160
+ });
161
+ return hits.length === 0 ? pass("Entity direct exposure", "no controller domain entity exposure observed") : warn("Entity direct exposure", hits.join(", "));
162
+ }
97
163
  function bootJar(projectDir) {
98
164
  const buildPath = existsSync(join(projectDir, "build.gradle")) ? join(projectDir, "build.gradle") : join(projectDir, "build.gradle.kts");
99
165
  if (!existsSync(buildPath)) {
@@ -119,20 +185,28 @@ function verificationReport(projectDir) {
119
185
  function createReport(projectDir) {
120
186
  const files = javaFiles(projectDir);
121
187
  const findings = [
188
+ springBootApp(projectDir, files),
189
+ gradleRuntime(projectDir),
122
190
  gradleOnly(projectDir),
191
+ mavenAbsent(projectDir),
192
+ fakeBuildShimAbsent(projectDir),
123
193
  layerStructure(files),
194
+ boundaryShape(files),
124
195
  repositoryPort(projectDir, files),
125
196
  repositoryAdapter(projectDir, files),
126
197
  serviceStorage(projectDir, files),
127
198
  domainBehavior(projectDir, files),
128
199
  dtoBoundary(files),
200
+ entityDirectExposure(projectDir, files),
129
201
  bootJar(projectDir),
130
202
  verificationReport(projectDir),
131
203
  ];
132
204
  return [
133
205
  "# Backend Shape Report",
134
206
  "",
135
- "Report-only observation for Java/Spring backend clean-code shape.",
207
+ "Report-only workflow/structure observation report for Java/Spring backend shape.",
208
+ "",
209
+ "This is not enforcement/linter output and not generated app product-quality certification.",
136
210
  "",
137
211
  "| Criterion | Result | Evidence |",
138
212
  "| --- | --- | --- |",
@@ -148,7 +222,7 @@ function createReport(projectDir) {
148
222
  }
149
223
  export function runBackendShapeReview(options = {}) {
150
224
  const projectDir = resolve(options.projectDir ?? process.cwd());
151
- const reportPath = join(projectDir, REPORT_PATH);
225
+ const reportPath = join(projectDir, BACKEND_SHAPE_REPORT_PATH);
152
226
  mkdirSync(dirname(reportPath), { recursive: true });
153
227
  writeFileSync(reportPath, createReport(projectDir));
154
228
  return { status: 0, stdout: `Backend shape report written: ${reportPath}\n`, stderr: "" };
@@ -1 +1 @@
1
- {"version":3,"file":"backend-shape.js","sourceRoot":"","sources":["../../src/cli/backend-shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend-shape.js","sourceRoot":"","sources":["../../src/cli/backend-shape.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,12 @@ export function bearshellUsage(invocation = "ph") {
13
13
  "Runs a bounded shell-native command helper for Persona Harness.",
14
14
  "Shell metacharacters are interpreted only with explicit --shell opt-in.",
15
15
  "",
16
+ "Windows PowerShell pipelines: prefer no `--shell`.",
17
+ "- Pass PowerShell as the command so pipes stay inside PowerShell.",
18
+ '- `npx ph bearshell powershell -NoProfile -Command "Select-String -Path README.md -Pattern TODO"`',
19
+ "- Avoid project-root or `.persona` root recursive search; it can traverse node_modules or package/vendor files.",
20
+ "- Do not wrap Windows PowerShell pipelines in Unix-style single quotes.",
21
+ "",
16
22
  "Environment:",
17
23
  "- PH_BEARSHELL_CONDENSE=0 disables output condensation.",
18
24
  "- PH_BEARSHELL_CONDENSE_BUDGET overrides the default condensation budget.",
@@ -1 +1 @@
1
- {"version":3,"file":"bearshell.js","sourceRoot":"","sources":["../../src/cli/bearshell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bearshell.js","sourceRoot":"","sources":["../../src/cli/bearshell.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,10 @@ import { runPlanCommand } from "./plan-command.js";
9
9
  import { runPolicyCommand } from "./policy.js";
10
10
  import { readBackendProjectProfileState } from "../config/project-profile.js";
11
11
  const PERSONA_DIR = ".persona";
12
+ const HARNESS_CONFIG_PATH = ".persona/harness.jsonc";
13
+ const RULES_DIR_PATH = ".persona/rules/";
14
+ const OPENCODE_CONFIG_PATH = ".opencode/opencode.json";
15
+ const GITIGNORE_PATH = ".gitignore";
12
16
  const POLICY_OVERLAY_PATH = ".persona/policies/overlay.jsonc";
13
17
  const ROOT_AGENT_INSTRUCTIONS_PATH = "AGENTS.md";
14
18
  export function bootstrapUsage(invocation = "ph") {
@@ -18,7 +22,11 @@ export function bootstrapUsage(invocation = "ph") {
18
22
  "Prepares the backend Persona Harness workflow for AI implementation.",
19
23
  "",
20
24
  "What it fills when missing:",
21
- `- ${PERSONA_DIR}/ harness files`,
25
+ `- ${HARNESS_CONFIG_PATH}`,
26
+ `- ${RULES_DIR_PATH}`,
27
+ `- ${OPENCODE_CONFIG_PATH}`,
28
+ `- ${GITIGNORE_PATH}`,
29
+ `- ${ROOT_AGENT_INSTRUCTIONS_PATH}`,
22
30
  `- ${PROFILE_PATH}`,
23
31
  `- ${POLICY_OVERLAY_PATH}`,
24
32
  `- ${PLAN_PATH}`,
@@ -166,13 +174,17 @@ function runBackendBootstrap(options, force) {
166
174
  "Skipped:",
167
175
  ...(skipped.length > 0 ? skipped.map((item) => `- ${item}`) : ["- none"]),
168
176
  "",
169
- "Ready workflow files:",
177
+ "Ready backend bootstrap files:",
178
+ `- ${HARNESS_CONFIG_PATH}`,
179
+ `- ${RULES_DIR_PATH}`,
180
+ `- ${OPENCODE_CONFIG_PATH}`,
181
+ `- ${GITIGNORE_PATH}`,
182
+ `- ${ROOT_AGENT_INSTRUCTIONS_PATH}`,
170
183
  `- ${PROFILE_PATH}`,
171
184
  `- ${POLICY_OVERLAY_PATH}`,
172
185
  `- ${PLAN_PATH}`,
173
186
  `- ${IMPLEMENTATION_REPORT_PATH}`,
174
187
  `- ${REVIEW_REPORT_PATH}`,
175
- `- ${ROOT_AGENT_INSTRUCTIONS_PATH}`,
176
188
  "",
177
189
  "Next:",
178
190
  "- Ask the AI agent to run `npx ph workflow implement` before implementation.",
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/cli/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/cli/bootstrap.ts"],"names":[],"mappings":"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"}