@spences10/pi-harness 0.0.9 → 0.0.11

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 CHANGED
@@ -91,6 +91,16 @@ pi -e ./packages/pi-harness
91
91
  The create/run/review commands prompt the model to use the bundled
92
92
  skills. The tools provide the actual runtime and enforcement layer.
93
93
 
94
+ Use a harness when a task benefits from an enforceable execution
95
+ contract because it has material risk, unresolved scope, destructive
96
+ effects, or complex coordination. Use the normal direct workflow for
97
+ bounded, low-risk changes that standard validation can verify, such as
98
+ documentation and copy edits, focused single-file fixes, configuration
99
+ or metadata updates, test expectation changes, formatting, and
100
+ reviewed commit or push follow-ups. Broad uncertain refactors,
101
+ migrations, deployments, risky releases, external side effects, and
102
+ explicit user requests are good harness candidates.
103
+
94
104
  `harness.json` contains two deliberately different layers:
95
105
 
96
106
  - `policy`: runtime-owned workspace and verifier protections such as
@@ -109,14 +119,16 @@ shows a compact footer/status indicator; use `/harness status [dir]`
109
119
  or `harness_read` for the full contract, task, validation, and outcome
110
120
  details.
111
121
 
112
- A terminal `completed` or `failed` status seals the run and its
113
- evidence but deliberately does not deactivate enforcement: an executor
114
- must not be able to escape the outer policy by declaring its own work
115
- complete. Use `/harness clear` to explicitly deactivate the finished
116
- harness before unrelated follow-up work. Clearing or deleting a
117
- harness affects only its `/tmp` control state; repository changes
118
- remain in the working tree. Do not create a new harness merely to
119
- commit or push already-reviewed work. A risky release, deployment,
122
+ A terminal `completed` or `failed` status seals the run and keeps
123
+ enforcement active for the remainder of the current turn, so an
124
+ executor cannot escape the outer policy by declaring its own work
125
+ complete. The extension automatically deactivates that terminal
126
+ harness on the next direct user turn or when the session starts again.
127
+ Extension-injected messages do not trigger cleanup. Use
128
+ `/harness clear` only to abandon a non-terminal run. Clearing or
129
+ deleting a harness affects only its `/tmp` control state; repository
130
+ changes remain in the working tree. Do not create a new harness merely
131
+ to commit or push already-reviewed work. A risky release, deployment,
120
132
  migration, or destructive operation can still justify a dedicated
121
133
  harness when explicitly requested or warranted by its actual risk.
122
134
 
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) {
@@ -104,8 +112,9 @@ export default async function harness(pi) {
104
112
  description: 'Create an ephemeral /tmp my-pi task harness with machine-readable contract, prompts, scripts, logs, and status.',
105
113
  promptSnippet: 'Create /tmp task harnesses for constrained agent execution',
106
114
  promptGuidelines: [
107
- 'Use harness_create after context gathering for ambiguous or high-risk coding tasks.',
108
- 'Do not create a harness solely to commit or push already-reviewed work. Risky operational work is an exception only when explicitly requested or justified by its actual risk.',
115
+ 'Use harness_create when a task benefits from an enforceable execution contract because it has material risk, unresolved scope, destructive effects, or complex coordination.',
116
+ 'Use the normal direct workflow for bounded, low-risk changes covered by standard validation, including routine docs or copy edits, focused single-file fixes, config or metadata updates, test expectation changes, formatting, and reviewed commit or push follow-ups.',
117
+ 'Broad uncertain refactors, migrations, deployments, risky releases, external side effects, and explicit user requests are good harness candidates.',
109
118
  'Treat harness.json as the execution contract and record progress with harness_update.',
110
119
  ],
111
120
  parameters: harness_create_params_schema,
@@ -153,8 +162,18 @@ export default async function harness(pi) {
153
162
  });
154
163
  pi.on('session_start', async (_event, ctx) => {
155
164
  active_harness_dir = restore_active_harness(ctx);
165
+ if (is_terminal_harness(active_harness_dir)) {
166
+ set_active_harness(undefined, ctx);
167
+ return;
168
+ }
156
169
  update_harness_ui(ctx, active_harness_dir);
157
170
  });
171
+ pi.on('input', async (event, ctx) => {
172
+ if (event.source !== 'extension' &&
173
+ is_terminal_harness(active_harness_dir)) {
174
+ set_active_harness(undefined, ctx);
175
+ }
176
+ });
158
177
  pi.on('before_agent_start', async (event) => {
159
178
  let system_prompt = event.systemPrompt;
160
179
  if (should_inject_harness_prompt(event)) {
@@ -1 +1 @@
1
- {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
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 but does not deactivate its guard; do not create a replacement harness to escape it. The user can explicitly deactivate the finished harness with /harness clear before unrelated follow-up work.";
1
+ export declare const HARNESS_SYSTEM_PROMPT = "## my-pi harness workflow\n\nUse a harness when a task benefits from an enforceable execution contract because it has material risk, unresolved scope, destructive effects, or complex coordination. Use the normal direct workflow for bounded, low-risk changes that standard validation can verify, such as documentation or copy edits, focused single-file fixes, configuration or metadata updates, test expectation changes, formatting, and reviewed commit or push follow-ups. Broad uncertain refactors, migrations, deployments, risky releases, external side effects, and explicit user requests are good harness candidates. 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 but does not deactivate its guard; do not create a replacement harness to escape it. The user can explicitly deactivate the finished harness with /harness clear before unrelated follow-up work.`;
3
+ Use a harness when a task benefits from an enforceable execution contract because it has material risk, unresolved scope, destructive effects, or complex coordination. Use the normal direct workflow for bounded, low-risk changes that standard validation can verify, such as documentation or copy edits, focused single-file fixes, configuration or metadata updates, test expectation changes, formatting, and reviewed commit or push follow-ups. Broad uncertain refactors, migrations, deployments, risky releases, external side effects, and explicit user requests are good harness candidates. 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
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;;grCAE2oC,CAAC"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;;g4CAE21C,CAAC"}
@@ -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. Its guard remains active so the executor cannot escape policy by self-reporting completion. Do not create another harness merely to commit or push its already-reviewed changes. Explain that the harness is control state, not a worktree, and ask the user to run `/harness clear` before unrelated follow-up work.'
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":"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"}
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.9",
3
+ "version": "0.0.11",
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.0",
39
+ "@earendil-works/pi-coding-agent": "0.84.2",
40
40
  "@types/node": "^25.8.0",
41
41
  "typebox": "^1.1.38",
42
42
  "typescript": "^7.0.0",
@@ -13,6 +13,27 @@ must live in `/tmp` and be created with the `harness_create` tool
13
13
  after context gathering. It is control state, not a worktree, and
14
14
  repository changes do not live inside it.
15
15
 
16
+ ## Use threshold
17
+
18
+ Use a harness when a task benefits from an enforceable execution
19
+ contract because it has material risk, unresolved scope, destructive
20
+ effects, or complex coordination. Good candidates include broad
21
+ uncertain refactors, migrations, deployments, risky releases, external
22
+ side effects, and explicit user requests.
23
+
24
+ Use the normal direct workflow for bounded, low-risk work that
25
+ standard validation can verify, including:
26
+
27
+ - routine documentation or copy edits
28
+ - focused single-file fixes
29
+ - configuration or metadata updates
30
+ - test expectation changes
31
+ - formatting and other low-risk maintenance
32
+ - reviewed commit or push follow-ups
33
+
34
+ Before creation, identify the contract benefit and the risk, scope, or
35
+ coordination need it controls.
36
+
16
37
  ## Workflow
17
38
 
18
39
  1. Recover context with read-only tools first: docs, package READMEs,
@@ -41,14 +62,10 @@ repository changes do not live inside it.
41
62
  - The scaffold is subordinate to system, developer, and current user
42
63
  instructions.
43
64
 
44
- - Do not create a harness solely to commit or push work the user has
45
- already reviewed. Those are follow-up operations, not new coding
46
- tasks. A release, deployment, migration, or destructive operation
47
- may warrant a harness when explicitly requested or justified by its
48
- actual risk.
49
65
  - Never create a replacement harness merely to escape the guard of a
50
- completed run. Completion seals its evidence; the user can
51
- deactivate it with `/harness clear` before unrelated follow-up work.
66
+ completed run. Completion seals its evidence for the current turn;
67
+ the extension deactivates it on the next direct user turn or session
68
+ startup.
52
69
  - Keep `allowed_paths` narrow. Use `.` only when the task genuinely
53
70
  spans the repo.
54
71
  - 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 evidence; it does not deactivate the
52
- runtime guard.
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. The user can run
61
- `/harness clear` before unrelated follow-up work.
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.