persona-harness 0.8.29 → 0.8.30
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 +7 -0
- package/README.md +11 -0
- package/dist/cli/cli-usage.js +4 -0
- package/dist/cli/cli-usage.js.map +1 -1
- package/dist/cli/feedback.d.ts +2 -1
- package/dist/cli/feedback.js +6 -0
- package/dist/cli/feedback.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/owner-dogfood-feedback-store.d.ts +4 -0
- package/dist/cli/owner-dogfood-feedback-store.js +234 -0
- package/dist/cli/owner-dogfood-feedback-store.js.map +1 -0
- package/dist/cli/owner-dogfood-feedback.d.ts +8 -0
- package/dist/cli/owner-dogfood-feedback.js +58 -0
- package/dist/cli/owner-dogfood-feedback.js.map +1 -0
- package/dist/io/no-follow-directory-chain.d.ts +1 -0
- package/dist/io/no-follow-directory-chain.js +173 -0
- package/dist/io/no-follow-directory-chain.js.map +1 -0
- package/docs/current/release/consumer-authority-v0830-acceptance.json +1230 -0
- package/docs/current/release/history.md +11 -3
- package/docs/current/release/v0.8.30-release-notes.md +22 -0
- package/docs/releases/package-index.md +1 -0
- package/package.json +3 -1
- package/packages/shared-skills/package.json +1 -1
- package/scripts/clean-package-exercise-phase.mjs +2 -0
- package/scripts/consumer-authority-v0830-acceptance-schema.d.mts +28 -0
- package/scripts/consumer-authority-v0830-acceptance-schema.mjs +87 -0
- package/scripts/preflight-consumer-authority-external-artifact-transport.mjs +2 -2
- package/scripts/preflight-consumer-authority-external-attestation.mjs +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,13 @@ preparation alone does not establish stable support or channel state.
|
|
|
8
8
|
|
|
9
9
|
## Unreleased
|
|
10
10
|
|
|
11
|
+
- Add `ph feedback dogfood <code>` for bounded, append-only owner dogfooding
|
|
12
|
+
events. It records only a fixed diagnostic code and timestamp in a private
|
|
13
|
+
user-state JSONL file; invalid or unsafe state fails closed and the event has
|
|
14
|
+
no workflow, release, or authority effect.
|
|
15
|
+
|
|
16
|
+
## [0.8.29] - 2026-08-24
|
|
17
|
+
|
|
11
18
|
- Add safe ready-project philosophy guidance to OpenCode without enabling the
|
|
12
19
|
broader runtime injection rail, and register the bundled Persona skill
|
|
13
20
|
catalog with OpenCode's native skill loader.
|
package/README.md
CHANGED
|
@@ -217,12 +217,23 @@ npx ph workflow split README.md && npx ph workflow next # multi-ticket
|
|
|
217
217
|
npx ph bearshell --shell 'gradle test' # bounded execution
|
|
218
218
|
npx ph evidence summary | metrics --json | ab-report --json | pminus-report --json
|
|
219
219
|
npx ph authority status | enroll github <owner/repository> --workflow <path> | fetch github [owner/repository]
|
|
220
|
+
npx ph feedback # project-local tester feedback template
|
|
221
|
+
npx ph feedback dogfood source-read-runtime-unavailable # private bounded owner dogfooding event
|
|
220
222
|
npx ph observe src/main/java # Java/Spring observer findings
|
|
221
223
|
npx ph review backend-shape
|
|
222
224
|
```
|
|
223
225
|
|
|
224
226
|
Run `npx ph --help` for the full list. The workflow ledger lives under `.persona/workflow/` (`work/`, `history/`, `requirements/`).
|
|
225
227
|
|
|
228
|
+
`ph feedback dogfood <code>` is intentionally separate from the project
|
|
229
|
+
feedback template. It records only a fixed diagnostic code and timestamp in
|
|
230
|
+
`events.jsonl` inside the private owner state directory
|
|
231
|
+
`~/.local/state/persona-harness/owner-dogfood-feedback`. Set
|
|
232
|
+
`PH_OWNER_DOGFOOD_FEEDBACK_ROOT` only to an absolute replacement state
|
|
233
|
+
directory; the command appends `events.jsonl` inside it. It does not capture
|
|
234
|
+
project files or conversation text, and it cannot grant workflow, release,
|
|
235
|
+
authority, or external-observation permission.
|
|
236
|
+
|
|
226
237
|
## Advanced surfaces
|
|
227
238
|
|
|
228
239
|
Preview integrations, shared-skill source material, Role Checklist Relay, and
|
package/dist/cli/cli-usage.js
CHANGED
|
@@ -11,6 +11,7 @@ function englishUsage(invocationName) {
|
|
|
11
11
|
" update Control opt-in project-local automatic Persona Harness updates.",
|
|
12
12
|
" observe <path> Report Java/Spring observer findings for a file or directory.",
|
|
13
13
|
" authority Inspect or enroll bounded external consumer authority.",
|
|
14
|
+
" feedback Write a project feedback template or capture a bounded owner dogfood event.",
|
|
14
15
|
" philosophy Inspect and resolve the local personalization profile.",
|
|
15
16
|
"",
|
|
16
17
|
"Examples:",
|
|
@@ -24,6 +25,7 @@ function englishUsage(invocationName) {
|
|
|
24
25
|
` ${invocationName} update enable --yes`,
|
|
25
26
|
` ${invocationName} observe src/main/java`,
|
|
26
27
|
` ${invocationName} authority status`,
|
|
28
|
+
` ${invocationName} feedback dogfood source-read-runtime-unavailable`,
|
|
27
29
|
` ${invocationName} philosophy status`,
|
|
28
30
|
].join("\n");
|
|
29
31
|
}
|
|
@@ -40,6 +42,7 @@ function koreanUsage(invocationName) {
|
|
|
40
42
|
" update 프로젝트별 자동 Persona Harness 업데이트를 제어합니다.",
|
|
41
43
|
" observe <path> 파일 또는 디렉터리의 Java/Spring observer 관측 결과를 보고합니다.",
|
|
42
44
|
" authority 제한된 외부 consumer authority 상태를 확인하거나 등록합니다.",
|
|
45
|
+
" feedback 프로젝트 feedback 템플릿 또는 제한된 owner dogfood event를 기록합니다.",
|
|
43
46
|
" philosophy 개인화 profile을 확인하고 결정을 append-only로 관리합니다.",
|
|
44
47
|
"",
|
|
45
48
|
"도움말 언어 선택: --lang en 또는 --lang ko",
|
|
@@ -55,6 +58,7 @@ function koreanUsage(invocationName) {
|
|
|
55
58
|
` ${invocationName} update enable --yes`,
|
|
56
59
|
` ${invocationName} observe src/main/java`,
|
|
57
60
|
` ${invocationName} authority status`,
|
|
61
|
+
` ${invocationName} feedback dogfood source-read-runtime-unavailable`,
|
|
58
62
|
` ${invocationName} philosophy status`,
|
|
59
63
|
].join("\n");
|
|
60
64
|
}
|
|
@@ -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,kBAAkB;QAClB,4EAA4E;QAC5E,2FAA2F;QAC3F,iGAAiG;QACjG,+HAA+H;QAC/H,gGAAgG;QAChG,gGAAgG;QAChG,8FAA8F;QAC9F,uFAAuF;QACvF,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,wBAAwB;QAC3C,KAAK,cAAc,mBAAmB;QACtC,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,gEAAgE;QAChE,6EAA6E;QAC7E,6EAA6E;QAC7E,8EAA8E;QAC9E,4EAA4E;QAC5E,sEAAsE;QACtE,+EAA+E;QAC/E,2EAA2E;QAC3E,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,wBAAwB;QAC3C,KAAK,cAAc,mBAAmB;QACtC,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,kBAAkB;QAClB,4EAA4E;QAC5E,2FAA2F;QAC3F,iGAAiG;QACjG,+HAA+H;QAC/H,gGAAgG;QAChG,gGAAgG;QAChG,8FAA8F;QAC9F,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,wBAAwB;QAC3C,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,gEAAgE;QAChE,6EAA6E;QAC7E,6EAA6E;QAC7E,8EAA8E;QAC9E,4EAA4E;QAC5E,sEAAsE;QACtE,+EAA+E;QAC/E,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,wBAAwB;QAC3C,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/feedback.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CliRunResult } from "./bearshell.js";
|
|
2
|
-
type
|
|
2
|
+
import { type OwnerDogfoodFeedbackOptions } from "./owner-dogfood-feedback.js";
|
|
3
|
+
type FeedbackOptions = OwnerDogfoodFeedbackOptions & {
|
|
3
4
|
readonly projectDir?: string;
|
|
4
5
|
};
|
|
5
6
|
export declare function runFeedbackCommand(args: readonly string[], options?: FeedbackOptions, invocationName?: string): CliRunResult;
|
package/dist/cli/feedback.js
CHANGED
|
@@ -2,11 +2,13 @@ import { mkdirSync } from "node:fs";
|
|
|
2
2
|
import { dirname, join, resolve } from "node:path";
|
|
3
3
|
import process from "node:process";
|
|
4
4
|
import { writeFileAtomic } from "../io/atomic-file.js";
|
|
5
|
+
import { runOwnerDogfoodFeedbackCommand } from "./owner-dogfood-feedback.js";
|
|
5
6
|
import { readWorkflowStatus } from "./workflow-status.js";
|
|
6
7
|
const FEEDBACK_REPORT_PATH = ".persona/workflow/feedback-report.md";
|
|
7
8
|
function feedbackUsage(invocationName) {
|
|
8
9
|
return [
|
|
9
10
|
`Usage: ${invocationName} feedback`,
|
|
11
|
+
` ${invocationName} feedback dogfood <code>`,
|
|
10
12
|
"",
|
|
11
13
|
"Write a tester feedback template to .persona/workflow/feedback-report.md.",
|
|
12
14
|
"",
|
|
@@ -17,6 +19,7 @@ function feedbackUsage(invocationName) {
|
|
|
17
19
|
"",
|
|
18
20
|
"Scope:",
|
|
19
21
|
"- report-only tester feedback template",
|
|
22
|
+
"- bounded diagnostic-only owner dogfooding event capture",
|
|
20
23
|
"- not generated app product-quality certification",
|
|
21
24
|
].join("\n");
|
|
22
25
|
}
|
|
@@ -62,6 +65,9 @@ function createFeedbackTemplate(projectDir) {
|
|
|
62
65
|
].join("\n");
|
|
63
66
|
}
|
|
64
67
|
export function runFeedbackCommand(args, options = {}, invocationName = "ph") {
|
|
68
|
+
if (args[0] === "dogfood") {
|
|
69
|
+
return runOwnerDogfoodFeedbackCommand(args.slice(1), options, invocationName);
|
|
70
|
+
}
|
|
65
71
|
if (args.length === 1 && (args[0] === "--help" || args[0] === "-h" || args[0] === "help")) {
|
|
66
72
|
return { status: 0, stdout: `${feedbackUsage(invocationName)}\n`, stderr: "" };
|
|
67
73
|
}
|
package/dist/cli/feedback.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/cli/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAMzD,MAAM,oBAAoB,GAAG,sCAAsC,CAAA;AAEnE,SAAS,aAAa,CAAC,cAAsB;IAC3C,OAAO;QACL,UAAU,cAAc,WAAW;QACnC,EAAE;QACF,2EAA2E;QAC3E,EAAE;QACF,sBAAsB;QACtB,iBAAiB;QACjB,yBAAyB;QACzB,gBAAgB;QAChB,EAAE;QACF,QAAQ;QACR,wCAAwC;QACxC,mDAAmD;KACpD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAkB;IAChD,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAA;IAC7C,OAAO;QACL,mCAAmC;QACnC,EAAE;QACF,cAAc,UAAU,IAAI;QAC5B,oBAAoB,MAAM,CAAC,OAAO,EAAE;QACpC,EAAE;QACF,UAAU;QACV,EAAE;QACF,OAAO;QACP,aAAa;QACb,aAAa;QACb,2BAA2B;QAC3B,EAAE;QACF,aAAa;QACb,EAAE;QACF,gBAAgB;QAChB,4BAA4B;QAC5B,2CAA2C;QAC3C,oBAAoB;QACpB,iBAAiB;QACjB,EAAE;QACF,OAAO;QACP,EAAE;QACF,oCAAoC;QACpC,qCAAqC;QACrC,qDAAqD;QACrD,6BAA6B;QAC7B,EAAE;QACF,YAAY;QACZ,EAAE;QACF,IAAI;QACJ,EAAE;QACF,qBAAqB;QACrB,EAAE;QACF,WAAW;QACX,WAAW;QACX,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAuB,EAAE,UAA2B,EAAE,EAAE,cAAc,GAAG,IAAI;IAC9G,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC;QAC1F,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IAChF,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,0CAA0C,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;IACvH,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAA;IACzD,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACnD,eAAe,CAAC,UAAU,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAA;IAC/D,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,8BAA8B,UAAU,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;AACxF,CAAC"}
|
|
1
|
+
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/cli/feedback.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -141,7 +141,7 @@ export function runPersonaCli(args, options = {}) {
|
|
|
141
141
|
return runSmokeCommand(args.slice(1), { projectDir: options.cwd }, invocationName);
|
|
142
142
|
}
|
|
143
143
|
if (command === "feedback") {
|
|
144
|
-
return runFeedbackCommand(args.slice(1), { projectDir: options.cwd }, invocationName);
|
|
144
|
+
return runFeedbackCommand(args.slice(1), { env: options.env, projectDir: options.cwd }, invocationName);
|
|
145
145
|
}
|
|
146
146
|
if (command === "philosophy") {
|
|
147
147
|
return runPhilosophyCommand(args.slice(1), {
|
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,4 @@
|
|
|
1
|
+
export declare const OWNER_DOGFOOD_FEEDBACK_CODES: readonly ["bootstrap-workspace-intake-failed", "interview-repeated-question", "project-philosophy-not-injected", "shared-skill-routing-unavailable", "source-read-runtime-unavailable", "unnecessary-interview", "workflow-history-missing"];
|
|
2
|
+
export type OwnerDogfoodFeedbackCode = typeof OWNER_DOGFOOD_FEEDBACK_CODES[number];
|
|
3
|
+
export declare function parseOwnerDogfoodFeedbackCode(value: string | undefined): OwnerDogfoodFeedbackCode | undefined;
|
|
4
|
+
export declare function recordOwnerDogfoodFeedback(root: string, code: OwnerDogfoodFeedbackCode, recordedAt: Date): boolean;
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
import { closeSync, constants, fchmodSync, fstatSync, fsyncSync, lstatSync, openSync, unlinkSync, writeSync, } from "node:fs";
|
|
2
|
+
import { captureNoFollowDirectory, noFollowPathIdentityFromStat, readNoFollowRegularFile, sameNoFollowPathIdentity, sameNoFollowPathLocation, } from "../io/no-follow-file.js";
|
|
3
|
+
import { withNoFollowDirectoryChain } from "../io/no-follow-directory-chain.js";
|
|
4
|
+
const EVENT_FILE_NAME = "events.jsonl";
|
|
5
|
+
const EVENT_LOCK_NAME = ".events.lock";
|
|
6
|
+
const EVENT_SCHEMA_VERSION = "owner-dogfood-feedback.1";
|
|
7
|
+
const MAX_EVENT_BYTES = 512;
|
|
8
|
+
const MAX_STORE_BYTES = 256 * 1024;
|
|
9
|
+
const MAX_STORED_EVENTS = 512;
|
|
10
|
+
export const OWNER_DOGFOOD_FEEDBACK_CODES = [
|
|
11
|
+
"bootstrap-workspace-intake-failed",
|
|
12
|
+
"interview-repeated-question",
|
|
13
|
+
"project-philosophy-not-injected",
|
|
14
|
+
"shared-skill-routing-unavailable",
|
|
15
|
+
"source-read-runtime-unavailable",
|
|
16
|
+
"unnecessary-interview",
|
|
17
|
+
"workflow-history-missing",
|
|
18
|
+
];
|
|
19
|
+
export function parseOwnerDogfoodFeedbackCode(value) {
|
|
20
|
+
for (const code of OWNER_DOGFOOD_FEEDBACK_CODES) {
|
|
21
|
+
if (value === code)
|
|
22
|
+
return code;
|
|
23
|
+
}
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
export function recordOwnerDogfoodFeedback(root, code, recordedAt) {
|
|
27
|
+
const event = createEvent(code, recordedAt);
|
|
28
|
+
if (event === undefined)
|
|
29
|
+
return false;
|
|
30
|
+
const payload = `${JSON.stringify(event)}\n`;
|
|
31
|
+
if (Buffer.byteLength(payload, "utf8") > MAX_EVENT_BYTES)
|
|
32
|
+
return false;
|
|
33
|
+
return withNoFollowDirectoryChain(root, 0o700, () => recordAtCurrentRoot(payload)) === true;
|
|
34
|
+
}
|
|
35
|
+
function createEvent(code, recordedAt) {
|
|
36
|
+
try {
|
|
37
|
+
return { code, recordedAt: recordedAt.toISOString(), schemaVersion: EVENT_SCHEMA_VERSION };
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function recordAtCurrentRoot(payload) {
|
|
44
|
+
if (!hasPrivateCurrentRoot())
|
|
45
|
+
return false;
|
|
46
|
+
const lock = acquireEventLock();
|
|
47
|
+
if (lock === undefined)
|
|
48
|
+
return false;
|
|
49
|
+
try {
|
|
50
|
+
const existing = readExistingEvents();
|
|
51
|
+
if (existing.kind === "blocked" || (existing.kind === "ready" && existing.count >= MAX_STORED_EVENTS)) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
return appendEvent(existing, payload);
|
|
55
|
+
}
|
|
56
|
+
finally {
|
|
57
|
+
releaseEventLock(lock);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function readExistingEvents() {
|
|
61
|
+
const source = readNoFollowRegularFile(EVENT_FILE_NAME, MAX_STORE_BYTES, ".");
|
|
62
|
+
if (source.kind === "absent")
|
|
63
|
+
return { kind: "absent" };
|
|
64
|
+
if (source.kind !== "ready")
|
|
65
|
+
return { kind: "blocked" };
|
|
66
|
+
const count = countEventLines(source.value.bytes.toString("utf8"));
|
|
67
|
+
if (!hasPrivateCurrentRoot() || !isPrivateMode(source.value.identity.mode, "0600") || count === undefined) {
|
|
68
|
+
return { kind: "blocked" };
|
|
69
|
+
}
|
|
70
|
+
return { count, identity: source.value.identity, kind: "ready" };
|
|
71
|
+
}
|
|
72
|
+
function countEventLines(text) {
|
|
73
|
+
if (text.length === 0 || !text.endsWith("\n"))
|
|
74
|
+
return undefined;
|
|
75
|
+
const lines = text.slice(0, -1).split("\n");
|
|
76
|
+
if (lines.length > MAX_STORED_EVENTS || lines.some((line) => line.length === 0))
|
|
77
|
+
return undefined;
|
|
78
|
+
return lines.every((line) => isOwnerDogfoodFeedbackEventJson(line)) ? lines.length : undefined;
|
|
79
|
+
}
|
|
80
|
+
function isOwnerDogfoodFeedbackEventJson(line) {
|
|
81
|
+
try {
|
|
82
|
+
return isOwnerDogfoodFeedbackEvent(JSON.parse(line));
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function isOwnerDogfoodFeedbackEvent(value) {
|
|
89
|
+
if (!isRecord(value))
|
|
90
|
+
return false;
|
|
91
|
+
const record = value;
|
|
92
|
+
return Object.keys(record).length === 3
|
|
93
|
+
&& parseOwnerDogfoodFeedbackCode(typeof record.code === "string" ? record.code : undefined) !== undefined
|
|
94
|
+
&& typeof record.recordedAt === "string"
|
|
95
|
+
&& Number.isFinite(Date.parse(record.recordedAt))
|
|
96
|
+
&& record.schemaVersion === EVENT_SCHEMA_VERSION;
|
|
97
|
+
}
|
|
98
|
+
function isRecord(value) {
|
|
99
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
100
|
+
}
|
|
101
|
+
function appendEvent(existing, payload) {
|
|
102
|
+
let descriptor;
|
|
103
|
+
try {
|
|
104
|
+
const flags = existing.kind === "absent"
|
|
105
|
+
? constants.O_CREAT | constants.O_EXCL | constants.O_NOFOLLOW | constants.O_WRONLY
|
|
106
|
+
: constants.O_APPEND | constants.O_NOFOLLOW | constants.O_WRONLY;
|
|
107
|
+
descriptor = openSync(EVENT_FILE_NAME, flags, 0o600);
|
|
108
|
+
const before = fstatSync(descriptor, { bigint: true });
|
|
109
|
+
if (!before.isFile())
|
|
110
|
+
return false;
|
|
111
|
+
const beforeIdentity = noFollowPathIdentityFromStat(before);
|
|
112
|
+
if (existing.kind === "ready" && !sameNoFollowPathIdentity(existing.identity, beforeIdentity))
|
|
113
|
+
return false;
|
|
114
|
+
fchmodSync(descriptor, 0o600);
|
|
115
|
+
const afterMode = fstatSync(descriptor, { bigint: true });
|
|
116
|
+
if (!afterMode.isFile() || !isPrivateMode(noFollowPathIdentityFromStat(afterMode).mode, "0600"))
|
|
117
|
+
return false;
|
|
118
|
+
if (!writeAll(descriptor, payload))
|
|
119
|
+
return false;
|
|
120
|
+
fsyncSync(descriptor);
|
|
121
|
+
const after = fstatSync(descriptor, { bigint: true });
|
|
122
|
+
const current = lstatSync(EVENT_FILE_NAME, { bigint: true });
|
|
123
|
+
return after.isFile()
|
|
124
|
+
&& current.isFile()
|
|
125
|
+
&& !current.isSymbolicLink()
|
|
126
|
+
&& hasPrivateCurrentRoot()
|
|
127
|
+
&& sameNoFollowPathLocation(noFollowPathIdentityFromStat(after), noFollowPathIdentityFromStat(current))
|
|
128
|
+
&& isPrivateMode(noFollowPathIdentityFromStat(after).mode, "0600");
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
finally {
|
|
134
|
+
if (descriptor !== undefined)
|
|
135
|
+
closeDescriptor(descriptor);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
function acquireEventLock() {
|
|
139
|
+
let descriptor;
|
|
140
|
+
let identity;
|
|
141
|
+
try {
|
|
142
|
+
descriptor = openSync(EVENT_LOCK_NAME, constants.O_CREAT | constants.O_EXCL | constants.O_NOFOLLOW | constants.O_WRONLY, 0o600);
|
|
143
|
+
const before = fstatSync(descriptor, { bigint: true });
|
|
144
|
+
if (!before.isFile())
|
|
145
|
+
return undefined;
|
|
146
|
+
identity = noFollowPathIdentityFromStat(before);
|
|
147
|
+
const current = lstatSync(EVENT_LOCK_NAME, { bigint: true });
|
|
148
|
+
if (!current.isFile() || current.isSymbolicLink() || !sameNoFollowPathIdentity(identity, noFollowPathIdentityFromStat(current))) {
|
|
149
|
+
return undefined;
|
|
150
|
+
}
|
|
151
|
+
fchmodSync(descriptor, 0o600);
|
|
152
|
+
const after = fstatSync(descriptor, { bigint: true });
|
|
153
|
+
if (!after.isFile() || !isPrivateMode(noFollowPathIdentityFromStat(after).mode, "0600"))
|
|
154
|
+
return undefined;
|
|
155
|
+
identity = noFollowPathIdentityFromStat(after);
|
|
156
|
+
const updated = lstatSync(EVENT_LOCK_NAME, { bigint: true });
|
|
157
|
+
if (!updated.isFile() || updated.isSymbolicLink() || !sameNoFollowPathIdentity(identity, noFollowPathIdentityFromStat(updated))) {
|
|
158
|
+
return undefined;
|
|
159
|
+
}
|
|
160
|
+
const lock = { descriptor, identity };
|
|
161
|
+
descriptor = undefined;
|
|
162
|
+
identity = undefined;
|
|
163
|
+
return lock;
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
return undefined;
|
|
167
|
+
}
|
|
168
|
+
finally {
|
|
169
|
+
if (descriptor !== undefined)
|
|
170
|
+
closeDescriptor(descriptor);
|
|
171
|
+
if (identity !== undefined)
|
|
172
|
+
removeOwnedEventLock(identity);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
function releaseEventLock(lock) {
|
|
176
|
+
const current = currentOwnedEventLock(lock);
|
|
177
|
+
closeDescriptor(lock.descriptor);
|
|
178
|
+
if (current)
|
|
179
|
+
removeOwnedEventLock(lock.identity);
|
|
180
|
+
}
|
|
181
|
+
function currentOwnedEventLock(lock) {
|
|
182
|
+
try {
|
|
183
|
+
const descriptorStat = fstatSync(lock.descriptor, { bigint: true });
|
|
184
|
+
if (!descriptorStat.isFile())
|
|
185
|
+
return false;
|
|
186
|
+
const descriptor = noFollowPathIdentityFromStat(descriptorStat);
|
|
187
|
+
const current = lstatSync(EVENT_LOCK_NAME, { bigint: true });
|
|
188
|
+
return current.isFile()
|
|
189
|
+
&& !current.isSymbolicLink()
|
|
190
|
+
&& sameNoFollowPathIdentity(lock.identity, descriptor)
|
|
191
|
+
&& sameNoFollowPathIdentity(descriptor, noFollowPathIdentityFromStat(current));
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
function removeOwnedEventLock(identity) {
|
|
198
|
+
try {
|
|
199
|
+
const current = lstatSync(EVENT_LOCK_NAME, { bigint: true });
|
|
200
|
+
if (current.isFile() && !current.isSymbolicLink() && sameNoFollowPathIdentity(identity, noFollowPathIdentityFromStat(current))) {
|
|
201
|
+
unlinkSync(EVENT_LOCK_NAME);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
// A changed lock remains in place and blocks later writes rather than removing an unknown file.
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
function writeAll(descriptor, payload) {
|
|
209
|
+
const bytes = Buffer.from(payload, "utf8");
|
|
210
|
+
let offset = 0;
|
|
211
|
+
while (offset < bytes.byteLength) {
|
|
212
|
+
const written = writeSync(descriptor, bytes, offset, bytes.byteLength - offset);
|
|
213
|
+
if (written <= 0)
|
|
214
|
+
return false;
|
|
215
|
+
offset += written;
|
|
216
|
+
}
|
|
217
|
+
return true;
|
|
218
|
+
}
|
|
219
|
+
function hasPrivateCurrentRoot() {
|
|
220
|
+
const current = captureNoFollowDirectory(".");
|
|
221
|
+
return current.kind === "ready" && isPrivateMode(current.value.mode, "0700");
|
|
222
|
+
}
|
|
223
|
+
function isPrivateMode(mode, expected) {
|
|
224
|
+
return process.platform === "win32" || mode === expected;
|
|
225
|
+
}
|
|
226
|
+
function closeDescriptor(descriptor) {
|
|
227
|
+
try {
|
|
228
|
+
closeSync(descriptor);
|
|
229
|
+
}
|
|
230
|
+
catch {
|
|
231
|
+
// Cleanup must not turn a failed diagnostic recording into a process failure.
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
//# sourceMappingURL=owner-dogfood-feedback-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner-dogfood-feedback-store.js","sourceRoot":"","sources":["../../src/cli/owner-dogfood-feedback-store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,GACV,MAAM,SAAS,CAAA;AAEhB,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,GAEzB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AAE/E,MAAM,eAAe,GAAG,cAAc,CAAA;AACtC,MAAM,eAAe,GAAG,cAAc,CAAA;AACtC,MAAM,oBAAoB,GAAG,0BAA0B,CAAA;AACvD,MAAM,eAAe,GAAG,GAAG,CAAA;AAC3B,MAAM,eAAe,GAAG,GAAG,GAAG,IAAI,CAAA;AAClC,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAE7B,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,mCAAmC;IACnC,6BAA6B;IAC7B,iCAAiC;IACjC,kCAAkC;IAClC,iCAAiC;IACjC,uBAAuB;IACvB,0BAA0B;CAClB,CAAA;AAoBV,MAAM,UAAU,6BAA6B,CAAC,KAAyB;IACrE,KAAK,MAAM,IAAI,IAAI,4BAA4B,EAAE,CAAC;QAChD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;IACjC,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,IAAY,EACZ,IAA8B,EAC9B,UAAgB;IAEhB,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC3C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACrC,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAA;IAC5C,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,eAAe;QAAE,OAAO,KAAK,CAAA;IACtE,OAAO,0BAA0B,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,CAAA;AAC7F,CAAC;AAED,SAAS,WAAW,CAAC,IAA8B,EAAE,UAAgB;IACnE,IAAI,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAA;IAC5F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,IAAI,CAAC,qBAAqB,EAAE;QAAE,OAAO,KAAK,CAAA;IAC1C,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAA;IAC/B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;QACrC,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,KAAK,IAAI,iBAAiB,CAAC,EAAE,CAAC;YACtG,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC;YAAS,CAAC;QACT,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,MAAM,GAAG,uBAAuB,CAAC,eAAe,EAAE,eAAe,EAAE,GAAG,CAAC,CAAA;IAC7E,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IACvD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;IACvD,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IAClE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1G,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;IAC5B,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAClE,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAA;IAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,iBAAiB,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAA;IACjG,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;AAChG,CAAC;AAED,SAAS,+BAA+B,CAAC,IAAY;IACnD,IAAI,CAAC;QACH,OAAO,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAc;IACjD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAClC,MAAM,MAAM,GAAG,KAAK,CAAA;IACpB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;WAClC,6BAA6B,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS;WACtG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;WACrC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;WAC9C,MAAM,CAAC,aAAa,KAAK,oBAAoB,CAAA;AACpD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC;AAED,SAAS,WAAW,CAAC,QAAwB,EAAE,OAAe;IAC5D,IAAI,UAA8B,CAAA;IAClC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,KAAK,QAAQ;YACtC,CAAC,CAAC,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,QAAQ;YAClF,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAA;QAClE,UAAU,GAAG,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QACpD,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACtD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,OAAO,KAAK,CAAA;QAClC,MAAM,cAAc,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAA;QAC3D,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;YAAE,OAAO,KAAK,CAAA;QAC3G,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QAC7B,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACzD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC;YAAE,OAAO,KAAK,CAAA;QAC7G,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;YAAE,OAAO,KAAK,CAAA;QAChD,SAAS,CAAC,UAAU,CAAC,CAAA;QACrB,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,SAAS,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5D,OAAO,KAAK,CAAC,MAAM,EAAE;eAChB,OAAO,CAAC,MAAM,EAAE;eAChB,CAAC,OAAO,CAAC,cAAc,EAAE;eACzB,qBAAqB,EAAE;eACvB,wBAAwB,CAAC,4BAA4B,CAAC,KAAK,CAAC,EAAE,4BAA4B,CAAC,OAAO,CAAC,CAAC;eACpG,aAAa,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;YAAS,CAAC;QACT,IAAI,UAAU,KAAK,SAAS;YAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAI,UAA8B,CAAA;IAClC,IAAI,QAA0C,CAAA;IAC9C,IAAI,CAAC;QACH,UAAU,GAAG,QAAQ,CACnB,eAAe,EACf,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,QAAQ,EAChF,KAAK,CACN,CAAA;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACtD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,OAAO,SAAS,CAAA;QACtC,QAAQ,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,SAAS,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,4BAA4B,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAChI,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACrD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC;YAAE,OAAO,SAAS,CAAA;QACzG,QAAQ,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAA;QAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5D,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,4BAA4B,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAChI,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA;QACrC,UAAU,GAAG,SAAS,CAAA;QACtB,QAAQ,GAAG,SAAS,CAAA;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;YAAS,CAAC;QACT,IAAI,UAAU,KAAK,SAAS;YAAE,eAAe,CAAC,UAAU,CAAC,CAAA;QACzD,IAAI,QAAQ,KAAK,SAAS;YAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAe;IACvC,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;IAC3C,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAChC,IAAI,OAAO;QAAE,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAClD,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAe;IAC5C,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACnE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAAE,OAAO,KAAK,CAAA;QAC1C,MAAM,UAAU,GAAG,4BAA4B,CAAC,cAAc,CAAC,CAAA;QAC/D,MAAM,OAAO,GAAG,SAAS,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5D,OAAO,OAAO,CAAC,MAAM,EAAE;eAClB,CAAC,OAAO,CAAC,cAAc,EAAE;eACzB,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;eACnD,wBAAwB,CAAC,UAAU,EAAE,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAAA;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,QAA8B;IAC1D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5D,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,wBAAwB,CAAC,QAAQ,EAAE,4BAA4B,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAC/H,UAAU,CAAC,eAAe,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gGAAgG;IAClG,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,UAAkB,EAAE,OAAe;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC1C,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,OAAO,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,CAAA;QAC/E,IAAI,OAAO,IAAI,CAAC;YAAE,OAAO,KAAK,CAAA;QAC9B,MAAM,IAAI,OAAO,CAAA;IACnB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,qBAAqB;IAC5B,MAAM,OAAO,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAA;IAC7C,OAAO,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAC9E,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,QAAyB;IAC5D,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,CAAA;AAC1D,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB;IACzC,IAAI,CAAC;QACH,SAAS,CAAC,UAAU,CAAC,CAAA;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,8EAA8E;IAChF,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CliRunResult } from "./bearshell.js";
|
|
2
|
+
export type OwnerDogfoodFeedbackOptions = Readonly<{
|
|
3
|
+
readonly env?: Readonly<Record<string, string | undefined>>;
|
|
4
|
+
readonly homeDir?: string;
|
|
5
|
+
readonly now?: Date;
|
|
6
|
+
}>;
|
|
7
|
+
export declare function ownerDogfoodFeedbackUsage(invocationName: string): string;
|
|
8
|
+
export declare function runOwnerDogfoodFeedbackCommand(args: readonly string[], options?: OwnerDogfoodFeedbackOptions, invocationName?: string): CliRunResult;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { homedir } from "node:os";
|
|
2
|
+
import { isAbsolute, join, resolve } from "node:path";
|
|
3
|
+
import { OWNER_DOGFOOD_FEEDBACK_CODES, parseOwnerDogfoodFeedbackCode, recordOwnerDogfoodFeedback, } from "./owner-dogfood-feedback-store.js";
|
|
4
|
+
export function ownerDogfoodFeedbackUsage(invocationName) {
|
|
5
|
+
return [
|
|
6
|
+
`Usage: ${invocationName} feedback dogfood <code>`,
|
|
7
|
+
"",
|
|
8
|
+
"Append one bounded, diagnostic-only owner dogfooding observation.",
|
|
9
|
+
"No project files, workflow authority, release authority, or external authority changes.",
|
|
10
|
+
"",
|
|
11
|
+
"Codes:",
|
|
12
|
+
...OWNER_DOGFOOD_FEEDBACK_CODES.map((code) => ` ${code}`),
|
|
13
|
+
"",
|
|
14
|
+
"State directory:",
|
|
15
|
+
" default: ~/.local/state/persona-harness/owner-dogfood-feedback",
|
|
16
|
+
" events.jsonl is appended inside that directory.",
|
|
17
|
+
" Override root only with an absolute PH_OWNER_DOGFOOD_FEEDBACK_ROOT directory.",
|
|
18
|
+
].join("\n");
|
|
19
|
+
}
|
|
20
|
+
export function runOwnerDogfoodFeedbackCommand(args, options = {}, invocationName = "ph") {
|
|
21
|
+
if (args.length === 1 && (args[0] === "--help" || args[0] === "-h" || args[0] === "help")) {
|
|
22
|
+
return { status: 0, stdout: `${ownerDogfoodFeedbackUsage(invocationName)}\n`, stderr: "" };
|
|
23
|
+
}
|
|
24
|
+
const code = args.length === 1 ? parseOwnerDogfoodFeedbackCode(args[0]) : undefined;
|
|
25
|
+
if (code === undefined) {
|
|
26
|
+
return blockedResult("invalid-observation", invocationName);
|
|
27
|
+
}
|
|
28
|
+
const root = resolveRoot(options);
|
|
29
|
+
if (root === undefined || !recordOwnerDogfoodFeedback(root, code, options.now ?? new Date())) {
|
|
30
|
+
return blockedResult("state-unavailable", invocationName);
|
|
31
|
+
}
|
|
32
|
+
return { status: 0, stdout: "Owner dogfooding feedback recorded. Diagnostic-only.\n", stderr: "" };
|
|
33
|
+
}
|
|
34
|
+
function resolveRoot(options) {
|
|
35
|
+
const env = options.env ?? process.env;
|
|
36
|
+
const override = env.PH_OWNER_DOGFOOD_FEEDBACK_ROOT;
|
|
37
|
+
if (override !== undefined) {
|
|
38
|
+
return isSafeAbsolutePath(override) ? resolve(override) : undefined;
|
|
39
|
+
}
|
|
40
|
+
const home = firstNonEmpty(env.HOME) ?? firstNonEmpty(env.USERPROFILE) ?? options.homeDir ?? homedir();
|
|
41
|
+
if (!isSafeAbsolutePath(home))
|
|
42
|
+
return undefined;
|
|
43
|
+
return join(resolve(home), ".local", "state", "persona-harness", "owner-dogfood-feedback");
|
|
44
|
+
}
|
|
45
|
+
function firstNonEmpty(value) {
|
|
46
|
+
return value !== undefined && value.trim().length > 0 ? value : undefined;
|
|
47
|
+
}
|
|
48
|
+
function isSafeAbsolutePath(path) {
|
|
49
|
+
return isAbsolute(path) && path.trim() === path && path.length > 0 && !path.includes("\0");
|
|
50
|
+
}
|
|
51
|
+
function blockedResult(reason, invocationName) {
|
|
52
|
+
return {
|
|
53
|
+
status: 1,
|
|
54
|
+
stdout: "",
|
|
55
|
+
stderr: `Owner dogfooding feedback was not recorded (${reason}).\n\n${ownerDogfoodFeedbackUsage(invocationName)}\n`,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=owner-dogfood-feedback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner-dogfood-feedback.js","sourceRoot":"","sources":["../../src/cli/owner-dogfood-feedback.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function withNoFollowDirectoryChain<T>(requestedPath: string, mode: number, operation: () => T): T | undefined;
|