persona-harness 0.3.2-alpha.1 → 0.3.2-alpha.2
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 +15 -0
- package/README.ko.md +18 -3
- package/README.md +16 -9
- package/dist/cli/init.js +21 -4
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/intake-profile.d.ts +2 -1
- package/dist/cli/intake-profile.js +8 -1
- package/dist/cli/intake-profile.js.map +1 -1
- package/dist/cli/intake.d.ts +1 -0
- package/dist/cli/intake.js +54 -7
- package/dist/cli/intake.js.map +1 -1
- package/dist/cli/plan-command.js +25 -1
- package/dist/cli/plan-command.js.map +1 -1
- package/dist/cli/plan.js +13 -1
- package/dist/cli/plan.js.map +1 -1
- package/dist/cli/workflow-command.js +5 -0
- package/dist/cli/workflow-command.js.map +1 -1
- package/dist/cli/workflow-output.js +9 -7
- package/dist/cli/workflow-output.js.map +1 -1
- package/dist/phase0/injection.js +12 -1
- package/dist/phase0/injection.js.map +1 -1
- package/dist/phase0/java-role-discovery.js +4 -2
- package/dist/phase0/java-role-discovery.js.map +1 -1
- package/dist/phase0/project-profile.d.ts +6 -0
- package/dist/phase0/project-profile.js +54 -0
- package/dist/phase0/project-profile.js.map +1 -1
- package/docs/current/release/README.md +1 -0
- package/docs/current/release/next-version-readiness.md +30 -23
- package/docs/current/release/v0.3.2-alpha.1-release-notes.md +3 -2
- package/docs/current/release/v0.3.2-alpha.2-release-notes.md +84 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,12 +6,27 @@ This project uses npm prerelease versions for tester-facing alpha builds. During
|
|
|
6
6
|
|
|
7
7
|
## Unreleased
|
|
8
8
|
|
|
9
|
+
### Known Gaps
|
|
10
|
+
|
|
11
|
+
## [0.3.2-alpha.2] - 2026-06-22
|
|
12
|
+
|
|
9
13
|
### Added
|
|
10
14
|
|
|
15
|
+
- Added a profile-required implementation gate: `ph plan` and `ph workflow implement` now stop when `.persona/project-profile.jsonc` is missing, draft, invalid, or incomplete.
|
|
16
|
+
- Added `ph intake --default backend` for a ready backend profile without an interactive terminal.
|
|
17
|
+
- Added default backend profile creation during `ph init`, so a clean install can move straight to `ph plan --auto-accept` unless the user wants to customize intake answers.
|
|
18
|
+
- Added `ph plan --auto-accept` as a faster planning path for users who do not want a separate manual accept step during alpha smoke tests.
|
|
19
|
+
- Added Java role-discovery guidance to `ph workflow implement` so generated Java files can be surfaced through `npx ph bearshell --shell 'find ...*.java...'` and picked up by existing role-discovery evidence.
|
|
20
|
+
|
|
11
21
|
### Changed
|
|
12
22
|
|
|
23
|
+
- Updated fast-path guidance so implementation starts through `npx ph workflow implement` only after the profile and accepted workflow plan exist.
|
|
24
|
+
- Updated the implementation report template with Java role discovery/read evidence fields.
|
|
25
|
+
|
|
13
26
|
### Known Gaps
|
|
14
27
|
|
|
28
|
+
- Java role discovery depends on the agent following the `ph workflow implement` rail after generating files; file creation alone is not treated as proof that every generated Java file was read.
|
|
29
|
+
|
|
15
30
|
## [0.3.2-alpha.1] - 2026-06-22
|
|
16
31
|
|
|
17
32
|
### Fixed
|
package/README.ko.md
CHANGED
|
@@ -82,13 +82,25 @@ opencode run --dir . --model <model> --dangerously-skip-permissions \
|
|
|
82
82
|
"$(npx ph plan --prompt)"
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
빠른 alpha smoke에서는 기본 backend profile을 그대로 쓰고 계획을 바로 accepted 상태로 만들 수 있습니다.
|
|
86
86
|
|
|
87
87
|
```bash
|
|
88
|
-
npx ph
|
|
88
|
+
npx ph doctor
|
|
89
|
+
npx ph policy init
|
|
90
|
+
npx ph plan --auto-accept
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
프로젝트 조건을 직접 정하고 싶으면 기본 profile을 인터뷰로 덮어씁니다.
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
npx ph intake --interactive --force
|
|
97
|
+
npx ph policy init
|
|
98
|
+
npx ph plan
|
|
89
99
|
npx ph plan --accept
|
|
90
100
|
```
|
|
91
101
|
|
|
102
|
+
`.persona/project-profile.jsonc`가 없거나 draft/invalid/incomplete 상태면 `ph plan`과 `ph workflow implement`는 구현으로 넘어가지 않고 intake부터 하라고 막습니다.
|
|
103
|
+
|
|
92
104
|
그 다음에는 짧게 구현을 요청합니다.
|
|
93
105
|
|
|
94
106
|
```text
|
|
@@ -105,10 +117,13 @@ opencode run --dir . --model <model> --dangerously-skip-permissions \
|
|
|
105
117
|
## 제공하는 것
|
|
106
118
|
|
|
107
119
|
- 아래 명령어들은 사용자가 직접 외우는 CLI라기보다, OpenCode/Codex-style 세션에서 AI가 호출하기 쉽게 만든 workflow surface입니다.
|
|
108
|
-
- `ph init`: `.persona/rules`, `.persona/harness.jsonc`, OpenCode plugin config 설치
|
|
120
|
+
- `ph init`: `.persona/rules`, `.persona/harness.jsonc`, OpenCode plugin config 설치 + ready 기본 backend profile 생성
|
|
121
|
+
- `ph intake`: 수정 가능한 draft backend profile 생성
|
|
122
|
+
- `ph intake --default backend`: 대화형 터미널 없이 ready 기본 backend profile 생성
|
|
109
123
|
- `ph intake --interactive`: backend planning 질문 후 `.persona/project-profile.jsonc` 생성
|
|
110
124
|
- `ph policy init`: 회사/개인 backend policy overlay 파일 생성
|
|
111
125
|
- `ph plan`: `blackbear` planning role용 `.persona/workflow/plan.md` 생성
|
|
126
|
+
- `ph plan --auto-accept`: 빠른 smoke를 위해 plan/report template 생성 후 plan을 accepted 처리
|
|
112
127
|
- `ph bearshell`: bounded shell command helper
|
|
113
128
|
- `ph history`: 사용한 workflow artifact를 `.persona/workflow/history/`에 보존
|
|
114
129
|
- `ph workflow check`: 현재 plan/report/evidence 상태 확인
|
package/README.md
CHANGED
|
@@ -151,23 +151,28 @@ You can use a different domain. For cleaner feedback, avoid the older `reservati
|
|
|
151
151
|
|
|
152
152
|
## 4. Create Intake, Policy, And Plan Files
|
|
153
153
|
|
|
154
|
-
|
|
154
|
+
`npx ph init` creates a ready default backend profile at `.persona/project-profile.jsonc`.
|
|
155
|
+
That default is only a planning convenience; customize it when the project context matters.
|
|
156
|
+
|
|
157
|
+
For the fastest alpha smoke:
|
|
155
158
|
|
|
156
159
|
```bash
|
|
157
|
-
npx ph
|
|
160
|
+
npx ph doctor
|
|
158
161
|
npx ph policy init
|
|
159
|
-
npx ph plan
|
|
160
|
-
npx ph plan --accept
|
|
162
|
+
npx ph plan --auto-accept
|
|
161
163
|
npx ph workflow check
|
|
162
164
|
```
|
|
163
165
|
|
|
164
|
-
For a more realistic project setup,
|
|
166
|
+
For a more realistic project setup, replace the default profile through the interview:
|
|
165
167
|
|
|
166
168
|
```bash
|
|
167
|
-
npx ph intake --interactive
|
|
169
|
+
npx ph intake --interactive --force
|
|
170
|
+
npx ph policy init
|
|
171
|
+
npx ph plan
|
|
172
|
+
npx ph plan --accept
|
|
168
173
|
```
|
|
169
174
|
|
|
170
|
-
Before implementation, `npx ph workflow check` usually reports `WARN` because implementation and review reports are still templates. That is normal.
|
|
175
|
+
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.
|
|
171
176
|
|
|
172
177
|
## 5. Ask OpenCode To Implement
|
|
173
178
|
|
|
@@ -251,11 +256,13 @@ For generated code shape, look for:
|
|
|
251
256
|
|
|
252
257
|
These commands are intentionally visible so AI agents can call them from OpenCode/Codex-style sessions.
|
|
253
258
|
|
|
254
|
-
- `ph init`: installs `.persona/rules`, `.persona/harness.jsonc`,
|
|
255
|
-
- `ph intake`: creates
|
|
259
|
+
- `ph init`: installs `.persona/rules`, `.persona/harness.jsonc`, OpenCode plugin config, and a ready default backend profile for the Java/Spring backend MVP fast path.
|
|
260
|
+
- `ph intake`: creates an editable draft backend profile.
|
|
261
|
+
- `ph intake --default backend`: creates a ready default backend profile without an interactive terminal.
|
|
256
262
|
- `ph intake --interactive`: asks backend planning questions and writes `.persona/project-profile.jsonc`.
|
|
257
263
|
- `ph policy init`: creates company and personal backend policy overlay files.
|
|
258
264
|
- `ph plan`: creates `.persona/workflow/plan.md`.
|
|
265
|
+
- `ph plan --auto-accept`: creates workflow plan/report templates and marks the plan accepted for a fast smoke.
|
|
259
266
|
- `ph plan --accept`: marks the plan accepted.
|
|
260
267
|
- `ph plan --implement`: checks that implementation may start and prints the implementation rail.
|
|
261
268
|
- `ph bearshell`: runs timeout-bounded and output-bounded shell commands.
|
package/dist/cli/init.js
CHANGED
|
@@ -3,6 +3,7 @@ import { cpSync, existsSync, mkdirSync, readFileSync, renameSync, writeFileSync
|
|
|
3
3
|
import { dirname, isAbsolute, join, resolve, sep } from "node:path";
|
|
4
4
|
import process from "node:process";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
|
+
import { createBackendProfile, createDefaultBackendAnswers, PROFILE_PATH } from "./intake-profile.js";
|
|
6
7
|
class PersonaInitError extends Error {
|
|
7
8
|
constructor(message) {
|
|
8
9
|
super(message);
|
|
@@ -142,6 +143,15 @@ function writeProjectNoiseIgnore(projectDir) {
|
|
|
142
143
|
const nextContent = `${existing}${prefix}${[...sectionHeader, ...missingEntries].join("\n")}\n`;
|
|
143
144
|
writeFileSync(gitignorePath, nextContent);
|
|
144
145
|
}
|
|
146
|
+
function writeDefaultBackendProfile(projectDir) {
|
|
147
|
+
const profilePath = join(projectDir, PROFILE_PATH);
|
|
148
|
+
if (existsSync(profilePath)) {
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
mkdirSync(dirname(profilePath), { recursive: true });
|
|
152
|
+
writeFileSync(profilePath, `${JSON.stringify(createBackendProfile(createDefaultBackendAnswers(), "Default backend profile created by Persona Harness init."), null, 2)}\n`);
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
145
155
|
function normalizeTemplateRelativePath(sourcePath, sourceRoot) {
|
|
146
156
|
return sourcePath === sourceRoot ? "" : sourcePath.slice(sourceRoot.length + sep.length).replace(/\\/g, "/");
|
|
147
157
|
}
|
|
@@ -172,11 +182,18 @@ export function initializePersonaHarness(options = {}) {
|
|
|
172
182
|
});
|
|
173
183
|
const backups = writeOpencodeConfig(projectDir, pluginPath);
|
|
174
184
|
writeProjectNoiseIgnore(projectDir);
|
|
185
|
+
const profileCreated = writeDefaultBackendProfile(projectDir);
|
|
175
186
|
return {
|
|
176
187
|
projectDir,
|
|
177
188
|
packageRoot,
|
|
178
189
|
pluginPath: isAbsolute(pluginPath) ? pluginPath : resolve(pluginPath),
|
|
179
|
-
installed: [
|
|
190
|
+
installed: [
|
|
191
|
+
".persona/harness.jsonc",
|
|
192
|
+
".persona/rules/",
|
|
193
|
+
...(profileCreated ? [PROFILE_PATH] : []),
|
|
194
|
+
".opencode/opencode.json",
|
|
195
|
+
".gitignore",
|
|
196
|
+
],
|
|
180
197
|
backups,
|
|
181
198
|
evidenceCopied: false,
|
|
182
199
|
};
|
|
@@ -191,10 +208,10 @@ export function formatInitResult(result) {
|
|
|
191
208
|
...backupLines,
|
|
192
209
|
"",
|
|
193
210
|
"Next:",
|
|
194
|
-
"1.
|
|
211
|
+
"1. A default backend profile is ready. Customize it with `npx ph intake --interactive --force` if needed.",
|
|
195
212
|
"2. Run `npx ph policy init` if you want company or personal backend guidance.",
|
|
196
|
-
"3. Run `npx ph plan
|
|
197
|
-
"4.
|
|
213
|
+
"3. Run `npx ph plan --auto-accept` for the fastest flow, or `npx ph plan` for manual review.",
|
|
214
|
+
"4. Ask the agent to implement only through `npx ph workflow implement`.",
|
|
198
215
|
"",
|
|
199
216
|
"OpenCode TUI:",
|
|
200
217
|
"- Run `opencode` in this project.",
|
package/dist/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAChG,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AACnE,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export type ProjectProfileQuestion = {
|
|
|
6
6
|
};
|
|
7
7
|
export type ProjectProfile = {
|
|
8
8
|
readonly schema: "persona.project-profile.v1";
|
|
9
|
-
readonly status: "draft";
|
|
9
|
+
readonly status: "draft" | "ready";
|
|
10
10
|
readonly scope: {
|
|
11
11
|
readonly role: "backend";
|
|
12
12
|
readonly mvp: "java-spring-clean-code";
|
|
@@ -48,5 +48,6 @@ export type IntakeQuestionDefinition = {
|
|
|
48
48
|
};
|
|
49
49
|
export declare const PROFILE_PATH = ".persona/project-profile.jsonc";
|
|
50
50
|
export declare const INTAKE_QUESTIONS: readonly IntakeQuestionDefinition[];
|
|
51
|
+
export declare function createDefaultBackendAnswers(): ReadonlyMap<string, string>;
|
|
51
52
|
export declare function createBackendProfile(answers?: ReadonlyMap<string, string>, projectNote?: string | null): ProjectProfile;
|
|
52
53
|
export {};
|
|
@@ -139,10 +139,17 @@ export const INTAKE_QUESTIONS = [
|
|
|
139
139
|
recommended: "strict",
|
|
140
140
|
},
|
|
141
141
|
];
|
|
142
|
+
export function createDefaultBackendAnswers() {
|
|
143
|
+
return new Map(INTAKE_QUESTIONS.map((question) => [question.id, question.recommended]));
|
|
144
|
+
}
|
|
142
145
|
export function createBackendProfile(answers = new Map(), projectNote = null) {
|
|
146
|
+
const isReady = INTAKE_QUESTIONS.every((question) => {
|
|
147
|
+
const answer = answers.get(question.id);
|
|
148
|
+
return answer !== undefined && answer.trim() !== "";
|
|
149
|
+
});
|
|
143
150
|
return {
|
|
144
151
|
schema: "persona.project-profile.v1",
|
|
145
|
-
status: "draft",
|
|
152
|
+
status: isReady ? "ready" : "draft",
|
|
146
153
|
scope: {
|
|
147
154
|
role: "backend",
|
|
148
155
|
mvp: "java-spring-clean-code",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intake-profile.js","sourceRoot":"","sources":["../../src/cli/intake-profile.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"intake-profile.js","sourceRoot":"","sources":["../../src/cli/intake-profile.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/intake.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export type InteractiveIntakeOptions = IntakeOptions & {
|
|
|
9
9
|
};
|
|
10
10
|
export declare function intakeUsage(invocation?: string): string;
|
|
11
11
|
export declare function initializeProjectIntake(options?: IntakeOptions, force?: boolean): string;
|
|
12
|
+
export declare function initializeDefaultBackendIntake(options?: IntakeOptions, force?: boolean): string;
|
|
12
13
|
export declare function runInteractiveIntakeCommand(args: readonly string[], options: InteractiveIntakeOptions, invocationName?: string): Promise<CliRunResult>;
|
|
13
14
|
export declare function runIntakeCommand(args: readonly string[], options?: IntakeOptions, invocationName?: string): CliRunResult;
|
|
14
15
|
export {};
|
package/dist/cli/intake.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { dirname, join, resolve } from "node:path";
|
|
3
3
|
import process from "node:process";
|
|
4
|
-
import { INTAKE_QUESTIONS, PROFILE_PATH, createBackendProfile } from "./intake-profile.js";
|
|
4
|
+
import { INTAKE_QUESTIONS, PROFILE_PATH, createBackendProfile, createDefaultBackendAnswers, } from "./intake-profile.js";
|
|
5
5
|
export function intakeUsage(invocation = "ph") {
|
|
6
6
|
return [
|
|
7
|
-
`Usage: ${invocation} intake [--force | --interactive]`,
|
|
7
|
+
`Usage: ${invocation} intake [--force | --interactive | --default backend]`,
|
|
8
8
|
"",
|
|
9
9
|
"Creates a draft backend project profile for the v0.3.0 intake workflow.",
|
|
10
10
|
"",
|
|
@@ -21,7 +21,9 @@ export function intakeUsage(invocation = "ph") {
|
|
|
21
21
|
function parseIntakeArgs(args) {
|
|
22
22
|
let force = false;
|
|
23
23
|
let interactive = false;
|
|
24
|
-
|
|
24
|
+
let defaultBackend = false;
|
|
25
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
26
|
+
const arg = args[index];
|
|
25
27
|
if (arg === "--help" || arg === "-h") {
|
|
26
28
|
return { kind: "help" };
|
|
27
29
|
}
|
|
@@ -33,9 +35,20 @@ function parseIntakeArgs(args) {
|
|
|
33
35
|
interactive = true;
|
|
34
36
|
continue;
|
|
35
37
|
}
|
|
38
|
+
if (arg === "--default") {
|
|
39
|
+
if (args[index + 1] !== "backend") {
|
|
40
|
+
return { kind: "invalid", message: "--default requires backend." };
|
|
41
|
+
}
|
|
42
|
+
defaultBackend = true;
|
|
43
|
+
index += 1;
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
36
46
|
return { kind: "invalid", message: `Unknown option: ${arg}` };
|
|
37
47
|
}
|
|
38
|
-
|
|
48
|
+
if (interactive && defaultBackend) {
|
|
49
|
+
return { kind: "invalid", message: "--interactive and --default backend cannot be used together." };
|
|
50
|
+
}
|
|
51
|
+
return { kind: "run", force, interactive, defaultBackend };
|
|
39
52
|
}
|
|
40
53
|
function resolveProfilePath(options) {
|
|
41
54
|
const projectDir = resolve(options.projectDir ?? process.cwd());
|
|
@@ -57,6 +70,11 @@ export function initializeProjectIntake(options = {}, force = false) {
|
|
|
57
70
|
writeProfile(profilePath, new Map(), null);
|
|
58
71
|
return profilePath;
|
|
59
72
|
}
|
|
73
|
+
export function initializeDefaultBackendIntake(options = {}, force = false) {
|
|
74
|
+
const profilePath = ensureWritableProfile(options, force);
|
|
75
|
+
writeProfile(profilePath, createDefaultBackendAnswers(), "Default backend profile created by Persona Harness.");
|
|
76
|
+
return profilePath;
|
|
77
|
+
}
|
|
60
78
|
function introText() {
|
|
61
79
|
return [
|
|
62
80
|
"Persona Harness backend project intake",
|
|
@@ -156,9 +174,8 @@ export async function runInteractiveIntakeCommand(args, options, invocationName
|
|
|
156
174
|
`Profile: ${profilePath}`,
|
|
157
175
|
"",
|
|
158
176
|
"Next:",
|
|
159
|
-
"- Run npx ph plan.",
|
|
160
|
-
"-
|
|
161
|
-
"- Ask the agent to implement only after the plan is accepted.",
|
|
177
|
+
"- Run npx ph plan --auto-accept for the fastest backend MVP flow, or npx ph plan for manual review.",
|
|
178
|
+
"- Ask the agent to implement only through npx ph workflow implement.",
|
|
162
179
|
"",
|
|
163
180
|
].join("\n"));
|
|
164
181
|
return { status: 0, stdout: "", stderr: "" };
|
|
@@ -178,6 +195,36 @@ export function runIntakeCommand(args, options = {}, invocationName = "ph") {
|
|
|
178
195
|
stderr: "Interactive intake requires a TTY. Use `npx ph intake` to create an editable draft.\n",
|
|
179
196
|
};
|
|
180
197
|
}
|
|
198
|
+
if (parsed.defaultBackend) {
|
|
199
|
+
try {
|
|
200
|
+
const profilePath = initializeDefaultBackendIntake(options, parsed.force);
|
|
201
|
+
return {
|
|
202
|
+
status: 0,
|
|
203
|
+
stdout: [
|
|
204
|
+
"Persona Harness default backend project profile created.",
|
|
205
|
+
"",
|
|
206
|
+
`Profile: ${profilePath}`,
|
|
207
|
+
"Status: ready",
|
|
208
|
+
"",
|
|
209
|
+
"Next:",
|
|
210
|
+
"- Run npx ph plan --auto-accept for the fastest backend MVP flow, or npx ph intake --interactive --force to customize.",
|
|
211
|
+
"- Ask the agent to implement only through npx ph workflow implement.",
|
|
212
|
+
"",
|
|
213
|
+
"Scope:",
|
|
214
|
+
"- Java/Spring backend Clean Code planning surface",
|
|
215
|
+
"- Default profile is a planning convenience, not product-quality certification",
|
|
216
|
+
].join("\n") + "\n",
|
|
217
|
+
stderr: "",
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
return {
|
|
222
|
+
status: 1,
|
|
223
|
+
stdout: "",
|
|
224
|
+
stderr: `${error instanceof Error ? error.message : String(error)}\n`,
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
}
|
|
181
228
|
try {
|
|
182
229
|
const profilePath = initializeProjectIntake(options, parsed.force);
|
|
183
230
|
return {
|
package/dist/cli/intake.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intake.js","sourceRoot":"","sources":["../../src/cli/intake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,OAAO,MAAM,cAAc,CAAA;AAGlC,OAAO,
|
|
1
|
+
{"version":3,"file":"intake.js","sourceRoot":"","sources":["../../src/cli/intake.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/plan-command.js
CHANGED
|
@@ -8,12 +8,14 @@ import { createImplementationPrompt, createPlanOnlyPrompt } from "./plan-prompts
|
|
|
8
8
|
import { WorkflowReportStatusError, parseWorkflowReportKind, updateWorkflowReportStatus, } from "./report-status.js";
|
|
9
9
|
export function planUsage(invocation = "ph") {
|
|
10
10
|
return [
|
|
11
|
-
`Usage: ${invocation} plan [--force | --status | --accept | --revise | --prompt | --implement | --next | --resume | --report-filled <implementation|review>]`,
|
|
11
|
+
`Usage: ${invocation} plan [--force | --auto-accept | --status | --accept | --revise | --prompt | --implement | --next | --resume | --report-filled <implementation|review>]`,
|
|
12
12
|
"",
|
|
13
13
|
"Creates and manages a blackbear architecture plan before implementation.",
|
|
14
14
|
"",
|
|
15
15
|
"Options:",
|
|
16
16
|
" --force Replace existing workflow drafts.",
|
|
17
|
+
" --auto-accept",
|
|
18
|
+
" Create workflow drafts and mark the plan accepted for the fastest backend MVP flow.",
|
|
17
19
|
" --status Read the plan acceptance status.",
|
|
18
20
|
" --accept Mark the plan status as accepted.",
|
|
19
21
|
" --revise Mark the plan status as needs-revision.",
|
|
@@ -58,6 +60,9 @@ function parsePlanArgs(args) {
|
|
|
58
60
|
if (arg === "--force") {
|
|
59
61
|
return { kind: "run", force: true };
|
|
60
62
|
}
|
|
63
|
+
if (arg === "--auto-accept") {
|
|
64
|
+
return { kind: "auto-accept", force: true };
|
|
65
|
+
}
|
|
61
66
|
if (arg === "--status") {
|
|
62
67
|
return { kind: "status" };
|
|
63
68
|
}
|
|
@@ -191,6 +196,25 @@ export function runPlanCommand(args, options = {}, invocationName = "ph") {
|
|
|
191
196
|
if (parsed.kind === "resume") {
|
|
192
197
|
return runResumeCommand(options);
|
|
193
198
|
}
|
|
199
|
+
if (parsed.kind === "auto-accept") {
|
|
200
|
+
const planPath = initializeWorkflowPlan(options, parsed.force);
|
|
201
|
+
const accepted = updateWorkflowPlanStatus("accepted", options);
|
|
202
|
+
return {
|
|
203
|
+
status: 0,
|
|
204
|
+
stdout: [
|
|
205
|
+
"Persona Harness blackbear plan draft created and accepted.",
|
|
206
|
+
"",
|
|
207
|
+
`Plan: ${planPath}`,
|
|
208
|
+
`Status: ${accepted.status}`,
|
|
209
|
+
"",
|
|
210
|
+
"Next:",
|
|
211
|
+
"- Run `npx ph workflow implement` before implementation.",
|
|
212
|
+
`- Fill ${IMPLEMENTATION_REPORT_PATH} after implementation, then run \`npx ph plan --report-filled implementation\`.`,
|
|
213
|
+
`- Fill ${REVIEW_REPORT_PATH} after review/manual QA, then run \`npx ph plan --report-filled review\`.`,
|
|
214
|
+
].join("\n") + "\n",
|
|
215
|
+
stderr: "",
|
|
216
|
+
};
|
|
217
|
+
}
|
|
194
218
|
const planPath = initializeWorkflowPlan(options, parsed.force);
|
|
195
219
|
return {
|
|
196
220
|
status: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-command.js","sourceRoot":"","sources":["../../src/cli/plan-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,OAAO,MAAM,cAAc,CAAA;AAGlC,OAAO,EACL,0BAA0B,EAC1B,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,sBAAsB,GAEvB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,EACL,eAAe,EAEf,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACpF,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,GAE3B,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"plan-command.js","sourceRoot":"","sources":["../../src/cli/plan-command.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/plan.js
CHANGED
|
@@ -2,7 +2,7 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
|
2
2
|
import { join, resolve } from "node:path";
|
|
3
3
|
import process from "node:process";
|
|
4
4
|
import { loadBackendPolicyOverlay } from "../phase0/policy-overlay.js";
|
|
5
|
-
import { loadBackendProjectProfileSummary } from "../phase0/project-profile.js";
|
|
5
|
+
import { loadBackendProjectProfileSummary, readBackendProjectProfileState } from "../phase0/project-profile.js";
|
|
6
6
|
export class PlanDraftError extends Error {
|
|
7
7
|
constructor(message) {
|
|
8
8
|
super(message);
|
|
@@ -112,6 +112,9 @@ function createImplementationReportTemplate(projectDir) {
|
|
|
112
112
|
"- README ranges read:",
|
|
113
113
|
"- Plan read method:",
|
|
114
114
|
"- Plan ranges read:",
|
|
115
|
+
"- Java role discovery method:",
|
|
116
|
+
"- Java role files discovered:",
|
|
117
|
+
"- Java role files read:",
|
|
115
118
|
"- Unread ranges:",
|
|
116
119
|
"- Read evidence notes:",
|
|
117
120
|
"",
|
|
@@ -207,6 +210,15 @@ function existingWorkflowPaths(projectDir) {
|
|
|
207
210
|
}
|
|
208
211
|
export function initializeWorkflowPlan(options = {}, force = false) {
|
|
209
212
|
const projectDir = resolve(options.projectDir ?? process.cwd());
|
|
213
|
+
const profileState = readBackendProjectProfileState(projectDir);
|
|
214
|
+
if (profileState.status !== "ready") {
|
|
215
|
+
throw new PlanDraftError([
|
|
216
|
+
"Project profile is required before planning.",
|
|
217
|
+
profileState.message,
|
|
218
|
+
"Fast path: run `npx ph intake --default backend --force`.",
|
|
219
|
+
"Custom path: run `npx ph intake --interactive --force`.",
|
|
220
|
+
].join("\n"));
|
|
221
|
+
}
|
|
210
222
|
const workflowDir = join(projectDir, ".persona", "workflow");
|
|
211
223
|
const planPath = join(projectDir, PLAN_PATH);
|
|
212
224
|
const implementationReportPath = join(projectDir, IMPLEMENTATION_REPORT_PATH);
|
package/dist/cli/plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/cli/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAA;AAI/
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/cli/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { readBackendProjectProfileState } from "../phase0/project-profile.js";
|
|
1
2
|
import { failedGuardOutput, failedRunnerOutput, passedFinishOutput, passedGuardOutput, passedImplementOutput, passedStartOutput, } from "./workflow-output.js";
|
|
2
3
|
import { formatWorkflowStatus, readWorkflowStatus } from "./workflow-status.js";
|
|
3
4
|
export function workflowUsage(invocation = "ph") {
|
|
@@ -55,6 +56,10 @@ function parseWorkflowArgs(args) {
|
|
|
55
56
|
}
|
|
56
57
|
function implementationGuardReasons(summary) {
|
|
57
58
|
const reasons = [];
|
|
59
|
+
const profileState = readBackendProjectProfileState(summary.projectDir);
|
|
60
|
+
if (profileState.status !== "ready") {
|
|
61
|
+
reasons.push(profileState.message);
|
|
62
|
+
}
|
|
58
63
|
if (summary.plan !== "accepted") {
|
|
59
64
|
reasons.push(".persona/workflow/plan.md must be accepted");
|
|
60
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-command.js","sourceRoot":"","sources":["../../src/cli/workflow-command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-command.js","sourceRoot":"","sources":["../../src/cli/workflow-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,13 +86,15 @@ export function passedImplementOutput() {
|
|
|
86
86
|
"",
|
|
87
87
|
"Implementation checklist:",
|
|
88
88
|
"1. Implement from the accepted plan.",
|
|
89
|
-
"2.
|
|
90
|
-
"3.
|
|
91
|
-
"4.
|
|
92
|
-
"5. Fill `.persona/workflow/
|
|
93
|
-
"6. Run `npx ph plan --report-filled
|
|
94
|
-
"7.
|
|
95
|
-
"8.
|
|
89
|
+
"2. After Java files are generated or changed, run `npx ph bearshell --shell 'find src/main/java src/test/java -name \"*.java\" 2>/dev/null | sort'` so Persona Harness can discover generated Java roles.",
|
|
90
|
+
"3. If Persona Harness adds a Java Role Read Follow-up, read those representative Java files before continuing.",
|
|
91
|
+
"4. Use `npx ph bearshell` for shell verification.",
|
|
92
|
+
"5. Fill `.persona/workflow/implementation-report.md` with README read method, README ranges read, plan read method, plan ranges read, and Java role discovery/read evidence.",
|
|
93
|
+
"6. Run `npx ph plan --report-filled implementation`.",
|
|
94
|
+
"7. Fill `.persona/workflow/review-report.md` after review/manual QA.",
|
|
95
|
+
"8. Run `npx ph plan --report-filled review`.",
|
|
96
|
+
"9. Run `npx ph workflow finish implement`.",
|
|
97
|
+
"10. Do not give the final answer until `npx ph workflow finish implement` passes.",
|
|
96
98
|
"",
|
|
97
99
|
"Scope:",
|
|
98
100
|
"- AI-facing workflow rail",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-output.js","sourceRoot":"","sources":["../../src/cli/workflow-output.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,iBAAiB,CAAC,SAA4B,EAAE,OAA0B;IACxF,OAAO;QACL,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,EAAE;QACV,MAAM,EAAE;YACN,0BAA0B,SAAS,EAAE;YACrC,EAAE;YACF,iBAAiB;YACjB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC;YACzC,EAAE;YACF,wFAAwF;SACzF,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI;KACpB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAA4B,EAC5B,UAA8B,EAC9B,OAA0B;IAE1B,OAAO;QACL,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,EAAE;QACV,MAAM,EAAE;YACN,YAAY,MAAM,YAAY,UAAU,EAAE;YAC1C,EAAE;YACF,iBAAiB;YACjB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC;YACzC,EAAE;YACF,6FAA6F;SAC9F,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI;KACpB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAA8B;IAC9D,OAAO;QACL,MAAM,EAAE,CAAC;QACT,MAAM,EAAE;YACN,mCAAmC,UAAU,EAAE;YAC/C,EAAE;YACF,oBAAoB;YACpB,EAAE;YACF,6BAA6B;YAC7B,iJAAiJ;YACjJ,EAAE;YACF,mCAAmC;YACnC,8BAA8B;YAC9B,8GAA8G;YAC9G,wGAAwG;YACxG,wFAAwF;YACxF,sCAAsC;YACtC,mDAAmD;YACnD,uDAAuD;YACvD,sDAAsD;YACtD,sEAAsE;YACtE,+CAA+C;YAC/C,6CAA6C;YAC7C,mFAAmF;YACnF,EAAE;YACF,QAAQ;YACR,2BAA2B;YAC3B,kDAAkD;SACnD,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI;QACnB,MAAM,EAAE,EAAE;KACX,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,MAAM,EAAE,CAAC;QACT,MAAM,EAAE;YACN,oCAAoC;YACpC,EAAE;YACF,kCAAkC;YAClC,EAAE;YACF,2FAA2F;YAC3F,EAAE;YACF,kDAAkD;YAClD,iDAAiD;YACjD,6DAA6D;YAC7D,oHAAoH;YACpH,qEAAqE;YACrE,+EAA+E;YAC/E,EAAE;YACF,mBAAmB;YACnB,aAAa;YACb,kCAAkC;YAClC,qBAAqB;YACrB,6BAA6B;YAC7B,EAAE;YACF,qGAAqG;YACrG,4GAA4G;YAC5G,EAAE;YACF,2BAA2B;YAC3B,sCAAsC;YACtC,mDAAmD;YACnD,
|
|
1
|
+
{"version":3,"file":"workflow-output.js","sourceRoot":"","sources":["../../src/cli/workflow-output.ts"],"names":[],"mappings":"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"}
|
package/dist/phase0/injection.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isBackendBootstrapTargetFile, resolveBootstrapFileRole, resolveFileRole } from "./file-role.js";
|
|
2
2
|
import { loadHarnessConfigResult } from "./harness-config.js";
|
|
3
3
|
import { loadBackendPolicyOverlay } from "./policy-overlay.js";
|
|
4
|
-
import { loadBackendProjectProfileSummary } from "./project-profile.js";
|
|
4
|
+
import { loadBackendProjectProfileSummary, readBackendProjectProfileState } from "./project-profile.js";
|
|
5
5
|
import { loadRulesForRole } from "./rule-loader.js";
|
|
6
6
|
import { resolveSharedSkillFileRole, selectSharedSkillsForTarget } from "./shared-skill-router.js";
|
|
7
7
|
import { isJavaTargetFile } from "./file-role.js";
|
|
@@ -28,6 +28,7 @@ export function createInjectionBlock(targetFile, projectDir = process.cwd()) {
|
|
|
28
28
|
const ruleTargetFile = shouldLoadJavaRules ? targetFile : undefined;
|
|
29
29
|
const loadedRules = shouldLoadJavaRules ? loadRulesForRole(projectDir, fileRole, ruleTargetFile) : [];
|
|
30
30
|
const projectProfileSummary = shouldLoadJavaRules ? loadBackendProjectProfileSummary(projectDir) : [];
|
|
31
|
+
const projectProfileState = shouldLoadJavaRules ? readBackendProjectProfileState(projectDir) : undefined;
|
|
31
32
|
const policyOverlay = shouldLoadJavaRules
|
|
32
33
|
? loadBackendPolicyOverlay(projectDir)
|
|
33
34
|
: { summaryLines: [], metadata: inactivePolicyOverlay };
|
|
@@ -48,6 +49,15 @@ export function createInjectionBlock(targetFile, projectDir = process.cwd()) {
|
|
|
48
49
|
`파일 역할: ${fileRole}`,
|
|
49
50
|
"",
|
|
50
51
|
...(projectProfileSummary.length > 0 ? [...projectProfileSummary, ""] : []),
|
|
52
|
+
...(projectProfileState !== undefined && projectProfileState.status !== "ready"
|
|
53
|
+
? [
|
|
54
|
+
"프로젝트 프로필 상태:",
|
|
55
|
+
`- ${projectProfileState.message}`,
|
|
56
|
+
"- 구현 요청을 받았더라도 먼저 `npx ph intake --default backend --force` 또는 `npx ph intake --interactive --force`로 프로필을 확정한다.",
|
|
57
|
+
"- 프로필이 ready가 되기 전에는 `npx ph plan`/`npx ph workflow implement`로 구현을 시작하지 않는다.",
|
|
58
|
+
"",
|
|
59
|
+
]
|
|
60
|
+
: []),
|
|
51
61
|
...(policyOverlay.summaryLines.length > 0 ? [...policyOverlay.summaryLines, ""] : []),
|
|
52
62
|
"선택 규칙:",
|
|
53
63
|
...selectedRules.map((rule) => `- ${rule}`),
|
|
@@ -71,6 +81,7 @@ export function createInjectionBlock(targetFile, projectDir = process.cwd()) {
|
|
|
71
81
|
"이 Phase 0 블록은 .persona/rules 정본과 최소 frontmatter/glob/scenario catalog layer를 읽는 MVP rule-loader 결과이며, 아직 full rule engine은 아니다.",
|
|
72
82
|
"코드 구조 분석이나 변경 영향 파악이 필요하면 raw file read보다 codegraph MCP를 먼저 사용한다. codegraph를 사용할 수 없을 때만 필요한 파일 범위를 직접 읽고 그 이유를 남긴다.",
|
|
73
83
|
"repo inspection, CLI smoke test, 큰 출력 확인은 `ph bearshell`을 우선 사용한다.",
|
|
84
|
+
"프로젝트 프로필이 없거나 draft이면 구현하지 말고 먼저 `npx ph intake --default backend --force` 또는 `npx ph intake --interactive --force`를 실행한다.",
|
|
74
85
|
"짧은 구현 지시(예: '플랜 보고 구현해줘', '계획대로 해줘', '이제 구현해줘')를 받으면 먼저 `npx ph workflow implement`를 실행하고, 그 단일 레일을 따른다.",
|
|
75
86
|
"`npx ph workflow implement`가 실패하면 구현하지 말고 plan/status 문제를 사용자에게 보고한다.",
|
|
76
87
|
"긴 README/plan은 `npx ph bearshell --shell 'sed -n \"1,220p\" <file>'`처럼 범위를 나눠 끝까지 읽는다.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injection.js","sourceRoot":"","sources":["../../src/phase0/injection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACxG,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"injection.js","sourceRoot":"","sources":["../../src/phase0/injection.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,12 @@ import { isJavaTargetFile } from "./file-role.js";
|
|
|
2
2
|
import { createInjectionBlock } from "./injection.js";
|
|
3
3
|
import { isInstalledPersonaHarnessPackageFile } from "./target-file.js";
|
|
4
4
|
const JAVA_PATH_PATTERN = /(?:[A-Za-z]:)?(?:\/|\.{1,2}\/)?[^\s"'`<>|]*src\/(?:main|test)\/java\/[^\s"'`<>|]+?\.java\b/g;
|
|
5
|
-
const DISCOVERY_TOOL_NAMES = new Set(["glob", "ls", "list", "find"]);
|
|
5
|
+
const DISCOVERY_TOOL_NAMES = new Set(["glob", "ls", "list", "find", "bash", "shell", "bearshell"]);
|
|
6
6
|
export function isJavaRoleDiscoveryTool(toolName) {
|
|
7
7
|
const normalizedToolName = toolName.toLowerCase();
|
|
8
|
-
return DISCOVERY_TOOL_NAMES.has(normalizedToolName) ||
|
|
8
|
+
return (DISCOVERY_TOOL_NAMES.has(normalizedToolName) ||
|
|
9
|
+
normalizedToolName.includes("glob") ||
|
|
10
|
+
normalizedToolName.includes("shell"));
|
|
9
11
|
}
|
|
10
12
|
export function extractJavaTargetFilesFromText(source) {
|
|
11
13
|
const matches = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"java-role-discovery.js","sourceRoot":"","sources":["../../src/phase0/java-role-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,oCAAoC,EAAE,MAAM,kBAAkB,CAAA;AAGvE,MAAM,iBAAiB,GAAG,6FAA6F,CAAA;AACvH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"java-role-discovery.js","sourceRoot":"","sources":["../../src/phase0/java-role-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,7 @@
|
|
|
1
|
+
export type BackendProjectProfileState = {
|
|
2
|
+
readonly status: "missing" | "invalid" | "draft" | "incomplete" | "ready";
|
|
3
|
+
readonly missingAnswers: readonly string[];
|
|
4
|
+
readonly message: string;
|
|
5
|
+
};
|
|
1
6
|
export declare function loadBackendProjectProfileSummary(projectDir: string): readonly string[];
|
|
7
|
+
export declare function readBackendProjectProfileState(projectDir: string): BackendProjectProfileState;
|
|
@@ -5,6 +5,7 @@ const SUPPORTED_SCHEMA = "persona.project-profile.v1";
|
|
|
5
5
|
const SUPPORTED_ROLE = "backend";
|
|
6
6
|
const SUPPORTED_MVP = "java-spring-clean-code";
|
|
7
7
|
const SUMMARY_ORDER = [
|
|
8
|
+
"user-language",
|
|
8
9
|
"project-context",
|
|
9
10
|
"project-goal",
|
|
10
11
|
"project-scale",
|
|
@@ -145,4 +146,57 @@ export function loadBackendProjectProfileSummary(projectDir) {
|
|
|
145
146
|
}
|
|
146
147
|
return formatSummaryLines(answeredQuestionMap(readQuestions(parsed.questions)), readProjectNote(parsed));
|
|
147
148
|
}
|
|
149
|
+
export function readBackendProjectProfileState(projectDir) {
|
|
150
|
+
const profilePath = join(projectDir, PROFILE_PATH);
|
|
151
|
+
if (!existsSync(profilePath)) {
|
|
152
|
+
return {
|
|
153
|
+
status: "missing",
|
|
154
|
+
missingAnswers: [...SUMMARY_ORDER],
|
|
155
|
+
message: `${PROFILE_PATH} is missing. Run npx ph intake --default backend or npx ph intake --interactive.`,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
let parsed;
|
|
159
|
+
try {
|
|
160
|
+
parsed = JSON.parse(stripJsonComments(readFileSync(profilePath, "utf8")));
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
if (error instanceof SyntaxError) {
|
|
164
|
+
return {
|
|
165
|
+
status: "invalid",
|
|
166
|
+
missingAnswers: [...SUMMARY_ORDER],
|
|
167
|
+
message: `${PROFILE_PATH} is malformed. Fix it or run npx ph intake --default backend --force.`,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
throw error;
|
|
171
|
+
}
|
|
172
|
+
if (!isSupportedBackendProfile(parsed)) {
|
|
173
|
+
return {
|
|
174
|
+
status: "invalid",
|
|
175
|
+
missingAnswers: [...SUMMARY_ORDER],
|
|
176
|
+
message: `${PROFILE_PATH} is not a supported backend Java/Spring profile.`,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
const profileStatus = typeof parsed.status === "string" ? parsed.status : "draft";
|
|
180
|
+
if (profileStatus === "draft") {
|
|
181
|
+
return {
|
|
182
|
+
status: "draft",
|
|
183
|
+
missingAnswers: [...SUMMARY_ORDER],
|
|
184
|
+
message: `${PROFILE_PATH} is still draft. Run npx ph intake --default backend --force or npx ph intake --interactive --force before planning.`,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
const answers = answeredQuestionMap(readQuestions(parsed.questions));
|
|
188
|
+
const missingAnswers = SUMMARY_ORDER.filter((id) => !answers.has(id));
|
|
189
|
+
if (missingAnswers.length > 0) {
|
|
190
|
+
return {
|
|
191
|
+
status: "incomplete",
|
|
192
|
+
missingAnswers,
|
|
193
|
+
message: `${PROFILE_PATH} is missing required answers: ${missingAnswers.join(", ")}.`,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
return {
|
|
197
|
+
status: "ready",
|
|
198
|
+
missingAnswers: [],
|
|
199
|
+
message: `${PROFILE_PATH} is ready.`,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
148
202
|
//# sourceMappingURL=project-profile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-profile.js","sourceRoot":"","sources":["../../src/phase0/project-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,YAAY,GAAG,gCAAgC,CAAA;AACrD,MAAM,gBAAgB,GAAG,4BAA4B,CAAA;AACrD,MAAM,cAAc,GAAG,SAAS,CAAA;AAChC,MAAM,aAAa,GAAG,wBAAwB,CAAA;AAE9C,MAAM,aAAa,GAAG;IACpB,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,kBAAkB;IAClB,SAAS;IACT,wBAAwB;IACxB,iBAAiB;IACjB,eAAe;IACf,oBAAoB;IACpB,qBAAqB;CACb,CAAA;
|
|
1
|
+
{"version":3,"file":"project-profile.js","sourceRoot":"","sources":["../../src/phase0/project-profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ Use this package for repeatable release operations and release note drafting.
|
|
|
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
13
|
- [v0.3.2-alpha.1 release notes](v0.3.2-alpha.1-release-notes.md)
|
|
14
|
+
- [v0.3.2-alpha.2 release notes](v0.3.2-alpha.2-release-notes.md)
|
|
14
15
|
|
|
15
16
|
Release automation lives in `.github/workflows/release.yml`.
|
|
16
17
|
|
|
@@ -3,59 +3,60 @@
|
|
|
3
3
|
## Candidate
|
|
4
4
|
|
|
5
5
|
```text
|
|
6
|
-
persona-harness@0.3.2-alpha.
|
|
6
|
+
persona-harness@0.3.2-alpha.2
|
|
7
7
|
dist-tag: alpha
|
|
8
8
|
date: 2026-06-22
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
## Release Intent
|
|
12
12
|
|
|
13
|
-
This candidate is a hotfix for
|
|
13
|
+
This candidate is a hotfix for installed-package clean runs where generated Java files existed but evidence only showed `README.md` or a small set of touched files. It keeps the Java/Spring backend MVP scope and makes `ph workflow implement` surface generated Java role discovery and representative read follow-up.
|
|
14
14
|
|
|
15
15
|
## Included Changes
|
|
16
16
|
|
|
17
|
-
- `ph workflow implement`
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
17
|
+
- `ph workflow implement` asks the agent to run Java role discovery after Java files are generated or changed.
|
|
18
|
+
- Java role discovery recognizes `npx ph bearshell --shell 'find src/main/java src/test/java -name "*.java" ...'` output.
|
|
19
|
+
- Implementation report template includes Java role discovery/read fields.
|
|
20
|
+
- Profile-required implementation gate is active before `ph plan` and `ph workflow implement`.
|
|
21
|
+
- `ph init` creates a ready default backend profile for alpha smoke convenience.
|
|
22
|
+
- `ph intake --default backend` creates the same ready default profile explicitly.
|
|
23
|
+
- `ph plan --auto-accept` supports clean-run smoke without a separate manual accept step.
|
|
24
24
|
|
|
25
25
|
## Verification Commands
|
|
26
26
|
|
|
27
27
|
| Command | Result |
|
|
28
28
|
| --- | --- |
|
|
29
|
-
| `npm test` | pass:
|
|
29
|
+
| `npm test -- tests/phase0-java-role-discovery.test.ts tests/persona-harness-workflow-check.test.ts` | pass: 2 files, 26 tests |
|
|
30
|
+
| `npm test` | pass: 36 test files, 229 tests |
|
|
30
31
|
| `npm run typecheck` | pass |
|
|
31
32
|
| `npm run build` | pass |
|
|
32
33
|
| `npm run report:rules` | pass: PersonaHarnessRule diagnostics PASS, 0 findings |
|
|
33
34
|
| `npm run check:scope:strict` | pass: MVP scope diagnostics PASS, 0 findings, STRICT mode |
|
|
34
35
|
| `npm run check:injection-value` | pass: current window 3/3, expected decision `continue-java-mvp` |
|
|
35
|
-
| `npm
|
|
36
|
-
| `npm
|
|
37
|
-
| `npm publish --dry-run --tag alpha` | pass: dry-run only for `persona-harness@0.3.2-alpha.1` |
|
|
36
|
+
| `npm pack --dry-run` | pass: `persona-harness-0.3.2-alpha.2.tgz`, 222 files, 230.8 kB package size, 889.4 kB unpacked size |
|
|
37
|
+
| `npm publish --dry-run --tag alpha` | pass: dry-run only for `persona-harness@0.3.2-alpha.2` |
|
|
38
38
|
|
|
39
|
-
##
|
|
39
|
+
## Clean Install Smoke
|
|
40
40
|
|
|
41
|
-
Expected
|
|
41
|
+
Expected smoke:
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
44
|
tmp_project=$(mktemp -d)
|
|
45
45
|
cd "$tmp_project"
|
|
46
46
|
npm init -y
|
|
47
|
-
npm install -D persona-harness
|
|
47
|
+
npm install -D /absolute/path/to/persona-harness
|
|
48
48
|
npx ph init
|
|
49
|
-
npx ph
|
|
50
|
-
npx ph plan --accept
|
|
49
|
+
npx ph policy init
|
|
50
|
+
npx ph plan --auto-accept
|
|
51
51
|
npx ph workflow implement
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
Expected:
|
|
55
55
|
|
|
56
|
-
- `ph workflow implement` prints
|
|
57
|
-
-
|
|
58
|
-
-
|
|
56
|
+
- `ph workflow implement` prints the Java role discovery command.
|
|
57
|
+
- A generated Java file listing produces `[Persona Harness Java Role Discovery]`.
|
|
58
|
+
- Evidence contains `role-discovery` rows for generated Java files.
|
|
59
|
+
- Evidence contains a `<java-role-read-follow-up>` model-input row.
|
|
59
60
|
|
|
60
61
|
## Supported Surface
|
|
61
62
|
|
|
@@ -74,6 +75,12 @@ Expected:
|
|
|
74
75
|
|
|
75
76
|
## Pre-Publish Release Decision
|
|
76
77
|
|
|
77
|
-
|
|
78
|
+
Ready for publish.
|
|
78
79
|
|
|
79
|
-
|
|
80
|
+
Local tarball install smoke passed in a repo-external temporary project:
|
|
81
|
+
|
|
82
|
+
- installed package version: `0.3.2-alpha.2`
|
|
83
|
+
- `npx ph init`: created ready default backend profile
|
|
84
|
+
- `npx ph plan --auto-accept`: created accepted workflow plan
|
|
85
|
+
- `npx ph workflow implement`: printed Java role discovery command
|
|
86
|
+
- `npx ph workflow implement`: printed Java role discovery/read evidence guidance
|
|
@@ -61,6 +61,9 @@ Current result:
|
|
|
61
61
|
- `npm run check:injection-value`: passed, current window 3/3 with expected decision `continue-java-mvp`.
|
|
62
62
|
- `npm pack --dry-run`: passed after sequential build, 221 files, 226.5 kB package size, 868.4 kB unpacked size.
|
|
63
63
|
- `npm publish --dry-run --tag alpha`: passed for `persona-harness@0.3.2-alpha.1`.
|
|
64
|
+
- `npm publish --tag alpha`: passed.
|
|
65
|
+
- `npm dist-tag add persona-harness@0.3.2-alpha.1 latest`: passed.
|
|
66
|
+
- Published-package smoke: passed with `persona-harness@alpha` installed as `0.3.2-alpha.1`; `ph workflow check` and `ph workflow finish implement` accepted heading-style README ranges.
|
|
64
67
|
|
|
65
68
|
## Supported Scope
|
|
66
69
|
|
|
@@ -77,6 +80,4 @@ Current result:
|
|
|
77
80
|
|
|
78
81
|
## Next
|
|
79
82
|
|
|
80
|
-
- Publish `persona-harness@0.3.2-alpha.1`.
|
|
81
|
-
- Run fresh install smoke with `persona-harness@alpha`.
|
|
82
83
|
- Hand the fixed alpha to external testers.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# v0.3.2-alpha.2 Release Notes
|
|
2
|
+
|
|
3
|
+
## Version
|
|
4
|
+
|
|
5
|
+
`v0.3.2-alpha.2`
|
|
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.2`
|
|
16
|
+
|
|
17
|
+
## Summary
|
|
18
|
+
|
|
19
|
+
This hotfix makes the workflow implementation rail surface generated Java files after creation. A clean TUI or OpenCode run should no longer leave only `README.md` evidence when the agent follows `npx ph workflow implement`; it should run Java role discovery and then read representative generated Java files.
|
|
20
|
+
|
|
21
|
+
## What Changed
|
|
22
|
+
|
|
23
|
+
- `ph workflow implement` now tells agents to run:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npx ph bearshell --shell 'find src/main/java src/test/java -name "*.java" 2>/dev/null | sort'
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
- The Java role discovery hook now recognizes shell and bearshell output, not only direct glob/find/list tool names.
|
|
30
|
+
- The implementation report template now includes:
|
|
31
|
+
- Java role discovery method
|
|
32
|
+
- Java role files discovered
|
|
33
|
+
- Java role files read
|
|
34
|
+
- `ph init` now creates a ready default backend profile, while `ph intake --default backend` remains available for explicit default profile creation.
|
|
35
|
+
- `ph plan --auto-accept` is available for alpha smoke tests that should not stop on a manual accept step.
|
|
36
|
+
- `ph plan` and `ph workflow implement` now stop when the profile is missing, draft, malformed, or incomplete.
|
|
37
|
+
|
|
38
|
+
## Why
|
|
39
|
+
|
|
40
|
+
Fresh clean-run evidence showed that some generated projects had real Java files but only `README.md` evidence. That meant the implementation workflow could create files without leaving observable role-specific evidence for Controller, Service, Repository, DTO, and Domain files.
|
|
41
|
+
|
|
42
|
+
The fix keeps the current report-only model: it does not certify generated code quality and does not enforce rule compliance. It makes the expected workflow evidence visible when the agent follows the implementation rail.
|
|
43
|
+
|
|
44
|
+
## Verification
|
|
45
|
+
|
|
46
|
+
Pre-publish commands:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
npm test -- tests/phase0-java-role-discovery.test.ts tests/persona-harness-workflow-check.test.ts
|
|
50
|
+
npm test
|
|
51
|
+
npm run typecheck
|
|
52
|
+
npm run build
|
|
53
|
+
npm run report:rules
|
|
54
|
+
npm run check:scope:strict
|
|
55
|
+
npm run check:injection-value
|
|
56
|
+
npm pack --dry-run
|
|
57
|
+
npm publish --dry-run --tag alpha
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Expected clean-run evidence:
|
|
61
|
+
|
|
62
|
+
- `role-discovery` entries for generated Java files.
|
|
63
|
+
- `model-input` entry for `<java-role-read-follow-up>`.
|
|
64
|
+
- role counts for Controller, Service, Repository, request DTO, response DTO, Domain, and Java common files when those files exist.
|
|
65
|
+
|
|
66
|
+
## Supported Scope
|
|
67
|
+
|
|
68
|
+
- Java/Spring backend MVP.
|
|
69
|
+
- AI-facing implementation workflow rail.
|
|
70
|
+
- Report-only workflow diagnostics and evidence gate.
|
|
71
|
+
- Local/OpenCode clean project verification.
|
|
72
|
+
|
|
73
|
+
## Not Supported
|
|
74
|
+
|
|
75
|
+
- Generated app product-quality certification.
|
|
76
|
+
- Automatic proof that every generated Java file was semantically understood.
|
|
77
|
+
- AST/linter/build rule enforcement.
|
|
78
|
+
- Frontend, infra, or desktop productization.
|
|
79
|
+
- Full Test -> Feat -> Refactor workflow.
|
|
80
|
+
|
|
81
|
+
## Next
|
|
82
|
+
|
|
83
|
+
- Reinstall `persona-harness@alpha` in a clean project and rerun a short request such as `README.md 보고 구현해줘`.
|
|
84
|
+
- Confirm evidence includes generated Java role discovery, not only README evidence.
|
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.2",
|
|
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.",
|