persona-harness 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +12 -3
- package/dist/cli/cli-usage.js +4 -0
- package/dist/cli/cli-usage.js.map +1 -1
- package/dist/cli/index.js +15 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/socratic-interview-command.d.ts +8 -0
- package/dist/cli/socratic-interview-command.js +198 -0
- package/dist/cli/socratic-interview-command.js.map +1 -0
- package/dist/cli/socratic-interview-input.d.ts +26 -0
- package/dist/cli/socratic-interview-input.js +51 -0
- package/dist/cli/socratic-interview-input.js.map +1 -0
- package/dist/cli/socratic-interview-project-store.d.ts +36 -0
- package/dist/cli/socratic-interview-project-store.js +119 -0
- package/dist/cli/socratic-interview-project-store.js.map +1 -0
- package/dist/interview/socratic-interview-contract.d.ts +124 -0
- package/dist/interview/socratic-interview-contract.js +67 -0
- package/dist/interview/socratic-interview-contract.js.map +1 -0
- package/dist/interview/socratic-interview-control.d.ts +4 -0
- package/dist/interview/socratic-interview-control.js +48 -0
- package/dist/interview/socratic-interview-control.js.map +1 -0
- package/dist/interview/socratic-interview-core.d.ts +22 -0
- package/dist/interview/socratic-interview-core.js +109 -0
- package/dist/interview/socratic-interview-core.js.map +1 -0
- package/dist/interview/socratic-interview-schema.d.ts +9 -0
- package/dist/interview/socratic-interview-schema.js +102 -0
- package/dist/interview/socratic-interview-schema.js.map +1 -0
- package/dist/io/bootstrap-write-boundary.d.ts +10 -1
- package/dist/io/bootstrap-write-boundary.js +424 -42
- package/dist/io/bootstrap-write-boundary.js.map +1 -1
- package/dist/io/no-follow-file.d.ts +1 -0
- package/dist/io/no-follow-file.js +31 -7
- package/dist/io/no-follow-file.js.map +1 -1
- package/dist/runtime/hooks.js +1 -0
- package/dist/runtime/hooks.js.map +1 -1
- package/dist/runtime/intent-workflow.js +7 -0
- package/dist/runtime/intent-workflow.js.map +1 -1
- package/dist/runtime/product-deep-interview.d.ts +20 -54
- package/dist/runtime/product-deep-interview.js +104 -126
- package/dist/runtime/product-deep-interview.js.map +1 -1
- package/dist/runtime/product-interview-control.d.ts +0 -2
- package/dist/runtime/product-interview-control.js +0 -42
- package/dist/runtime/product-interview-control.js.map +1 -1
- package/docs/START-HERE.md +1 -1
- package/docs/current/persona-shared-skills-core.md +35 -0
- package/docs/current/portable-host-adapters.md +8 -0
- package/docs/current/release/consumer-authority-current-acceptance.json +1 -1
- package/docs/current/release/v0.13.0-release-notes.md +51 -0
- package/docs/releases/package-index.md +40 -2
- package/package.json +4 -4
- package/packages/host-plugins/antigravity/skills/ast-grep/SKILL.md +1 -1
- package/packages/host-plugins/antigravity/skills/debug/SKILL.md +1 -1
- package/packages/host-plugins/antigravity/skills/deep-interview/SKILL.md +33 -10
- package/packages/host-plugins/antigravity/skills/frontend/SKILL.md +1 -1
- package/packages/host-plugins/antigravity/skills/git/SKILL.md +1 -1
- package/packages/host-plugins/antigravity/skills/grill-me/SKILL.md +1 -1
- package/packages/host-plugins/antigravity/skills/implementation/SKILL.md +1 -1
- package/packages/host-plugins/antigravity/skills/lsp-setup/SKILL.md +1 -1
- package/packages/host-plugins/antigravity/skills/philosophy-refinement/SKILL.md +1 -1
- package/packages/host-plugins/antigravity/skills/plan/SKILL.md +1 -1
- package/packages/host-plugins/antigravity/skills/programming/SKILL.md +1 -1
- package/packages/host-plugins/antigravity/skills/ralplan/SKILL.md +1 -1
- package/packages/host-plugins/antigravity/skills/refactor/SKILL.md +1 -1
- package/packages/host-plugins/antigravity/skills/review/SKILL.md +1 -1
- package/packages/host-plugins/antigravity/skills/tdd/SKILL.md +1 -1
- package/packages/host-plugins/antigravity/skills/technical-intake/SKILL.md +1 -1
- package/packages/host-plugins/antigravity/skills/visual-qa/SKILL.md +1 -1
- package/packages/host-plugins/claude/.claude-plugin/plugin.json +1 -1
- package/packages/host-plugins/claude/skills/ast-grep/SKILL.md +1 -1
- package/packages/host-plugins/claude/skills/debug/SKILL.md +1 -1
- package/packages/host-plugins/claude/skills/deep-interview/SKILL.md +33 -10
- package/packages/host-plugins/claude/skills/frontend/SKILL.md +1 -1
- package/packages/host-plugins/claude/skills/git/SKILL.md +1 -1
- package/packages/host-plugins/claude/skills/grill-me/SKILL.md +1 -1
- package/packages/host-plugins/claude/skills/implementation/SKILL.md +1 -1
- package/packages/host-plugins/claude/skills/lsp-setup/SKILL.md +1 -1
- package/packages/host-plugins/claude/skills/philosophy-refinement/SKILL.md +1 -1
- package/packages/host-plugins/claude/skills/plan/SKILL.md +1 -1
- package/packages/host-plugins/claude/skills/programming/SKILL.md +1 -1
- package/packages/host-plugins/claude/skills/ralplan/SKILL.md +1 -1
- package/packages/host-plugins/claude/skills/refactor/SKILL.md +1 -1
- package/packages/host-plugins/claude/skills/review/SKILL.md +1 -1
- package/packages/host-plugins/claude/skills/tdd/SKILL.md +1 -1
- package/packages/host-plugins/claude/skills/technical-intake/SKILL.md +1 -1
- package/packages/host-plugins/claude/skills/visual-qa/SKILL.md +1 -1
- package/packages/host-plugins/codex/plugins/persona-harness/.codex-plugin/plugin.json +1 -1
- package/packages/host-plugins/codex/plugins/persona-harness/skills/ast-grep/SKILL.md +1 -1
- package/packages/host-plugins/codex/plugins/persona-harness/skills/debug/SKILL.md +1 -1
- package/packages/host-plugins/codex/plugins/persona-harness/skills/deep-interview/SKILL.md +33 -10
- package/packages/host-plugins/codex/plugins/persona-harness/skills/frontend/SKILL.md +1 -1
- package/packages/host-plugins/codex/plugins/persona-harness/skills/git/SKILL.md +1 -1
- package/packages/host-plugins/codex/plugins/persona-harness/skills/grill-me/SKILL.md +1 -1
- package/packages/host-plugins/codex/plugins/persona-harness/skills/implementation/SKILL.md +1 -1
- package/packages/host-plugins/codex/plugins/persona-harness/skills/lsp-setup/SKILL.md +1 -1
- package/packages/host-plugins/codex/plugins/persona-harness/skills/philosophy-refinement/SKILL.md +1 -1
- package/packages/host-plugins/codex/plugins/persona-harness/skills/plan/SKILL.md +1 -1
- package/packages/host-plugins/codex/plugins/persona-harness/skills/programming/SKILL.md +1 -1
- package/packages/host-plugins/codex/plugins/persona-harness/skills/ralplan/SKILL.md +1 -1
- package/packages/host-plugins/codex/plugins/persona-harness/skills/refactor/SKILL.md +1 -1
- package/packages/host-plugins/codex/plugins/persona-harness/skills/review/SKILL.md +1 -1
- package/packages/host-plugins/codex/plugins/persona-harness/skills/tdd/SKILL.md +1 -1
- package/packages/host-plugins/codex/plugins/persona-harness/skills/technical-intake/SKILL.md +1 -1
- package/packages/host-plugins/codex/plugins/persona-harness/skills/visual-qa/SKILL.md +1 -1
- package/packages/shared-skills/README.md +5 -2
- package/packages/shared-skills/catalog.json +2 -2
- package/packages/shared-skills/package.json +1 -1
- package/packages/shared-skills/skills/deep-interview/SKILL.md +33 -10
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,19 @@ preparation alone does not establish stable support or channel state.
|
|
|
8
8
|
|
|
9
9
|
## Unreleased
|
|
10
10
|
|
|
11
|
+
## [0.13.0] - 2026-09-03
|
|
12
|
+
|
|
13
|
+
- Add a portable Socratic product-discovery core and the explicit `ph interview`
|
|
14
|
+
CLI for bounded, one-question-at-a-time decision capture with visible
|
|
15
|
+
ten-percent progress and explicit approval.
|
|
16
|
+
- Keep active interview state project-bound and transient while allowing only
|
|
17
|
+
approved, structured decisions to be committed as portable Git content.
|
|
18
|
+
Oversized, malformed, stale, foreign, symlinked, and version-mismatched input
|
|
19
|
+
fails closed before a decision write.
|
|
20
|
+
- Generate the same canonical `deep-interview` guidance for Codex, Claude Code,
|
|
21
|
+
OpenCode, and Antigravity. Host routing can select it automatically when its
|
|
22
|
+
own predicates allow; direct durable CLI invocation remains explicit.
|
|
23
|
+
|
|
11
24
|
## [0.12.0] - 2026-09-03
|
|
12
25
|
|
|
13
26
|
- Ship the canonical shared-skill catalog as a package-contained Antigravity
|
package/README.md
CHANGED
|
@@ -39,6 +39,13 @@ npx ph go "Add a task creation endpoint."
|
|
|
39
39
|
npx ph workflow finish implement
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
+
For an explicitly selected product-discovery conversation that can carry only
|
|
43
|
+
approved decisions across Codex, Claude Code, OpenCode, and Antigravity:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npx ph interview start --json
|
|
47
|
+
```
|
|
48
|
+
|
|
42
49
|
**What has actually been observed:** a simple forged-evidence fixture is
|
|
43
50
|
ignored and `finish` exits `1`; the opt-in TDD rail blocked green-only
|
|
44
51
|
completion in 5/5 measured runs. Runtime injection did not improve the paired
|
|
@@ -210,9 +217,11 @@ evidence, or authority records. The adapter's actual behavior in a live
|
|
|
210
217
|
OpenCode release remains a separate host-observation boundary.
|
|
211
218
|
|
|
212
219
|
`ph init` materializes the bundled Persona-owned shared-skill catalog at each
|
|
213
|
-
host's project-local discovery path.
|
|
214
|
-
|
|
215
|
-
|
|
220
|
+
host's project-local discovery path. An enabled host routing layer can select
|
|
221
|
+
the product interview for an ambiguous product idea; the direct portable
|
|
222
|
+
`ph interview` CLI remains explicit/default-off. The interview asks one question
|
|
223
|
+
at a time and requires explicit brief approval; adapters never create workflow
|
|
224
|
+
state or invoke host agents automatically. When an installed host
|
|
216
225
|
integration sees a relevant request in a new project, it may first show a
|
|
217
226
|
single `(PH) Setup` recommendation instead of starting a skill. The proposal
|
|
218
227
|
does not write files or run commands; only a later explicit acceptance permits
|
package/dist/cli/cli-usage.js
CHANGED
|
@@ -14,6 +14,7 @@ function englishUsage(invocationName) {
|
|
|
14
14
|
" doctor Diagnose local OpenCode and Persona Harness installation state.",
|
|
15
15
|
" update Control opt-in project-local automatic Persona Harness updates.",
|
|
16
16
|
" plugin path <host> Print a verified Antigravity, Codex, or Claude plugin path.",
|
|
17
|
+
" interview Run a portable, explicit Socratic product interview.",
|
|
17
18
|
" observe <path> Report Java/Spring observer findings for a file or directory.",
|
|
18
19
|
" context Inspect the experimental default-off Context track.",
|
|
19
20
|
" authority Inspect or enroll bounded external consumer authority.",
|
|
@@ -31,6 +32,7 @@ function englishUsage(invocationName) {
|
|
|
31
32
|
` ${invocationName} update enable --yes`,
|
|
32
33
|
` ${invocationName} update repair --yes`,
|
|
33
34
|
` ${invocationName} plugin path codex`,
|
|
35
|
+
` ${invocationName} interview start --json`,
|
|
34
36
|
` ${invocationName} observe src/main/java`,
|
|
35
37
|
` ${invocationName} context status`,
|
|
36
38
|
` ${invocationName} authority status`,
|
|
@@ -54,6 +56,7 @@ function koreanUsage(invocationName) {
|
|
|
54
56
|
" doctor 로컬 OpenCode 및 Persona Harness 설치 상태를 진단합니다.",
|
|
55
57
|
" update 프로젝트별 자동 Persona Harness 업데이트를 제어합니다.",
|
|
56
58
|
" plugin path <host> 검증된 Antigravity, Codex 또는 Claude 플러그인 경로를 출력합니다.",
|
|
59
|
+
" interview 이식 가능한 명시적 Socratic 제품 인터뷰를 실행합니다.",
|
|
57
60
|
" observe <path> 파일 또는 디렉터리의 Java/Spring observer 관측 결과를 보고합니다.",
|
|
58
61
|
" context 실험적 기본 비활성 Context 트랙을 확인합니다.",
|
|
59
62
|
" authority 제한된 외부 consumer authority 상태를 확인하거나 등록합니다.",
|
|
@@ -73,6 +76,7 @@ function koreanUsage(invocationName) {
|
|
|
73
76
|
` ${invocationName} update enable --yes`,
|
|
74
77
|
` ${invocationName} update repair --yes`,
|
|
75
78
|
` ${invocationName} plugin path codex`,
|
|
79
|
+
` ${invocationName} interview start --json`,
|
|
76
80
|
` ${invocationName} observe src/main/java`,
|
|
77
81
|
` ${invocationName} context status`,
|
|
78
82
|
` ${invocationName} authority status`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-usage.js","sourceRoot":"","sources":["../../src/cli/cli-usage.ts"],"names":[],"mappings":"AAEA,SAAS,YAAY,CAAC,cAAsB;IAC1C,OAAO;QACL,UAAU,cAAc,sBAAsB;QAC9C,EAAE;QACF,iBAAiB;QACjB,qEAAqE;QACrE,gFAAgF;QAChF,EAAE;QACF,kBAAkB;QAClB,4EAA4E;QAC5E,2FAA2F;QAC3F,iGAAiG;QACjG,+HAA+H;QAC/H,gGAAgG;QAChG,gGAAgG;QAChG,4FAA4F;QAC5F,8FAA8F;QAC9F,oFAAoF;QACpF,uFAAuF;QACvF,4GAA4G;QAC5G,uFAAuF;QACvF,EAAE;QACF,WAAW;QACX,KAAK,cAAc,UAAU;QAC7B,KAAK,cAAc,YAAY;QAC/B,KAAK,cAAc,OAAO;QAC1B,KAAK,cAAc,eAAe;QAClC,KAAK,cAAc,qCAAqC;QACxD,mCAAmC,cAAc,aAAa;QAC9D,KAAK,cAAc,SAAS;QAC5B,KAAK,cAAc,sBAAsB;QACzC,KAAK,cAAc,sBAAsB;QACzC,KAAK,cAAc,oBAAoB;QACvC,KAAK,cAAc,wBAAwB;QAC3C,KAAK,cAAc,iBAAiB;QACpC,KAAK,cAAc,mBAAmB;QACtC,KAAK,cAAc,mDAAmD;QACtE,KAAK,cAAc,oBAAoB;KACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,SAAS,WAAW,CAAC,cAAsB;IACzC,OAAO;QACL,QAAQ,cAAc,eAAe;QACrC,EAAE;QACF,QAAQ;QACR,qDAAqD;QACrD,oEAAoE;QACpE,EAAE;QACF,QAAQ;QACR,gEAAgE;QAChE,6EAA6E;QAC7E,6EAA6E;QAC7E,8EAA8E;QAC9E,4EAA4E;QAC5E,sEAAsE;QACtE,iFAAiF;QACjF,+EAA+E;QAC/E,8DAA8D;QAC9D,2EAA2E;QAC3E,qFAAqF;QACrF,0EAA0E;QAC1E,EAAE;QACF,mCAAmC;QACnC,EAAE;QACF,KAAK;QACL,KAAK,cAAc,UAAU;QAC7B,KAAK,cAAc,YAAY;QAC/B,KAAK,cAAc,OAAO;QAC1B,KAAK,cAAc,eAAe;QAClC,KAAK,cAAc,6BAA6B;QAChD,sCAAsC,cAAc,aAAa;QACjE,KAAK,cAAc,SAAS;QAC5B,KAAK,cAAc,sBAAsB;QACzC,KAAK,cAAc,sBAAsB;QACzC,KAAK,cAAc,oBAAoB;QACvC,KAAK,cAAc,wBAAwB;QAC3C,KAAK,cAAc,iBAAiB;QACpC,KAAK,cAAc,mBAAmB;QACtC,KAAK,cAAc,mDAAmD;QACtE,KAAK,cAAc,oBAAoB;KACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,cAAsB,EAAE,SAAwB,IAAI;IAClF,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;AACrF,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli-usage.js","sourceRoot":"","sources":["../../src/cli/cli-usage.ts"],"names":[],"mappings":"AAEA,SAAS,YAAY,CAAC,cAAsB;IAC1C,OAAO;QACL,UAAU,cAAc,sBAAsB;QAC9C,EAAE;QACF,iBAAiB;QACjB,qEAAqE;QACrE,gFAAgF;QAChF,EAAE;QACF,kBAAkB;QAClB,4EAA4E;QAC5E,2FAA2F;QAC3F,iGAAiG;QACjG,+HAA+H;QAC/H,gGAAgG;QAChG,gGAAgG;QAChG,4FAA4F;QAC5F,qFAAqF;QACrF,8FAA8F;QAC9F,oFAAoF;QACpF,uFAAuF;QACvF,4GAA4G;QAC5G,uFAAuF;QACvF,EAAE;QACF,WAAW;QACX,KAAK,cAAc,UAAU;QAC7B,KAAK,cAAc,YAAY;QAC/B,KAAK,cAAc,OAAO;QAC1B,KAAK,cAAc,eAAe;QAClC,KAAK,cAAc,qCAAqC;QACxD,mCAAmC,cAAc,aAAa;QAC9D,KAAK,cAAc,SAAS;QAC5B,KAAK,cAAc,sBAAsB;QACzC,KAAK,cAAc,sBAAsB;QACzC,KAAK,cAAc,oBAAoB;QACvC,KAAK,cAAc,yBAAyB;QAC5C,KAAK,cAAc,wBAAwB;QAC3C,KAAK,cAAc,iBAAiB;QACpC,KAAK,cAAc,mBAAmB;QACtC,KAAK,cAAc,mDAAmD;QACtE,KAAK,cAAc,oBAAoB;KACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,SAAS,WAAW,CAAC,cAAsB;IACzC,OAAO;QACL,QAAQ,cAAc,eAAe;QACrC,EAAE;QACF,QAAQ;QACR,qDAAqD;QACrD,oEAAoE;QACpE,EAAE;QACF,QAAQ;QACR,gEAAgE;QAChE,6EAA6E;QAC7E,6EAA6E;QAC7E,8EAA8E;QAC9E,4EAA4E;QAC5E,sEAAsE;QACtE,iFAAiF;QACjF,mEAAmE;QACnE,+EAA+E;QAC/E,8DAA8D;QAC9D,2EAA2E;QAC3E,qFAAqF;QACrF,0EAA0E;QAC1E,EAAE;QACF,mCAAmC;QACnC,EAAE;QACF,KAAK;QACL,KAAK,cAAc,UAAU;QAC7B,KAAK,cAAc,YAAY;QAC/B,KAAK,cAAc,OAAO;QAC1B,KAAK,cAAc,eAAe;QAClC,KAAK,cAAc,6BAA6B;QAChD,sCAAsC,cAAc,aAAa;QACjE,KAAK,cAAc,SAAS;QAC5B,KAAK,cAAc,sBAAsB;QACzC,KAAK,cAAc,sBAAsB;QACzC,KAAK,cAAc,oBAAoB;QACvC,KAAK,cAAc,yBAAyB;QAC5C,KAAK,cAAc,wBAAwB;QAC3C,KAAK,cAAc,iBAAiB;QACpC,KAAK,cAAc,mBAAmB;QACtC,KAAK,cAAc,mDAAmD;QACtE,KAAK,cAAc,oBAAoB;KACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,cAAsB,EAAE,SAAwB,IAAI;IAClF,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;AACrF,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -30,6 +30,7 @@ import { runReviewCommand } from "./review.js";
|
|
|
30
30
|
import { runSmokeCommand } from "./smoke.js";
|
|
31
31
|
import { runProjectAutoUpdateCommand } from "./project-auto-update.js";
|
|
32
32
|
import { runHostPluginCommand } from "./host-plugin-command.js";
|
|
33
|
+
import { MAX_SOCRATIC_INTERVIEW_INPUT_BYTES, runSocraticInterviewCommand, } from "./socratic-interview-command.js";
|
|
33
34
|
import { decodeCliStdinText, readBoundedCliStdinText } from "./stdin-text.js";
|
|
34
35
|
import { MAX_SUBMITTED_REPORT_BYTES, workflowReportStdinLimitMessage } from "./report-status.js";
|
|
35
36
|
import { personaHarnessVersion } from "./version.js";
|
|
@@ -140,6 +141,12 @@ export function runPersonaCli(args, options = {}) {
|
|
|
140
141
|
if (command === "plugin") {
|
|
141
142
|
return runHostPluginCommand(args.slice(1), { packageRoot: options.packageRoot }, invocationName);
|
|
142
143
|
}
|
|
144
|
+
if (command === "interview") {
|
|
145
|
+
return runSocraticInterviewCommand(args.slice(1), {
|
|
146
|
+
projectDir: options.cwd,
|
|
147
|
+
stdin: options.stdin,
|
|
148
|
+
}, invocationName);
|
|
149
|
+
}
|
|
143
150
|
if (command === "authority") {
|
|
144
151
|
return runAuthorityCommand(args.slice(1), {
|
|
145
152
|
githubToken: selectAuthorityGithubToken(options.env ?? process.env),
|
|
@@ -268,7 +275,10 @@ async function cliStdin(args) {
|
|
|
268
275
|
const philosophyStdin = args[0] === "philosophy"
|
|
269
276
|
&& (args[1] === "propose" || args[1] === "refine")
|
|
270
277
|
&& args.includes("--stdin");
|
|
271
|
-
|
|
278
|
+
const interviewStdin = args[0] === "interview"
|
|
279
|
+
&& (args[1] === "advance" || args[1] === "approve" || args[1] === "cancel")
|
|
280
|
+
&& args.includes("--stdin");
|
|
281
|
+
if (!goStdin && !planStdin && !workflowStdin && !philosophyStdin && !interviewStdin) {
|
|
272
282
|
return undefined;
|
|
273
283
|
}
|
|
274
284
|
if (process.stdin.isTTY === true) {
|
|
@@ -285,6 +295,10 @@ async function cliStdin(args) {
|
|
|
285
295
|
const stdin = await readBoundedCliStdinText(process.stdin, MAX_PERSONALIZATION_CANDIDATE_BYTES);
|
|
286
296
|
return stdin.kind === "limit-exceeded" ? "" : stdin.text;
|
|
287
297
|
}
|
|
298
|
+
if (interviewStdin) {
|
|
299
|
+
const stdin = await readBoundedCliStdinText(process.stdin, MAX_SOCRATIC_INTERVIEW_INPUT_BYTES);
|
|
300
|
+
return stdin.kind === "limit-exceeded" ? "" : stdin.text;
|
|
301
|
+
}
|
|
288
302
|
return decodeCliStdinText(readFileSync(0));
|
|
289
303
|
}
|
|
290
304
|
export function isCliEntrypoint(entrypoint = process.argv[1], modulePath = fileURLToPath(import.meta.url)) {
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CliRunResult } from "./bearshell.js";
|
|
2
|
+
export { MAX_SOCRATIC_INTERVIEW_INPUT_BYTES } from "./socratic-interview-input.js";
|
|
3
|
+
export type SocraticInterviewCommandOptions = {
|
|
4
|
+
readonly projectDir?: string;
|
|
5
|
+
readonly stdin?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function socraticInterviewUsage(invocationName?: string): string;
|
|
8
|
+
export declare function runSocraticInterviewCommand(args: readonly string[], options?: SocraticInterviewCommandOptions, invocationName?: string): CliRunResult;
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import process from "node:process";
|
|
2
|
+
import { openSocraticInterviewProjectStore, SocraticInterviewProjectStateError, SocraticInterviewProjectStateStaleError, } from "./socratic-interview-project-store.js";
|
|
3
|
+
import { parseSocraticInterviewAdvanceInput, parseSocraticInterviewApprovalInput, parseSocraticInterviewCancelInput, socraticInterviewInputFailureCode, } from "./socratic-interview-input.js";
|
|
4
|
+
import { advanceSocraticInterview, createSocraticInterview, createSocraticInterviewDecisionRecord, replaySocraticInterviewDecisionRecord, } from "../interview/socratic-interview-core.js";
|
|
5
|
+
export { MAX_SOCRATIC_INTERVIEW_INPUT_BYTES } from "./socratic-interview-input.js";
|
|
6
|
+
export function socraticInterviewUsage(invocationName = "ph") {
|
|
7
|
+
return [
|
|
8
|
+
`Usage: ${invocationName} interview <start|advance|approve|cancel|status> --json`,
|
|
9
|
+
"",
|
|
10
|
+
"Commands:",
|
|
11
|
+
" start --json [--new] [--mode <new-product|brownfield-change-discovery>] Start or replay a portable interview.",
|
|
12
|
+
" advance --json --stdin Advance one active interview state from JSON stdin.",
|
|
13
|
+
" approve --json --stdin Persist only explicitly approved decision data from JSON stdin.",
|
|
14
|
+
" cancel --json --stdin End one active interview state without writing project data.",
|
|
15
|
+
" status --json Inspect the approved decision record without exposing its contents.",
|
|
16
|
+
].join("\n");
|
|
17
|
+
}
|
|
18
|
+
export function runSocraticInterviewCommand(args, options = {}, invocationName = "ph") {
|
|
19
|
+
const command = args[0];
|
|
20
|
+
if (command === undefined || command === "help" || command === "--help" || command === "-h") {
|
|
21
|
+
return success(`${socraticInterviewUsage(invocationName)}\n`);
|
|
22
|
+
}
|
|
23
|
+
if (command === "start")
|
|
24
|
+
return runStart(args.slice(1), options);
|
|
25
|
+
if (command === "advance")
|
|
26
|
+
return runAdvance(args.slice(1), options);
|
|
27
|
+
if (command === "approve")
|
|
28
|
+
return runApprove(args.slice(1), options);
|
|
29
|
+
if (command === "cancel")
|
|
30
|
+
return runCancel(args.slice(1), options);
|
|
31
|
+
if (command === "status")
|
|
32
|
+
return runStatus(args.slice(1), options);
|
|
33
|
+
return failure("socratic-interview-command-invalid");
|
|
34
|
+
}
|
|
35
|
+
function runStart(args, options) {
|
|
36
|
+
const parsed = parseStartArgs(args);
|
|
37
|
+
if (parsed === undefined)
|
|
38
|
+
return failure("socratic-interview-command-invalid");
|
|
39
|
+
return withStore(options.projectDir, (store) => {
|
|
40
|
+
const stored = store.readRecord();
|
|
41
|
+
if (!isUsableStoredRecord(stored))
|
|
42
|
+
return storedFailure(stored);
|
|
43
|
+
if (stored.kind === "valid" && !parsed.startNew) {
|
|
44
|
+
const replay = replaySocraticInterviewDecisionRecord(stored.value);
|
|
45
|
+
if (replay.kind !== "approved")
|
|
46
|
+
return failure(replay.code);
|
|
47
|
+
return successJson({
|
|
48
|
+
decisionCount: replay.decisions.length,
|
|
49
|
+
kind: "approved-decision-replay",
|
|
50
|
+
progress: 100,
|
|
51
|
+
recordRevision: stored.revision,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
const started = createSocraticInterview({
|
|
55
|
+
mode: parsed.mode,
|
|
56
|
+
projectBinding: store.projectBinding,
|
|
57
|
+
recordRevision: stored.revision,
|
|
58
|
+
});
|
|
59
|
+
return started.kind === "blocked" ? failure(started.code) : successJson(started);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function runAdvance(args, options) {
|
|
63
|
+
if (!hasExactArgs(args, ["--json", "--stdin"]))
|
|
64
|
+
return failure("socratic-interview-command-invalid");
|
|
65
|
+
const input = parseSocraticInterviewAdvanceInput(options.stdin);
|
|
66
|
+
if (input.kind !== "valid")
|
|
67
|
+
return failure(socraticInterviewInputFailureCode(input));
|
|
68
|
+
return withCurrentState(options.projectDir, input.value.state, (store) => {
|
|
69
|
+
const result = advanceSocraticInterview(input.value.state, input.value.response);
|
|
70
|
+
if (result.kind === "blocked")
|
|
71
|
+
return failure(result.code);
|
|
72
|
+
if (result.kind === "approved")
|
|
73
|
+
return failure("socratic-interview-approval-command-required");
|
|
74
|
+
return successJson(result);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
function runApprove(args, options) {
|
|
78
|
+
if (!hasExactArgs(args, ["--json", "--stdin"]))
|
|
79
|
+
return failure("socratic-interview-command-invalid");
|
|
80
|
+
const input = parseSocraticInterviewApprovalInput(options.stdin);
|
|
81
|
+
if (input.kind !== "valid")
|
|
82
|
+
return failure(socraticInterviewInputFailureCode(input));
|
|
83
|
+
return withCurrentState(options.projectDir, input.value.state, (store, stored) => {
|
|
84
|
+
const result = advanceSocraticInterview(input.value.state, input.value.confirmation);
|
|
85
|
+
if (result.kind === "blocked")
|
|
86
|
+
return failure(result.code);
|
|
87
|
+
if (result.kind !== "approved")
|
|
88
|
+
return successJson(result);
|
|
89
|
+
const record = createSocraticInterviewDecisionRecord(result.decisions, stored.revision + 1);
|
|
90
|
+
if (record === undefined)
|
|
91
|
+
return failure("socratic-interview-state-malformed");
|
|
92
|
+
store.writeRecordIfUnchanged(record, stored);
|
|
93
|
+
return successJson({ kind: "approved", progress: 100, recordRevision: record.revision });
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
function runCancel(args, options) {
|
|
97
|
+
if (!hasExactArgs(args, ["--json", "--stdin"]))
|
|
98
|
+
return failure("socratic-interview-command-invalid");
|
|
99
|
+
const input = parseSocraticInterviewCancelInput(options.stdin);
|
|
100
|
+
if (input.kind !== "valid")
|
|
101
|
+
return failure(socraticInterviewInputFailureCode(input));
|
|
102
|
+
return withCurrentState(options.projectDir, input.value, () => {
|
|
103
|
+
const result = advanceSocraticInterview(input.value, "cancel");
|
|
104
|
+
return result.kind === "stopped" ? successJson(result) : failure("socratic-interview-state-malformed");
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
function runStatus(args, options) {
|
|
108
|
+
if (!hasExactArgs(args, ["--json"]))
|
|
109
|
+
return failure("socratic-interview-command-invalid");
|
|
110
|
+
return withStore(options.projectDir, (store) => {
|
|
111
|
+
const stored = store.readRecord();
|
|
112
|
+
if (!isUsableStoredRecord(stored))
|
|
113
|
+
return storedFailure(stored);
|
|
114
|
+
return successJson(stored.kind === "absent"
|
|
115
|
+
? { kind: "status", record: "missing", recordRevision: 0 }
|
|
116
|
+
: { kind: "status", record: "approved", recordRevision: stored.revision });
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
function withCurrentState(projectDir, state, operation) {
|
|
120
|
+
return withStore(projectDir, (store) => {
|
|
121
|
+
if (state.projectBinding !== store.projectBinding)
|
|
122
|
+
return failure("socratic-interview-state-foreign");
|
|
123
|
+
const stored = store.readRecord();
|
|
124
|
+
if (!isUsableStoredRecord(stored))
|
|
125
|
+
return storedFailure(stored);
|
|
126
|
+
if (state.recordRevision !== stored.revision)
|
|
127
|
+
return failure("socratic-interview-state-stale");
|
|
128
|
+
return operation(store, stored);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
function withStore(projectDir, operation) {
|
|
132
|
+
let store;
|
|
133
|
+
try {
|
|
134
|
+
store = openSocraticInterviewProjectStore(projectDir ?? process.cwd());
|
|
135
|
+
return operation(store);
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
if (error instanceof SocraticInterviewProjectStateStaleError)
|
|
139
|
+
return failure("socratic-interview-state-stale");
|
|
140
|
+
if (error instanceof SocraticInterviewProjectStateError)
|
|
141
|
+
return failure("socratic-interview-state-unsafe");
|
|
142
|
+
return failure("socratic-interview-state-unsafe");
|
|
143
|
+
}
|
|
144
|
+
finally {
|
|
145
|
+
store?.close();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
function isUsableStoredRecord(stored) {
|
|
149
|
+
return stored.kind === "absent" || stored.kind === "valid";
|
|
150
|
+
}
|
|
151
|
+
function storedFailure(stored) {
|
|
152
|
+
return stored.kind === "version-mismatch"
|
|
153
|
+
? failure("socratic-interview-record-version-mismatch")
|
|
154
|
+
: failure("socratic-interview-record-malformed");
|
|
155
|
+
}
|
|
156
|
+
function parseStartArgs(args) {
|
|
157
|
+
let mode = "new-product";
|
|
158
|
+
let modeSeen = false;
|
|
159
|
+
let json = false;
|
|
160
|
+
let startNew = false;
|
|
161
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
162
|
+
const argument = args[index];
|
|
163
|
+
if (argument === "--json" && !json) {
|
|
164
|
+
json = true;
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
if (argument === "--new" && !startNew) {
|
|
168
|
+
startNew = true;
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
if (argument === "--mode" && !modeSeen) {
|
|
172
|
+
const candidate = args[index + 1];
|
|
173
|
+
if (candidate !== "new-product" && candidate !== "brownfield-change-discovery")
|
|
174
|
+
return undefined;
|
|
175
|
+
mode = candidate;
|
|
176
|
+
modeSeen = true;
|
|
177
|
+
index += 1;
|
|
178
|
+
continue;
|
|
179
|
+
}
|
|
180
|
+
return undefined;
|
|
181
|
+
}
|
|
182
|
+
return json ? { mode, startNew } : undefined;
|
|
183
|
+
}
|
|
184
|
+
function hasExactArgs(args, expected) {
|
|
185
|
+
const actual = [...args].sort();
|
|
186
|
+
const normalizedExpected = [...expected].sort();
|
|
187
|
+
return actual.length === normalizedExpected.length && actual.every((arg, index) => arg === normalizedExpected[index]);
|
|
188
|
+
}
|
|
189
|
+
function successJson(value) {
|
|
190
|
+
return success(`${JSON.stringify(value)}\n`);
|
|
191
|
+
}
|
|
192
|
+
function success(stdout) {
|
|
193
|
+
return { status: 0, stdout, stderr: "" };
|
|
194
|
+
}
|
|
195
|
+
function failure(code) {
|
|
196
|
+
return { status: 1, stdout: "", stderr: `${code}\n` };
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=socratic-interview-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socratic-interview-command.js","sourceRoot":"","sources":["../../src/cli/socratic-interview-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type SocraticInterviewState } from "../interview/socratic-interview-core.js";
|
|
2
|
+
export declare const MAX_SOCRATIC_INTERVIEW_INPUT_BYTES = 16384;
|
|
3
|
+
export type ParsedAdvanceInput = {
|
|
4
|
+
readonly response: string;
|
|
5
|
+
readonly state: SocraticInterviewState;
|
|
6
|
+
};
|
|
7
|
+
export type ParsedApprovalInput = {
|
|
8
|
+
readonly confirmation: string;
|
|
9
|
+
readonly state: SocraticInterviewState;
|
|
10
|
+
};
|
|
11
|
+
export type ParsedInterviewInput<T> = {
|
|
12
|
+
readonly kind: "valid";
|
|
13
|
+
readonly value: T;
|
|
14
|
+
} | {
|
|
15
|
+
readonly kind: "input-invalid";
|
|
16
|
+
} | {
|
|
17
|
+
readonly kind: "state-malformed";
|
|
18
|
+
} | {
|
|
19
|
+
readonly kind: "state-version-mismatch";
|
|
20
|
+
};
|
|
21
|
+
export declare function parseSocraticInterviewAdvanceInput(stdin: string | undefined): ParsedInterviewInput<ParsedAdvanceInput>;
|
|
22
|
+
export declare function parseSocraticInterviewApprovalInput(stdin: string | undefined): ParsedInterviewInput<ParsedApprovalInput>;
|
|
23
|
+
export declare function parseSocraticInterviewCancelInput(stdin: string | undefined): ParsedInterviewInput<SocraticInterviewState>;
|
|
24
|
+
export declare function socraticInterviewInputFailureCode(input: Exclude<ParsedInterviewInput<unknown>, {
|
|
25
|
+
readonly kind: "valid";
|
|
26
|
+
}>): string;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { isBoundedSocraticInterviewText, parseSocraticInterviewState, } from "../interview/socratic-interview-core.js";
|
|
2
|
+
export const MAX_SOCRATIC_INTERVIEW_INPUT_BYTES = 16_384;
|
|
3
|
+
export function parseSocraticInterviewAdvanceInput(stdin) {
|
|
4
|
+
const input = parseJsonObject(stdin, ["response", "state"]);
|
|
5
|
+
if (input === undefined || !isBoundedSocraticInterviewText(input.response))
|
|
6
|
+
return { kind: "input-invalid" };
|
|
7
|
+
const response = input.response;
|
|
8
|
+
return parsedState(input.state, (state) => ({ response, state }));
|
|
9
|
+
}
|
|
10
|
+
export function parseSocraticInterviewApprovalInput(stdin) {
|
|
11
|
+
const input = parseJsonObject(stdin, ["confirmation", "state"]);
|
|
12
|
+
if (input === undefined || !isBoundedSocraticInterviewText(input.confirmation))
|
|
13
|
+
return { kind: "input-invalid" };
|
|
14
|
+
const confirmation = input.confirmation;
|
|
15
|
+
return parsedState(input.state, (state) => ({ confirmation, state }));
|
|
16
|
+
}
|
|
17
|
+
export function parseSocraticInterviewCancelInput(stdin) {
|
|
18
|
+
const input = parseJsonObject(stdin, ["state"]);
|
|
19
|
+
return input === undefined ? { kind: "input-invalid" } : parsedState(input.state, (state) => state);
|
|
20
|
+
}
|
|
21
|
+
export function socraticInterviewInputFailureCode(input) {
|
|
22
|
+
return input.kind === "input-invalid" ? "socratic-interview-input-invalid" : `socratic-interview-${input.kind}`;
|
|
23
|
+
}
|
|
24
|
+
function parsedState(value, map) {
|
|
25
|
+
const parsed = parseSocraticInterviewState(value);
|
|
26
|
+
if (parsed.kind === "version-mismatch")
|
|
27
|
+
return { kind: "state-version-mismatch" };
|
|
28
|
+
if (parsed.kind === "malformed")
|
|
29
|
+
return { kind: "state-malformed" };
|
|
30
|
+
return { kind: "valid", value: map(parsed.value) };
|
|
31
|
+
}
|
|
32
|
+
function parseJsonObject(stdin, expectedKeys) {
|
|
33
|
+
if (stdin === undefined || stdin.trim() === "" || Buffer.byteLength(stdin, "utf8") > MAX_SOCRATIC_INTERVIEW_INPUT_BYTES)
|
|
34
|
+
return undefined;
|
|
35
|
+
try {
|
|
36
|
+
const parsed = JSON.parse(stdin);
|
|
37
|
+
return isRecord(parsed) && hasExactKeys(Object.keys(parsed), expectedKeys) ? parsed : undefined;
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function hasExactKeys(args, expected) {
|
|
44
|
+
const actual = [...args].sort();
|
|
45
|
+
const normalizedExpected = [...expected].sort();
|
|
46
|
+
return actual.length === normalizedExpected.length && actual.every((arg, index) => arg === normalizedExpected[index]);
|
|
47
|
+
}
|
|
48
|
+
function isRecord(value) {
|
|
49
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=socratic-interview-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"socratic-interview-input.js","sourceRoot":"","sources":["../../src/cli/socratic-interview-input.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type BootstrapWriteBoundary, type ProjectFileSnapshot } from "../io/bootstrap-write-boundary.js";
|
|
2
|
+
import { type SocraticInterviewDecisionRecord } from "../interview/socratic-interview-core.js";
|
|
3
|
+
export declare const SOCRATIC_INTERVIEW_DECISION_RECORD_PATH = ".persona/decisions/socratic-interview.json";
|
|
4
|
+
export declare const MAX_SOCRATIC_INTERVIEW_RECORD_BYTES: number;
|
|
5
|
+
export type SocraticInterviewStoredRecord = {
|
|
6
|
+
readonly kind: "absent";
|
|
7
|
+
readonly revision: 0;
|
|
8
|
+
readonly snapshot: undefined;
|
|
9
|
+
} | {
|
|
10
|
+
readonly kind: "valid";
|
|
11
|
+
readonly revision: number;
|
|
12
|
+
readonly snapshot: ProjectFileSnapshot;
|
|
13
|
+
readonly value: SocraticInterviewDecisionRecord;
|
|
14
|
+
} | {
|
|
15
|
+
readonly kind: "version-mismatch";
|
|
16
|
+
} | {
|
|
17
|
+
readonly kind: "malformed";
|
|
18
|
+
};
|
|
19
|
+
export declare class SocraticInterviewProjectStateError extends Error {
|
|
20
|
+
constructor();
|
|
21
|
+
}
|
|
22
|
+
export declare class SocraticInterviewProjectStateStaleError extends Error {
|
|
23
|
+
constructor();
|
|
24
|
+
}
|
|
25
|
+
export declare class SocraticInterviewProjectStore {
|
|
26
|
+
#private;
|
|
27
|
+
readonly projectBinding: string;
|
|
28
|
+
constructor(boundary: BootstrapWriteBoundary, projectBinding: string);
|
|
29
|
+
close(): void;
|
|
30
|
+
readRecord(): SocraticInterviewStoredRecord;
|
|
31
|
+
writeRecord(record: SocraticInterviewDecisionRecord): void;
|
|
32
|
+
writeRecordIfUnchanged(record: SocraticInterviewDecisionRecord, expected: Extract<SocraticInterviewStoredRecord, {
|
|
33
|
+
readonly kind: "absent" | "valid";
|
|
34
|
+
}>): void;
|
|
35
|
+
}
|
|
36
|
+
export declare function openSocraticInterviewProjectStore(projectDir?: string): SocraticInterviewProjectStore;
|