@spences10/pi-harness 0.0.9 → 0.0.10
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/README.md +10 -8
- package/dist/extension.js +19 -1
- package/dist/extension.js.map +1 -1
- package/dist/prompt.d.ts +1 -1
- package/dist/prompt.js +1 -1
- package/dist/prompt.js.map +1 -1
- package/dist/runtime/index.js +1 -1
- package/dist/runtime/index.js.map +1 -1
- package/package.json +2 -2
- package/skills/create-harness/SKILL.md +3 -2
- package/skills/execute-harness/SKILL.md +5 -4
package/README.md
CHANGED
|
@@ -109,14 +109,16 @@ shows a compact footer/status indicator; use `/harness status [dir]`
|
|
|
109
109
|
or `harness_read` for the full contract, task, validation, and outcome
|
|
110
110
|
details.
|
|
111
111
|
|
|
112
|
-
A terminal `completed` or `failed` status seals the run and
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
complete.
|
|
116
|
-
harness
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
112
|
+
A terminal `completed` or `failed` status seals the run and keeps
|
|
113
|
+
enforcement active for the remainder of the current turn, so an
|
|
114
|
+
executor cannot escape the outer policy by declaring its own work
|
|
115
|
+
complete. The extension automatically deactivates that terminal
|
|
116
|
+
harness on the next direct user turn or when the session starts again.
|
|
117
|
+
Extension-injected messages do not trigger cleanup. Use
|
|
118
|
+
`/harness clear` only to abandon a non-terminal run. Clearing or
|
|
119
|
+
deleting a harness affects only its `/tmp` control state; repository
|
|
120
|
+
changes remain in the working tree. Do not create a new harness merely
|
|
121
|
+
to commit or push already-reviewed work. A risky release, deployment,
|
|
120
122
|
migration, or destructive operation can still justify a dedicated
|
|
121
123
|
harness when explicitly requested or warranted by its actual risk.
|
|
122
124
|
|
package/dist/extension.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
2
|
import { check_command_allowed, check_path_allowed, } from './enforcement/policy.js';
|
|
3
3
|
import { HARNESS_SYSTEM_PROMPT } from './prompt.js';
|
|
4
|
-
import { harness_paths, read_contract } from './runtime/files.js';
|
|
4
|
+
import { harness_paths, read_contract, read_status, } from './runtime/files.js';
|
|
5
5
|
import { active_harness_context, amend_harness_runtime, create_harness_runtime, format_harness_status_line, format_harness_summary, update_harness_runtime, } from './runtime/index.js';
|
|
6
6
|
import { HARNESS_CUSTOM_TYPE, harness_amend_params_schema, harness_create_params_schema, harness_read_params_schema, harness_update_params_schema, } from './schema.js';
|
|
7
7
|
function persist_active_harness(pi, harness_dir) {
|
|
@@ -37,6 +37,14 @@ export function should_inject_harness_prompt(event) {
|
|
|
37
37
|
const selected_tools = event.systemPromptOptions?.selectedTools;
|
|
38
38
|
return !selected_tools || selected_tools.includes('bash');
|
|
39
39
|
}
|
|
40
|
+
function is_terminal_harness(harness_dir) {
|
|
41
|
+
if (!harness_dir ||
|
|
42
|
+
!existsSync(harness_paths(harness_dir).status)) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
const status = read_status(harness_dir).status;
|
|
46
|
+
return status === 'completed' || status === 'failed';
|
|
47
|
+
}
|
|
40
48
|
export default async function harness(pi) {
|
|
41
49
|
let active_harness_dir;
|
|
42
50
|
function set_active_harness(harness_dir, ctx) {
|
|
@@ -153,8 +161,18 @@ export default async function harness(pi) {
|
|
|
153
161
|
});
|
|
154
162
|
pi.on('session_start', async (_event, ctx) => {
|
|
155
163
|
active_harness_dir = restore_active_harness(ctx);
|
|
164
|
+
if (is_terminal_harness(active_harness_dir)) {
|
|
165
|
+
set_active_harness(undefined, ctx);
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
156
168
|
update_harness_ui(ctx, active_harness_dir);
|
|
157
169
|
});
|
|
170
|
+
pi.on('input', async (event, ctx) => {
|
|
171
|
+
if (event.source !== 'extension' &&
|
|
172
|
+
is_terminal_harness(active_harness_dir)) {
|
|
173
|
+
set_active_harness(undefined, ctx);
|
|
174
|
+
}
|
|
175
|
+
});
|
|
158
176
|
pi.on('before_agent_start', async (event) => {
|
|
159
177
|
let system_prompt = event.systemPrompt;
|
|
160
178
|
if (should_inject_harness_prompt(event)) {
|
package/dist/extension.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EACN,qBAAqB,EACrB,kBAAkB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
|
package/dist/prompt.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const HARNESS_SYSTEM_PROMPT = "## my-pi harness workflow\n\nFor ambiguous, risky, or multi-step coding tasks, prefer a real harness instead of a prose-only plan. Do not create a harness merely to commit or push work the user has already reviewed; those are follow-up operations, not new coding tasks. A genuinely risky release, deployment, migration, or destructive operation may warrant its own harness when the user requests one or the operational risk justifies it. A harness is an ephemeral /tmp runtime with harness.json, SYSTEM.md, TASK.md, status.json, validation scripts, logs, and enforcement rules; it is control state, not a worktree and does not own repository changes. Its outer policy is runtime-owned; its versioned inner scaffold is an amendable execution plan subordinate to system, developer, and current user instructions. Use the bundled create-harness skill plus harness_create to build it, harness_amend when legitimate scope or strategy changes, then execute until validation and review are complete. Completion seals the run and its evidence
|
|
1
|
+
export declare const HARNESS_SYSTEM_PROMPT = "## my-pi harness workflow\n\nFor ambiguous, risky, or multi-step coding tasks, prefer a real harness instead of a prose-only plan. Do not create a harness merely to commit or push work the user has already reviewed; those are follow-up operations, not new coding tasks. A genuinely risky release, deployment, migration, or destructive operation may warrant its own harness when the user requests one or the operational risk justifies it. A harness is an ephemeral /tmp runtime with harness.json, SYSTEM.md, TASK.md, status.json, validation scripts, logs, and enforcement rules; it is control state, not a worktree and does not own repository changes. Its outer policy is runtime-owned; its versioned inner scaffold is an amendable execution plan subordinate to system, developer, and current user instructions. Use the bundled create-harness skill plus harness_create to build it, harness_amend when legitimate scope or strategy changes, then execute until validation and review are complete. Completion seals the run and its evidence for the current turn; do not create a replacement harness to escape it. A terminal harness automatically deactivates on the next direct user turn or session startup. Use /harness clear only to abandon a non-terminal run.";
|
package/dist/prompt.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export const HARNESS_SYSTEM_PROMPT = `## my-pi harness workflow
|
|
2
2
|
|
|
3
|
-
For ambiguous, risky, or multi-step coding tasks, prefer a real harness instead of a prose-only plan. Do not create a harness merely to commit or push work the user has already reviewed; those are follow-up operations, not new coding tasks. A genuinely risky release, deployment, migration, or destructive operation may warrant its own harness when the user requests one or the operational risk justifies it. A harness is an ephemeral /tmp runtime with harness.json, SYSTEM.md, TASK.md, status.json, validation scripts, logs, and enforcement rules; it is control state, not a worktree and does not own repository changes. Its outer policy is runtime-owned; its versioned inner scaffold is an amendable execution plan subordinate to system, developer, and current user instructions. Use the bundled create-harness skill plus harness_create to build it, harness_amend when legitimate scope or strategy changes, then execute until validation and review are complete. Completion seals the run and its evidence
|
|
3
|
+
For ambiguous, risky, or multi-step coding tasks, prefer a real harness instead of a prose-only plan. Do not create a harness merely to commit or push work the user has already reviewed; those are follow-up operations, not new coding tasks. A genuinely risky release, deployment, migration, or destructive operation may warrant its own harness when the user requests one or the operational risk justifies it. A harness is an ephemeral /tmp runtime with harness.json, SYSTEM.md, TASK.md, status.json, validation scripts, logs, and enforcement rules; it is control state, not a worktree and does not own repository changes. Its outer policy is runtime-owned; its versioned inner scaffold is an amendable execution plan subordinate to system, developer, and current user instructions. Use the bundled create-harness skill plus harness_create to build it, harness_amend when legitimate scope or strategy changes, then execute until validation and review are complete. Completion seals the run and its evidence for the current turn; do not create a replacement harness to escape it. A terminal harness automatically deactivates on the next direct user turn or session startup. Use /harness clear only to abandon a non-terminal run.`;
|
|
4
4
|
//# sourceMappingURL=prompt.js.map
|
package/dist/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;;
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;;2sCAEsqC,CAAC"}
|
package/dist/runtime/index.js
CHANGED
|
@@ -222,7 +222,7 @@ export function active_harness_context(harness_dir) {
|
|
|
222
222
|
const contract = read_contract(harness_dir);
|
|
223
223
|
const status = read_status(harness_dir);
|
|
224
224
|
const terminal_guidance = status.status === 'completed' || status.status === 'failed'
|
|
225
|
-
? '\n\nThis run is sealed
|
|
225
|
+
? '\n\nThis run is sealed for the remainder of the current turn so the executor cannot escape policy by self-reporting completion. Do not create another harness merely to commit or push its already-reviewed changes. The extension will deactivate this terminal harness on the next direct user turn or session startup.'
|
|
226
226
|
: '';
|
|
227
227
|
return `## Active my-pi harness\n\nHarness directory: \`${harness_dir}\`\nHarness id: \`${contract.id}\`\nStatus: \`${status.status}\`\nProject cwd: \`${contract.policy.cwd}\`\nScaffold version: \`${contract.scaffold.version}\`\n\nThe outer policy is runtime-enforced. The inner scaffold is an amendable execution plan subordinate to system, developer, and current user instructions. If the user changes scope or evidence contradicts the scaffold, use \`harness_amend\`; a harness block is not a platform-policy refusal. Read \`${paths.system}\`, \`${paths.task}\`, and \`${paths.contract}\` before work. Use \`harness_update\` for progress and evidence. Run \`${paths.validate}\` and \`${paths.review}\` before completion.${terminal_guidance}`;
|
|
228
228
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACN,0BAA0B,EAC1B,eAAe,GAOf,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,cAAc,EACd,YAAY,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,yBAAyB,EACzB,uBAAuB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,GACrB,MAAM,gBAAgB,CAAC;AAExB,SAAS,OAAO;IACf,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC7B,OAAO,CACN,KAAK;SACH,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CACxB,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAC/B,WAAmB,EACnB,QAAyB;IAEzB,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IACzC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/D,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACjD,aAAa,CAAC,KAAK,CAAC,cAAc,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAC5D,aAAa,CACZ,KAAK,CAAC,MAAM,EACZ,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,CAChE,CAAC;IACF,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,MAA2B,EAC3B,WAAmB;IAEnB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/E,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IACzC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,OAAO,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAoB;QACjC,OAAO,EAAE,eAAe;QACxB,EAAE;QACF,UAAU;QACV,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE;YACP,GAAG;YACH,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI;gBAC1C,SAAS;gBACT,iBAAiB;gBACjB,SAAS;gBACT,MAAM;gBACN,QAAQ;aACR;YACD,aAAa,EAAE;gBACd,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,OAAO;gBACP,iBAAiB;aACjB;YACD,kBAAkB,EAAE;gBACnB,GAAG,0BAA0B;gBAC7B,GAAG,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC;aACpC;YACD,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,CAAC;SACtD;QACD,QAAQ,EAAE;YACT,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE;gBACR,KAAK,EAAE,MAAM,CAAC,aAAa;gBAC3B,QAAQ,EAAE,MAAM,CAAC,gBAAgB;aACjC;YACD,QAAQ,EAAE;gBACT,KAAK,EAAE,MAAM,CAAC,cAAc;gBAC5B,QAAQ,EAAE,MAAM,CAAC,iBAAiB,IAAI,KAAK;aAC3C;YACD,QAAQ,EAAE;gBACT,KAAK,EAAE,MAAM,CAAC,cAAc;gBAC5B,QAAQ,EAAE,MAAM,CAAC,iBAAiB,IAAI,MAAM;aAC5C;YACD,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC;YAC5C,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,EAAE;YACrD,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,KAAK;YACtD,gBAAgB,EAAE;gBACjB,8DAA8D;gBAC9D,4DAA4D;gBAC5D,uFAAuF;gBACvF,uDAAuD;aACvD;SACD;QACD,UAAU,EAAE,EAAE;KACd,CAAC;IACF,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACtC,YAAY,CAAC,WAAW,EAAE;QACzB,EAAE;QACF,MAAM,EAAE,SAAS;QACjB,GAAG,EAAE;YACJ;gBACC,SAAS,EAAE,UAAU;gBACrB,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,iBAAiB;aACvB;SACD;KACD,CAAC,CAAC;IACH,uBAAuB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC/C,uBAAuB,CAAC,WAAW,CAAC,CAAC;IACrC,YAAY,CAAC,WAAW,EAAE;QACzB,SAAS,EAAE,UAAU;QACrB,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,6BAA6B;KACnC,CAAC,CAAC;IACH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,qBAAqB,CACpC,MAA0B;IAE1B,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACnC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,CACd,GAAM,EACN,KAAuC,EACtC,EAAE;QACH,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,CAAC;IACF,CAAC,CAAC;IACF,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC1D,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACxD,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACpD,IACC,MAAM,CAAC,aAAa,KAAK,SAAS;QAClC,MAAM,CAAC,gBAAgB,KAAK,SAAS,EACpC,CAAC;QACF,QAAQ,CAAC,OAAO,GAAG;YAClB,KAAK,EAAE,MAAM,CAAC,aAAa,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK;YACrD,QAAQ,EAAE,MAAM,CAAC,gBAAgB,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ;SAC9D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IACD,IACC,MAAM,CAAC,cAAc,KAAK,SAAS;QACnC,MAAM,CAAC,iBAAiB,KAAK,SAAS,EACrC,CAAC;QACF,QAAQ,CAAC,QAAQ,GAAG;YACnB,KAAK,EAAE,MAAM,CAAC,cAAc,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK;YACvD,QAAQ,EACP,MAAM,CAAC,iBAAiB,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ;SACvD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;IACD,IACC,MAAM,CAAC,cAAc,KAAK,SAAS;QACnC,MAAM,CAAC,iBAAiB,KAAK,SAAS,EACrC,CAAC;QACF,QAAQ,CAAC,QAAQ,GAAG;YACnB,KAAK,EAAE,MAAM,CAAC,cAAc,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK;YACvD,QAAQ,EACP,MAAM,CAAC,iBAAiB,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ;SACvD,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,MAAM;QAClB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;IACtC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;IACtB,MAAM,SAAS,GAAG,OAAO,EAAE,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;QACxB,SAAS;QACT,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,MAAM;QAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,YAAY;QACZ,UAAU,EAAE,QAAQ,CAAC,OAAO;QAC5B,OAAO;KACP,CAAC,CAAC;IACH,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC7C,uBAAuB,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,KAAK,GAAoB;QAC9B,SAAS;QACT,IAAI,EAAE,qBAAqB,YAAY,OAAO,QAAQ,CAAC,OAAO,KAAK,MAAM,CAAC,MAAM,EAAE;KAClF,CAAC;IACF,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACxC,uBAAuB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5C,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,MAA2B;IAE3B,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAoB;QAC9B,SAAS,EAAE,OAAO,EAAE;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,aAAa,EAAE,MAAM,CAAC,aAAa;KACnC,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9B,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,CAAC;IACD,IAAI,MAAM,CAAC,KAAK;QAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC7C,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACxC,uBAAuB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,0BAA0B,CACzC,WAAmB;IAEnB,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACxC,OAAO,MAAM,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACzD,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACxC,OAAO;QACN,YAAY,QAAQ,CAAC,EAAE,EAAE;QACzB,cAAc,WAAW,EAAE;QAC3B,WAAW,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACrE,cAAc,QAAQ,CAAC,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,UAAU,CAAC,MAAM,cAAc;QACpF,SAAS,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;QACjC,kBAAkB,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE;QAC1E,eAAe,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,QAAQ,EAAE;QAC/E,YAAY,aAAa,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE;KACzD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACzD,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,iBAAiB,GACtB,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;QAC1D,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spences10/pi-harness",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10",
|
|
4
4
|
"description": "Ephemeral task harness runtime for my-pi agent workflows",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agent",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"access": "public"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@earendil-works/pi-coding-agent": "0.82.
|
|
39
|
+
"@earendil-works/pi-coding-agent": "0.82.1",
|
|
40
40
|
"@types/node": "^25.8.0",
|
|
41
41
|
"typebox": "^1.1.38",
|
|
42
42
|
"typescript": "^7.0.0",
|
|
@@ -47,8 +47,9 @@ repository changes do not live inside it.
|
|
|
47
47
|
may warrant a harness when explicitly requested or justified by its
|
|
48
48
|
actual risk.
|
|
49
49
|
- Never create a replacement harness merely to escape the guard of a
|
|
50
|
-
completed run. Completion seals its evidence
|
|
51
|
-
|
|
50
|
+
completed run. Completion seals its evidence for the current turn;
|
|
51
|
+
the extension deactivates it on the next direct user turn or session
|
|
52
|
+
startup.
|
|
52
53
|
- Keep `allowed_paths` narrow. Use `.` only when the task genuinely
|
|
53
54
|
spans the repo.
|
|
54
55
|
- Set `allow_test_changes: false` unless changing tests is explicitly
|
|
@@ -48,8 +48,9 @@ user instructions.
|
|
|
48
48
|
team status, and risks.
|
|
49
49
|
12. Mark `completed` only when validation passes and no escalation
|
|
50
50
|
rule applies; otherwise mark `failed` with evidence. A terminal
|
|
51
|
-
status seals the run and its
|
|
52
|
-
|
|
51
|
+
status seals the run and keeps its guard active for the remainder
|
|
52
|
+
of the current turn. The extension deactivates it on the next
|
|
53
|
+
direct user turn or session startup.
|
|
53
54
|
|
|
54
55
|
## Rules
|
|
55
56
|
|
|
@@ -57,8 +58,8 @@ user instructions.
|
|
|
57
58
|
scaffold without first recording an authorized amendment.
|
|
58
59
|
- Do not create a replacement harness merely to commit or push
|
|
59
60
|
already-reviewed changes or to escape a completed run's guard. The
|
|
60
|
-
harness is control state, not a worktree.
|
|
61
|
-
|
|
61
|
+
harness is control state, not a worktree. Use `/harness clear` only
|
|
62
|
+
to abandon a non-terminal run.
|
|
62
63
|
- Do not weaken tests, fake outputs, or bypass validation.
|
|
63
64
|
- An enforcement block is a harness mismatch, not a platform-policy
|
|
64
65
|
refusal. Amend the scaffold when authorized; otherwise ask the user.
|