pi-background-tasks 2.1.4 → 2.4.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/BACKGROUND-TASKS-INSTRUCTIONS.md +1 -1
- package/PUBLISHING.md +2 -0
- package/README.md +16 -8
- package/TESTING.md +23 -14
- package/TEST_PLAN.md +13 -12
- package/THIRD_PARTY_NOTICES.md +30 -0
- package/docs/INDEX.md +8 -4
- package/docs/choose-a-workflow.md +5 -2
- package/docs/commands/claude-cache.md +50 -0
- package/docs/concepts/context-projection-and-budgeting.md +4 -2
- package/docs/getting-started.md +3 -0
- package/docs/manifest.json +86 -22
- package/docs/operations/configuration.md +15 -1
- package/docs/operations/releasing.md +6 -3
- package/docs/operations/troubleshooting.md +3 -1
- package/docs/read-before-edit.md +4 -1
- package/docs/reference/runtime-contracts.md +53 -53
- package/docs/subsystems/anthropic-attribution.md +63 -0
- package/docs/subsystems/attested-pi-runs.md +2 -2
- package/docs/subsystems/child-launch-durability-and-safety.md +3 -3
- package/docs/subsystems/delegation.md +34 -17
- package/docs/subsystems/docs-freshness-gate.md +6 -6
- package/docs/subsystems/fusion.md +2 -2
- package/docs/tools/bg_delegate.md +33 -16
- package/docs/tools/bg_result.md +2 -2
- package/docs/tools/bg_run.md +5 -0
- package/extensions/anthropic-attribution.ts +1 -0
- package/package.json +4 -2
- package/src/core/anthropic-attribution-path.ts +26 -0
- package/src/core/{fusion/anthropic-attribution.ts → anthropic-attribution.ts} +61 -8
- package/src/core/attested-pi-run.ts +10 -1
- package/src/core/common.ts +2 -1
- package/src/core/context/token-budget.ts +16 -3
- package/src/core/delegate/artifacts.ts +18 -12
- package/src/core/delegate/budget.ts +78 -33
- package/src/core/delegate/launch.ts +48 -16
- package/src/core/delegate/result-package.ts +16 -0
- package/src/core/delegate/runner.ts +45 -2
- package/src/core/delegate/seed.ts +12 -0
- package/src/core/delegate/types.ts +22 -3
- package/src/core/fusion/config.ts +1 -1
- package/src/core/fusion/pi-child.ts +7 -124
- package/src/core/registry.ts +4 -1
- package/src/delegate-child-extension.ts +377 -71
- package/src/delegate-extension.ts +58 -6
|
@@ -62,7 +62,8 @@ Calibration facts in code:
|
|
|
62
62
|
- observed large Fusion prompt corpus: 882 prompts, dated 2026-08-02;
|
|
63
63
|
- Anthropic configured rate: 1.73 B/token after haircut;
|
|
64
64
|
- OpenAI Codex configured rate: 2.89 B/token after haircut;
|
|
65
|
-
-
|
|
65
|
+
- delegate launch uses backed family calibration only for large prompts on routes that can hold the calibration domain; small prompts/routes, unbacked models, unknown providers, and dense-ASCII out-of-domain cases use conservative/floor rates;
|
|
66
|
+
- delegate runtime context estimates are advisory, while a separate provable `1.00 B/token` retained-growth budget drives explicit spilling and no-tool finalization.
|
|
66
67
|
|
|
67
68
|
The dense-ASCII gate is explicitly a low-whitespace heuristic proxy, not a tokenizer guarantee. Calibration applies only when the input is in the measured domain and the route capacity can hold that domain.
|
|
68
69
|
|
|
@@ -70,9 +71,10 @@ The dense-ASCII gate is explicitly a low-whitespace heuristic proxy, not a token
|
|
|
70
71
|
|
|
71
72
|
- `allowedInputTokens()` returns a signed number and never clamps unusable routes to zero.
|
|
72
73
|
- Callers must reject unusable or too-small context windows before spawning children.
|
|
73
|
-
- Multibyte bytes cannot bypass accounting.
|
|
74
|
+
- Multibyte bytes cannot bypass accounting; delegate's published provable counter-forecast charges them at the same `1.00 B/token` ceiling as every other byte class.
|
|
74
75
|
- Unknown output contracts are charged separately; future output cannot be assumed to be cheap.
|
|
75
76
|
- Rate-source warnings are part of the contract and should be surfaced in refusal details.
|
|
77
|
+
- A package-local estimate must not reject a live provider payload by subtracting hypothetical output; Fusion BUG-185 established this as a false-refusal shape. Use conservative estimates for lossless spill decisions, where a false positive preserves bytes rather than failing work.
|
|
76
78
|
|
|
77
79
|
## No silent truncation
|
|
78
80
|
|
package/docs/getting-started.md
CHANGED
|
@@ -82,6 +82,7 @@ Use `bg_delegate` when the worker needs the current conversation as background b
|
|
|
82
82
|
"name": "Config audit",
|
|
83
83
|
"prompt": "Inspect package configuration and report where background-task output limits are defined. Include file paths and concise evidence.",
|
|
84
84
|
"capability": "inspect",
|
|
85
|
+
"extensionMode": "isolated",
|
|
85
86
|
"autoDeliver": "never"
|
|
86
87
|
}
|
|
87
88
|
```
|
|
@@ -90,6 +91,8 @@ The child receives a frozen visible-conversation projection, its own session id/
|
|
|
90
91
|
|
|
91
92
|
After the completion notification, retrieve the committed answer:
|
|
92
93
|
|
|
94
|
+
`extensionMode:"isolated"` is the default and disables ambient extension discovery. If the pinned provider is registered only by a user/project extension, use `extensionMode:"ambient"` explicitly. Ambient mode executes arbitrary discovered extension code; the inspect tool allowlist does not sandbox it, so process isolation is weakened. No caller-supplied extension path or route fallback is supported.
|
|
95
|
+
|
|
93
96
|
```json
|
|
94
97
|
{
|
|
95
98
|
"taskId": "<task id from bg_delegate>",
|
package/docs/manifest.json
CHANGED
|
@@ -13,30 +13,40 @@
|
|
|
13
13
|
"state": "pass"
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
|
-
"authored_body_sha256": "sha256:
|
|
16
|
+
"authored_body_sha256": "sha256:810591c82ced086e1622be9b037db88c8a667856580895dc90cd5af54c6e2107",
|
|
17
17
|
"covers_sources": [
|
|
18
18
|
"src/core/context/parent-snapshot.ts",
|
|
19
19
|
"src/core/context/token-budget.ts",
|
|
20
20
|
"src/core/context/visible-conversation-v2.ts"
|
|
21
21
|
],
|
|
22
22
|
"doc_id": "concepts/context-projection-and-budgeting",
|
|
23
|
-
"notes": "Reviewed visible conversation transform identity, active-branch snapshotting, omission receipts and hashes, text/tool/thinking/image dispositions, token estimators, calibration, reserves, warnings, and fail-loud no-truncation behavior.",
|
|
24
23
|
"rel": "docs/concepts/context-projection-and-budgeting.md",
|
|
25
24
|
"required": true,
|
|
26
25
|
"reviewer": "gpt-5.5-final-context-projection-reviewer",
|
|
27
|
-
"state": "
|
|
26
|
+
"state": "stale-authored-prose"
|
|
28
27
|
},
|
|
29
28
|
{
|
|
30
|
-
"authored_body_sha256": "sha256:
|
|
29
|
+
"authored_body_sha256": "sha256:72c53dcc104f9b5efa57e38bcb21a4c3c620d5caf1571af82348f94dcafbe941",
|
|
30
|
+
"covers_sources": [
|
|
31
|
+
"extensions/anthropic-attribution.ts",
|
|
32
|
+
"src/core/anthropic-attribution-path.ts",
|
|
33
|
+
"src/core/anthropic-attribution.ts"
|
|
34
|
+
],
|
|
35
|
+
"doc_id": "subsystems/anthropic-attribution",
|
|
36
|
+
"rel": "docs/subsystems/anthropic-attribution.md",
|
|
37
|
+
"required": true,
|
|
38
|
+
"state": "missing"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"authored_body_sha256": "sha256:0840d793b8c18869f9a3bb8a72beeb602824ed1a580161f3456126af8af9b459",
|
|
31
42
|
"covers_sources": [
|
|
32
43
|
"src/core/attested-pi-run.ts"
|
|
33
44
|
],
|
|
34
45
|
"doc_id": "subsystems/attested-pi-runs",
|
|
35
|
-
"notes": "Reviewed attested Pi event parsing, last-reported stopReason semantics, OAuth route observation, argv/environment safeguards, git authority, hashes, failure handling, and atomic sidecar durability.",
|
|
36
46
|
"rel": "docs/subsystems/attested-pi-runs.md",
|
|
37
47
|
"required": true,
|
|
38
48
|
"reviewer": "gpt-5.5-final-attested-safety-reviewer",
|
|
39
|
-
"state": "
|
|
49
|
+
"state": "stale-authored-prose"
|
|
40
50
|
},
|
|
41
51
|
{
|
|
42
52
|
"authored_body_sha256": "sha256:253948c8b1f4dd339b0c1eeabd6e8addf584fe208a0f71c3a7f094921ff4547f",
|
|
@@ -52,20 +62,19 @@
|
|
|
52
62
|
"state": "stale-authored-prose"
|
|
53
63
|
},
|
|
54
64
|
{
|
|
55
|
-
"authored_body_sha256": "sha256:
|
|
65
|
+
"authored_body_sha256": "sha256:40ee5dac92b9e873d6a9f71a59c03ff1ccd44d6717a13d3be18f74b19e68326e",
|
|
56
66
|
"covers_sources": [
|
|
57
67
|
"src/core/durable-fs.ts",
|
|
58
68
|
"src/core/pi-launch.ts"
|
|
59
69
|
],
|
|
60
70
|
"doc_id": "subsystems/child-launch-durability-and-safety",
|
|
61
|
-
"notes": "Reviewed durable file replacement and child launch sources, including file fsync, POSIX directory sync, Windows limitation, ordinary versus attested output wording, and loud launch/durability failures.",
|
|
62
71
|
"rel": "docs/subsystems/child-launch-durability-and-safety.md",
|
|
63
72
|
"required": true,
|
|
64
73
|
"reviewer": "gpt-5.5-final-attested-safety-reviewer",
|
|
65
|
-
"state": "
|
|
74
|
+
"state": "stale-authored-prose"
|
|
66
75
|
},
|
|
67
76
|
{
|
|
68
|
-
"authored_body_sha256": "sha256:
|
|
77
|
+
"authored_body_sha256": "sha256:67fbb232e66bf0b9f4c1a81b54ec5476c0aae929ed0f0777d57601afcac8e08b",
|
|
69
78
|
"covers_sources": [
|
|
70
79
|
"extensions/delegate-child.ts",
|
|
71
80
|
"src/core/delegate/artifacts.ts",
|
|
@@ -87,10 +96,9 @@
|
|
|
87
96
|
"state": "stale-authored-prose"
|
|
88
97
|
},
|
|
89
98
|
{
|
|
90
|
-
"authored_body_sha256": "sha256:
|
|
99
|
+
"authored_body_sha256": "sha256:b6238bacecf46139dab1d6a8622783db76d913f0ce727205151b65b7cb210481",
|
|
91
100
|
"covers_sources": [
|
|
92
101
|
"extensions/fusion-child.ts",
|
|
93
|
-
"src/core/fusion/anthropic-attribution.ts",
|
|
94
102
|
"src/core/fusion/artifacts.ts",
|
|
95
103
|
"src/core/fusion/budget.ts",
|
|
96
104
|
"src/core/fusion/child-protocol.ts",
|
|
@@ -198,6 +206,17 @@
|
|
|
198
206
|
"review_policy": "contract",
|
|
199
207
|
"stability": "stable"
|
|
200
208
|
},
|
|
209
|
+
"commands/claude-cache": {
|
|
210
|
+
"audience": "user",
|
|
211
|
+
"covers_sources": [],
|
|
212
|
+
"covers_surfaces": [
|
|
213
|
+
"command:claude-cache"
|
|
214
|
+
],
|
|
215
|
+
"mode": "mixed",
|
|
216
|
+
"rel": "docs/commands/claude-cache.md",
|
|
217
|
+
"review_policy": "contract",
|
|
218
|
+
"stability": "evolving"
|
|
219
|
+
},
|
|
201
220
|
"commands/fusion": {
|
|
202
221
|
"audience": "user",
|
|
203
222
|
"covers_sources": [],
|
|
@@ -364,6 +383,19 @@
|
|
|
364
383
|
"review_policy": "contract",
|
|
365
384
|
"stability": "stable"
|
|
366
385
|
},
|
|
386
|
+
"subsystems/anthropic-attribution": {
|
|
387
|
+
"audience": "maintainer",
|
|
388
|
+
"covers_sources": [
|
|
389
|
+
"extensions/anthropic-attribution.ts",
|
|
390
|
+
"src/core/anthropic-attribution-path.ts",
|
|
391
|
+
"src/core/anthropic-attribution.ts"
|
|
392
|
+
],
|
|
393
|
+
"covers_surfaces": [],
|
|
394
|
+
"mode": "authored",
|
|
395
|
+
"rel": "docs/subsystems/anthropic-attribution.md",
|
|
396
|
+
"review_policy": "behavioral",
|
|
397
|
+
"stability": "evolving"
|
|
398
|
+
},
|
|
367
399
|
"subsystems/attested-pi-runs": {
|
|
368
400
|
"audience": "maintainer",
|
|
369
401
|
"covers_sources": [
|
|
@@ -435,7 +467,6 @@
|
|
|
435
467
|
"audience": "maintainer",
|
|
436
468
|
"covers_sources": [
|
|
437
469
|
"extensions/fusion-child.ts",
|
|
438
|
-
"src/core/fusion/anthropic-attribution.ts",
|
|
439
470
|
"src/core/fusion/artifacts.ts",
|
|
440
471
|
"src/core/fusion/budget.ts",
|
|
441
472
|
"src/core/fusion/child-protocol.ts",
|
|
@@ -624,6 +655,12 @@
|
|
|
624
655
|
"name": "command-contract-bg-update",
|
|
625
656
|
"rel": "docs/commands/bg-update.md"
|
|
626
657
|
},
|
|
658
|
+
{
|
|
659
|
+
"doc_id": "commands/claude-cache",
|
|
660
|
+
"generator": "scripts/docs/generate.mjs",
|
|
661
|
+
"name": "command-contract-claude-cache",
|
|
662
|
+
"rel": "docs/commands/claude-cache.md"
|
|
663
|
+
},
|
|
627
664
|
{
|
|
628
665
|
"doc_id": "commands/fusion",
|
|
629
666
|
"generator": "scripts/docs/generate.mjs",
|
|
@@ -775,7 +812,10 @@
|
|
|
775
812
|
"engines": {
|
|
776
813
|
"node": ">=22.19.0"
|
|
777
814
|
},
|
|
778
|
-
"
|
|
815
|
+
"entrypoints": [
|
|
816
|
+
"./extensions/anthropic-attribution.ts",
|
|
817
|
+
"./extensions/background-tasks.ts"
|
|
818
|
+
],
|
|
779
819
|
"files": [
|
|
780
820
|
"BACKGROUND-TASKS-INSTRUCTIONS.md",
|
|
781
821
|
"LICENSE",
|
|
@@ -783,6 +823,7 @@
|
|
|
783
823
|
"README.md",
|
|
784
824
|
"TESTING.md",
|
|
785
825
|
"TEST_PLAN.md",
|
|
826
|
+
"THIRD_PARTY_NOTICES.md",
|
|
786
827
|
"docs/",
|
|
787
828
|
"extensions/",
|
|
788
829
|
"logo.png",
|
|
@@ -791,13 +832,14 @@
|
|
|
791
832
|
"image": "https://raw.githubusercontent.com/ismailsaleekh/pi-background-tasks/main/logo.png",
|
|
792
833
|
"name": "pi-background-tasks",
|
|
793
834
|
"type": "module",
|
|
794
|
-
"version": "2.
|
|
835
|
+
"version": "2.4.0"
|
|
795
836
|
},
|
|
796
837
|
"public_surface_ids": [
|
|
797
838
|
"command:bg",
|
|
798
839
|
"command:bg-clear",
|
|
799
840
|
"command:bg-tasks",
|
|
800
841
|
"command:bg-update",
|
|
842
|
+
"command:claude-cache",
|
|
801
843
|
"command:fusion",
|
|
802
844
|
"command:fusion-models",
|
|
803
845
|
"command:jobs",
|
|
@@ -855,6 +897,13 @@
|
|
|
855
897
|
"name": "bg-update",
|
|
856
898
|
"source": "src/extension.ts:567"
|
|
857
899
|
},
|
|
900
|
+
{
|
|
901
|
+
"description": "Show or set Claude cache retention for this session (short, long, default)",
|
|
902
|
+
"id": "command:claude-cache",
|
|
903
|
+
"kind": "command",
|
|
904
|
+
"name": "claude-cache",
|
|
905
|
+
"source": "src/core/anthropic-attribution.ts:1928"
|
|
906
|
+
},
|
|
858
907
|
{
|
|
859
908
|
"description": "Start fixed-purpose Fusion reason in the background and return immediately.",
|
|
860
909
|
"id": "command:fusion",
|
|
@@ -950,7 +999,7 @@
|
|
|
950
999
|
],
|
|
951
1000
|
"tool": [
|
|
952
1001
|
{
|
|
953
|
-
"description": "Launch one background Pi agent seeded with a frozen projection of the current conversation, then return a launch receipt immediately. The child has its own session, a route pinned at launch that is never substituted, and read-only tools. Retrieve its verified answer with bg_result.",
|
|
1002
|
+
"description": "Launch one background Pi agent seeded with a frozen projection of the current conversation, then return a launch receipt immediately. The child has its own session, a route pinned at launch that is never substituted, and read-only tools. Extension discovery is isolated by default; ambient mode supports extension-registered providers but executes arbitrary discovered extension code. Retrieve its verified answer with bg_result.",
|
|
954
1003
|
"id": "tool:bg_delegate",
|
|
955
1004
|
"kind": "tool",
|
|
956
1005
|
"label": "Background Delegate",
|
|
@@ -958,7 +1007,9 @@
|
|
|
958
1007
|
"promptGuidelines": [
|
|
959
1008
|
"Use bg_delegate when work should continue in the background and the worker needs what you already know: it is seeded with a projection of this conversation.",
|
|
960
1009
|
"The prompt is authoritative. State exactly what you want investigated and what the answer should contain.",
|
|
961
|
-
"The delegate is inspect-only: it can read, search, and list files, but cannot run shell commands, edit or write files, use the network, or delegate further.",
|
|
1010
|
+
"The delegate is inspect-only at the model-visible tool boundary: it can read, search, and list files, but cannot run shell commands, edit or write files, use the network, or delegate further.",
|
|
1011
|
+
"Extension discovery is isolated by default. Use extensionMode:\"ambient\" only when the pinned provider is registered by an ambient user/project extension.",
|
|
1012
|
+
"Ambient mode executes arbitrary discovered extension code in the child process. Tool allowlists do not sandbox extension code, so ambient mode weakens inspect-only process isolation.",
|
|
962
1013
|
"Facts that exist only inside omitted tool output are not available to the delegate. Restate such findings in the prompt.",
|
|
963
1014
|
"bg_delegate returns immediately. Do not poll; retrieve the answer with bg_result after the terminal notification arrives."
|
|
964
1015
|
],
|
|
@@ -974,6 +1025,10 @@
|
|
|
974
1025
|
"description": "Capability profile. Only \"inspect\" (read/search/list, no shell, no writes, no network, no recursion) is supported.",
|
|
975
1026
|
"type": "string"
|
|
976
1027
|
},
|
|
1028
|
+
"extensionMode": {
|
|
1029
|
+
"description": "Extension discovery: isolated | ambient. Default isolated. Ambient is for extension-registered providers and executes arbitrary discovered extension code, weakening process isolation.",
|
|
1030
|
+
"type": "string"
|
|
1031
|
+
},
|
|
977
1032
|
"maxToolCalls": {
|
|
978
1033
|
"description": "Maximum tool calls. Default 120.",
|
|
979
1034
|
"type": "number"
|
|
@@ -1028,7 +1083,7 @@
|
|
|
1028
1083
|
],
|
|
1029
1084
|
"type": "object"
|
|
1030
1085
|
},
|
|
1031
|
-
"source": "src/delegate-extension.ts:
|
|
1086
|
+
"source": "src/delegate-extension.ts:340"
|
|
1032
1087
|
},
|
|
1033
1088
|
{
|
|
1034
1089
|
"description": "Stop a running background task by ID. Fails loudly if the task is unknown or already finished.",
|
|
@@ -1116,7 +1171,7 @@
|
|
|
1116
1171
|
],
|
|
1117
1172
|
"type": "object"
|
|
1118
1173
|
},
|
|
1119
|
-
"source": "src/delegate-extension.ts:
|
|
1174
|
+
"source": "src/delegate-extension.ts:516"
|
|
1120
1175
|
},
|
|
1121
1176
|
{
|
|
1122
1177
|
"description": "Start a named long-running shell command in the background and return immediately with a task ID and output path. By default, completed, failed, or killed terminal state is delivered automatically as <background-task-notification> and starts a follow-up agent turn; do not sleep or poll merely to wait. Output is written to .pi/tasks and model-visible logs are bounded to 50.0KB.",
|
|
@@ -1608,6 +1663,9 @@
|
|
|
1608
1663
|
},
|
|
1609
1664
|
"schema_version": "pi-background-tasks.docs-manifest.v2",
|
|
1610
1665
|
"source_to_docs": {
|
|
1666
|
+
"extensions/anthropic-attribution.ts": [
|
|
1667
|
+
"subsystems/anthropic-attribution"
|
|
1668
|
+
],
|
|
1611
1669
|
"extensions/background-tasks.ts": [
|
|
1612
1670
|
"subsystems/host-ui-and-telemetry"
|
|
1613
1671
|
],
|
|
@@ -1617,6 +1675,12 @@
|
|
|
1617
1675
|
"extensions/fusion-child.ts": [
|
|
1618
1676
|
"subsystems/fusion"
|
|
1619
1677
|
],
|
|
1678
|
+
"src/core/anthropic-attribution-path.ts": [
|
|
1679
|
+
"subsystems/anthropic-attribution"
|
|
1680
|
+
],
|
|
1681
|
+
"src/core/anthropic-attribution.ts": [
|
|
1682
|
+
"subsystems/anthropic-attribution"
|
|
1683
|
+
],
|
|
1620
1684
|
"src/core/attested-pi-run.ts": [
|
|
1621
1685
|
"subsystems/attested-pi-runs"
|
|
1622
1686
|
],
|
|
@@ -1665,9 +1729,6 @@
|
|
|
1665
1729
|
"src/core/extension-api.ts": [
|
|
1666
1730
|
"api/eventbus-v1"
|
|
1667
1731
|
],
|
|
1668
|
-
"src/core/fusion/anthropic-attribution.ts": [
|
|
1669
|
-
"subsystems/fusion"
|
|
1670
|
-
],
|
|
1671
1732
|
"src/core/fusion/artifacts.ts": [
|
|
1672
1733
|
"subsystems/fusion"
|
|
1673
1734
|
],
|
|
@@ -1766,6 +1827,9 @@
|
|
|
1766
1827
|
"command:bg-update": [
|
|
1767
1828
|
"commands/bg-update"
|
|
1768
1829
|
],
|
|
1830
|
+
"command:claude-cache": [
|
|
1831
|
+
"commands/claude-cache"
|
|
1832
|
+
],
|
|
1769
1833
|
"command:fusion": [
|
|
1770
1834
|
"commands/fusion"
|
|
1771
1835
|
],
|
|
@@ -59,6 +59,20 @@ Bounded logs are for context safety; they point to the full local output file wh
|
|
|
59
59
|
|
|
60
60
|
Telemetry wrapping is best-effort and task-owned. Missing telemetry is reported as unavailable, never as zero. Under Windows `cmd`, safe interception is unavailable and the command is left unchanged.
|
|
61
61
|
|
|
62
|
+
## Global Anthropic attribution and caching
|
|
63
|
+
|
|
64
|
+
Normal package installation loads the package-owned Anthropic attribution/sanitization extension before the background-task extension. Non-Anthropic sessions are unchanged. Anthropic sessions require Pi's subscription OAuth route; the provider refuses metered Anthropic credentials and reads `userID` plus `oauthAccount.accountUuid` from `~/.claude.json` without writing it.
|
|
65
|
+
|
|
66
|
+
| Variable/command | Effect |
|
|
67
|
+
|---|---|
|
|
68
|
+
| `PI_CACHE_RETENTION=long` | Default to one-hour Anthropic cache breakpoints where the model supports them. This is the package default when unset. |
|
|
69
|
+
| `PI_CACHE_RETENTION=short` | Default to ordinary ephemeral cache breakpoints without a one-hour TTL. |
|
|
70
|
+
| `PI_CACHE_RETENTION=none` | Do not add default cache breakpoints. Explicit call-level policy remains authoritative. |
|
|
71
|
+
| `/claude-cache status` | Show the effective cache-retention policy for the current session. |
|
|
72
|
+
| `/claude-cache short\|long\|default` | Store or clear a branch-local session override. |
|
|
73
|
+
|
|
74
|
+
Invalid retention values and malformed persisted overrides fail loudly. The extension also removes only the three reviewed exact-match Pi system-prompt lines rejected by Anthropic; it has no external sanitizer dependency. See [Anthropic attribution](../subsystems/anthropic-attribution.md) and [`/claude-cache`](../commands/claude-cache.md).
|
|
75
|
+
|
|
62
76
|
## Fusion model configuration
|
|
63
77
|
|
|
64
78
|
Fusion model slots are stored globally under the Pi agent directory as:
|
|
@@ -77,7 +91,7 @@ Use `/fusion-models` in TUI mode to configure five slots:
|
|
|
77
91
|
|
|
78
92
|
Missing config means all five slots are `$current`. Config entries are qualified `provider/model` selections or `$current`; malformed config, stale explicit models, unavailable current models, and concurrent selector conflicts fail loudly before child inference.
|
|
79
93
|
|
|
80
|
-
Fusion accepts frontier-model routes only through Pi Anthropic or Codex subscription OAuth where `ModelRegistry.isUsingOAuth` confirms the route. Metered frontier API-key/base-URL paths are rejected before child creation, and relevant metered environment variables are stripped from Fusion children. Anthropic children
|
|
94
|
+
Fusion accepts frontier-model routes only through Pi Anthropic or Codex subscription OAuth where `ModelRegistry.isUsingOAuth` confirms the route. Metered frontier API-key/base-URL paths are rejected before child creation, and relevant metered environment variables are stripped from Fusion children. Anthropic children explicitly load the same package-owned global attribution/sanitization extension because Fusion disables ambient extension discovery. Missing or malformed attribution data fails loudly before Anthropic transport. Its subscription request policy is 200K, so Fusion clamps Anthropic budget capacity to 200K even when Pi's model catalog advertises a larger context.
|
|
81
95
|
|
|
82
96
|
## Fusion Claude prompt caching
|
|
83
97
|
|
|
@@ -34,6 +34,8 @@ npm run test:hook-contract
|
|
|
34
34
|
npm run smoke
|
|
35
35
|
npm run smoke:large-context
|
|
36
36
|
npm run pack:dry-run
|
|
37
|
+
# With pnpm 11.18.0 on PATH:
|
|
38
|
+
npm run test:pnpm-pack
|
|
37
39
|
npm run docs:verify
|
|
38
40
|
npm run payload:check
|
|
39
41
|
# On a tag ref only: GITHUB_REF_TYPE=tag GITHUB_REF_NAME=v$VERSION npm run release:check-version
|
|
@@ -49,11 +51,12 @@ Live evidence (`npx tsx scripts/delegate-live-run.ts`) is release-time and perfo
|
|
|
49
51
|
|
|
50
52
|
Use `npm pack --dry-run --json` output as the payload source of truth. Verify at minimum:
|
|
51
53
|
|
|
52
|
-
- `extensions/background-tasks.ts`
|
|
53
|
-
- runtime `src/` files needed by
|
|
54
|
-
- `docs/`, `README.md`, `TESTING.md`, `TEST_PLAN.md`, `PUBLISHING.md`, `BACKGROUND-TASKS-INSTRUCTIONS.md`, root `logo.png`, and `LICENSE` are included per current `package.json.files`;
|
|
54
|
+
- `extensions/anthropic-attribution.ts` and `extensions/background-tasks.ts` are included as the ordered Pi entrypoints;
|
|
55
|
+
- runtime `src/` files needed by both entrypoints are included;
|
|
56
|
+
- `docs/`, `README.md`, `TESTING.md`, `TEST_PLAN.md`, `PUBLISHING.md`, `BACKGROUND-TASKS-INSTRUCTIONS.md`, `THIRD_PARTY_NOTICES.md`, root `logo.png`, and `LICENSE` are included per current `package.json.files`;
|
|
55
57
|
- tests, scripts, node_modules, local `.pi/` artifacts, generated evidence not meant for runtime, and nested tarballs are excluded;
|
|
56
58
|
- TypeBox remains a Pi-provided peer and no private/nested runtime TypeBox copy is bundled;
|
|
59
|
+
- production dependencies use registry versions only; no exotic URL/git/file subdependency is shipped;
|
|
57
60
|
- docs/assets/gateway/logo inclusion matches `package.json.files` exactly.
|
|
58
61
|
|
|
59
62
|
## Tag certification vs npm publishing
|
|
@@ -24,7 +24,9 @@ Start from the symptom, verify the source-owned doc, then apply the remediation.
|
|
|
24
24
|
| Terminal metadata/output durability failure | Fsync/close/metadata write failed | Treat terminal state as failed; inspect `DurableFileError` operation/path/cause. See `docs/subsystems/child-launch-durability-and-safety.md`. |
|
|
25
25
|
| Delegate refuses with `delegate_hook_contract_unsupported` | Current Pi hook behavior does not match committed evidence | Re-run the hook characterization gate during release work and re-review the guard; do not weaken the guard. See `docs/operations/testing.md`. |
|
|
26
26
|
| Delegate refuses with `route_unresolved` or `route_capacity_unknown` | Requested/default route unavailable or lacks usable context window | Pin an available provider/model with declared context window; no substitute route is selected. |
|
|
27
|
-
| Delegate refuses with `seed_budget_exceeded` |
|
|
27
|
+
| Delegate refuses with `seed_budget_exceeded` | Exact child prompt plus system prompt exceeds allowed input under the backed route-family policy or conservative fallback | Use a larger-context subscription route, delegate earlier, or reduce visible parent text. Nothing was clipped. |
|
|
28
|
+
| Delegate spills many individually small tool results | Retaining them would consume protected final-answer runway | This is expected lossless pressure control. The full bytes are in `spill/`; inspect `runtime-budget.json`. Narrow the investigation only if receipt-driven range reads become excessive. |
|
|
29
|
+
| Delegate enters finalization runway | Advisory context/runway pressure disabled tools so the child can answer from gathered evidence | Let the child finish. Do not re-enable tools or treat the advisory estimate as a provider context rejection. |
|
|
28
30
|
| `bg_result` says not ready | Child has not committed `result.json` yet | Wait for terminal notification or inspect later; do not poll tightly. |
|
|
29
31
|
| Delegate result corruption/hash/identity mismatch | Result package does not match task/seed/route/hash contract | Treat as invalid; inspect artifact bytes. Do not synthesize an answer. |
|
|
30
32
|
| Fusion model unavailable or metered route refusal | Frontier route is not admitted as a Pi subscription/OAuth route, or configured model is stale | Fix `/fusion-models` config to available subscription routes. Never route GPT/Claude-class work through metered APIs. |
|
package/docs/read-before-edit.md
CHANGED
|
@@ -15,9 +15,12 @@ Every production file under `src/**` and `extensions/**` has exactly one primary
|
|
|
15
15
|
|
|
16
16
|
| Source | Primary behavioral owner |
|
|
17
17
|
| --- | --- |
|
|
18
|
+
| `extensions/anthropic-attribution.ts` | [subsystems/anthropic-attribution](./subsystems/anthropic-attribution.md) |
|
|
18
19
|
| `extensions/background-tasks.ts` | [subsystems/host-ui-and-telemetry](./subsystems/host-ui-and-telemetry.md) |
|
|
19
20
|
| `extensions/delegate-child.ts` | [subsystems/delegation](./subsystems/delegation.md) |
|
|
20
21
|
| `extensions/fusion-child.ts` | [subsystems/fusion](./subsystems/fusion.md) |
|
|
22
|
+
| `src/core/anthropic-attribution-path.ts` | [subsystems/anthropic-attribution](./subsystems/anthropic-attribution.md) |
|
|
23
|
+
| `src/core/anthropic-attribution.ts` | [subsystems/anthropic-attribution](./subsystems/anthropic-attribution.md) |
|
|
21
24
|
| `src/core/attested-pi-run.ts` | [subsystems/attested-pi-runs](./subsystems/attested-pi-runs.md) |
|
|
22
25
|
| `src/core/common.ts` | [subsystems/background-task-runtime](./subsystems/background-task-runtime.md) |
|
|
23
26
|
| `src/core/context/parent-snapshot.ts` | [concepts/context-projection-and-budgeting](./concepts/context-projection-and-budgeting.md) |
|
|
@@ -34,7 +37,6 @@ Every production file under `src/**` and `extensions/**` has exactly one primary
|
|
|
34
37
|
| `src/core/delegate/types.ts` | [subsystems/delegation](./subsystems/delegation.md) |
|
|
35
38
|
| `src/core/durable-fs.ts` | [subsystems/child-launch-durability-and-safety](./subsystems/child-launch-durability-and-safety.md) |
|
|
36
39
|
| `src/core/extension-api.ts` | [api/eventbus-v1](./api/eventbus-v1.md) |
|
|
37
|
-
| `src/core/fusion/anthropic-attribution.ts` | [subsystems/fusion](./subsystems/fusion.md) |
|
|
38
40
|
| `src/core/fusion/artifacts.ts` | [subsystems/fusion](./subsystems/fusion.md) |
|
|
39
41
|
| `src/core/fusion/budget.ts` | [subsystems/fusion](./subsystems/fusion.md) |
|
|
40
42
|
| `src/core/fusion/child-protocol.ts` | [subsystems/fusion](./subsystems/fusion.md) |
|
|
@@ -70,6 +72,7 @@ Every production file under `src/**` and `extensions/**` has exactly one primary
|
|
|
70
72
|
- `command:bg-clear`
|
|
71
73
|
- `command:bg-tasks`
|
|
72
74
|
- `command:bg-update`
|
|
75
|
+
- `command:claude-cache`
|
|
73
76
|
- `command:fusion`
|
|
74
77
|
- `command:fusion-models`
|
|
75
78
|
- `command:jobs`
|
|
@@ -26,43 +26,43 @@ This generated registry lists production environment-variable references, runtim
|
|
|
26
26
|
| `AZURE_OPENAI_DEPLOYMENT_NAME_MAP` | remove | `src/core/fusion/pi-child.ts:98` |
|
|
27
27
|
| `AZURE_OPENAI_ENDPOINT` | remove | `src/core/fusion/pi-child.ts:98` |
|
|
28
28
|
| `AZURE_OPENAI_RESOURCE_NAME` | remove | `src/core/fusion/pi-child.ts:98` |
|
|
29
|
-
| `ComSpec` | read | `src/core/common.ts:
|
|
29
|
+
| `ComSpec` | read | `src/core/common.ts:726`<br>`src/core/common.ts:737` |
|
|
30
30
|
| `OPENAI_API_KEY` | remove | `src/core/attested-pi-run.ts:135`<br>`src/core/fusion/pi-child.ts:98` |
|
|
31
31
|
| `OPENAI_BASE_URL` | remove | `src/core/attested-pi-run.ts:135`<br>`src/core/fusion/pi-child.ts:98` |
|
|
32
32
|
| `OPENROUTER_API_KEY` | remove | `src/core/attested-pi-run.ts:135`<br>`src/core/fusion/pi-child.ts:98` |
|
|
33
33
|
| `OPENROUTER_BASE_URL` | remove | `src/core/attested-pi-run.ts:135`<br>`src/core/fusion/pi-child.ts:98` |
|
|
34
|
-
| `path` | read | `src/core/common.ts:
|
|
35
|
-
| `Path` | read | `src/core/common.ts:
|
|
36
|
-
| `PATH` | read | `src/core/common.ts:
|
|
34
|
+
| `path` | read | `src/core/common.ts:681` |
|
|
35
|
+
| `Path` | read | `src/core/common.ts:681` |
|
|
36
|
+
| `PATH` | read | `src/core/common.ts:681` |
|
|
37
37
|
| `PI_API_BASE_URL` | remove | `src/core/attested-pi-run.ts:135`<br>`src/core/fusion/pi-child.ts:98` |
|
|
38
38
|
| `PI_API_KEY` | remove | `src/core/attested-pi-run.ts:135`<br>`src/core/fusion/pi-child.ts:98` |
|
|
39
39
|
| `PI_AUTH_FILE` | remove | `src/core/attested-pi-run.ts:135`<br>`src/core/fusion/pi-child.ts:98` |
|
|
40
|
-
| `PI_BG_DELEGATE_ARTIFACT_DIR` | read, write | `src/core/delegate/launch.ts:
|
|
41
|
-
| `PI_BG_DELEGATE_LAUNCH_NONCE` | read, write | `src/core/delegate/launch.ts:
|
|
42
|
-
| `PI_BG_DELEGATE_SEED_PATH` | read, write | `src/core/delegate/launch.ts:
|
|
43
|
-
| `PI_BG_DELEGATE_SEED_SHA256` | read, write | `src/core/delegate/launch.ts:
|
|
44
|
-
| `PI_BG_DELEGATE_TASK_ID` | read, write | `src/core/delegate/launch.ts:
|
|
45
|
-
| `PI_BG_DISABLE_PI_TELEMETRY` | read | `src/core/registry.ts:
|
|
40
|
+
| `PI_BG_DELEGATE_ARTIFACT_DIR` | read, write | `src/core/delegate/launch.ts:353`<br>`src/delegate-child-extension.ts:384` |
|
|
41
|
+
| `PI_BG_DELEGATE_LAUNCH_NONCE` | read, write | `src/core/delegate/launch.ts:357`<br>`src/delegate-child-extension.ts:388` |
|
|
42
|
+
| `PI_BG_DELEGATE_SEED_PATH` | read, write | `src/core/delegate/launch.ts:354`<br>`src/delegate-child-extension.ts:385` |
|
|
43
|
+
| `PI_BG_DELEGATE_SEED_SHA256` | read, write | `src/core/delegate/launch.ts:355`<br>`src/delegate-child-extension.ts:386` |
|
|
44
|
+
| `PI_BG_DELEGATE_TASK_ID` | read, write | `src/core/delegate/launch.ts:356`<br>`src/delegate-child-extension.ts:387` |
|
|
45
|
+
| `PI_BG_DISABLE_PI_TELEMETRY` | read | `src/core/registry.ts:195` |
|
|
46
46
|
| `PI_BG_DISABLE_UPDATE_CHECK` | read | `src/extension.ts:455` |
|
|
47
|
-
| `PI_BG_MAX_OUTPUT_BYTES` | read | `src/core/registry.ts:
|
|
47
|
+
| `PI_BG_MAX_OUTPUT_BYTES` | read | `src/core/registry.ts:69` |
|
|
48
48
|
| `PI_BG_REGISTRY_URL` | read | `src/extension.ts:464` |
|
|
49
|
-
| `PI_BG_SHELL` | read | `src/core/common.ts:
|
|
50
|
-
| `PI_BG_SHELL_PATH` | read | `src/core/common.ts:
|
|
51
|
-
| `PI_CACHE_RETENTION` | read, write | `src/core/
|
|
52
|
-
| `PI_FUSION_CANDIDATE_OUTPUT_RECOVERY_PATH` | read, remove, write | `src/core/fusion/pi-child.ts:
|
|
53
|
-
| `PI_FUSION_RESEARCH_ENABLED` | read, remove, write | `src/core/fusion/pi-child.ts:
|
|
54
|
-
| `PI_FUSION_SOURCE_POLICY_PATH` | read, remove, write | `src/core/fusion/pi-child.ts:
|
|
55
|
-
| `PI_FUSION_SOURCE_POLICY_SHA256` | read, remove, write | `src/core/fusion/pi-child.ts:
|
|
56
|
-
| `PI_FUSION_TOOL_CALL_LOG_PATH` | read, remove, write | `src/core/fusion/pi-child.ts:
|
|
57
|
-
| `PI_MODEL` | remove | `src/core/delegate/launch.ts:
|
|
49
|
+
| `PI_BG_SHELL` | read | `src/core/common.ts:722` |
|
|
50
|
+
| `PI_BG_SHELL_PATH` | read | `src/core/common.ts:723` |
|
|
51
|
+
| `PI_CACHE_RETENTION` | read, write | `src/core/anthropic-attribution.ts:587`<br>`src/core/fusion/claude-cache.ts:57`<br>`src/core/fusion/pi-child.ts:271`<br>`src/core/fusion/pi-child.ts:272` |
|
|
52
|
+
| `PI_FUSION_CANDIDATE_OUTPUT_RECOVERY_PATH` | read, remove, write | `src/core/fusion/pi-child.ts:1872`<br>`src/core/fusion/pi-child.ts:98`<br>`src/fusion-child-extension.ts:599` |
|
|
53
|
+
| `PI_FUSION_RESEARCH_ENABLED` | read, remove, write | `src/core/fusion/pi-child.ts:1895`<br>`src/core/fusion/pi-child.ts:98`<br>`src/fusion-child-extension.ts:608` |
|
|
54
|
+
| `PI_FUSION_SOURCE_POLICY_PATH` | read, remove, write | `src/core/fusion/pi-child.ts:1896`<br>`src/core/fusion/pi-child.ts:98`<br>`src/fusion-child-extension.ts:555` |
|
|
55
|
+
| `PI_FUSION_SOURCE_POLICY_SHA256` | read, remove, write | `src/core/fusion/pi-child.ts:1897`<br>`src/core/fusion/pi-child.ts:98`<br>`src/fusion-child-extension.ts:556` |
|
|
56
|
+
| `PI_FUSION_TOOL_CALL_LOG_PATH` | read, remove, write | `src/core/fusion/pi-child.ts:1884`<br>`src/core/fusion/pi-child.ts:98`<br>`src/fusion-child-extension.ts:598` |
|
|
57
|
+
| `PI_MODEL` | remove | `src/core/delegate/launch.ts:330`<br>`src/core/fusion/pi-child.ts:98` |
|
|
58
58
|
| `PI_OFFLINE` | read | `src/extension.ts:456` |
|
|
59
|
-
| `PI_PROVIDER` | remove | `src/core/delegate/launch.ts:
|
|
60
|
-
| `PI_REASONING_LEVEL` | remove | `src/core/delegate/launch.ts:
|
|
61
|
-
| `PI_SESSION_FILE` | remove | `src/core/delegate/launch.ts:
|
|
62
|
-
| `PI_SESSION_ID` | remove | `src/core/delegate/launch.ts:
|
|
63
|
-
| `PI_SKIP_VERSION_CHECK` | write | `src/core/delegate/launch.ts:
|
|
64
|
-
| `PIPELINE_ANTHROPIC_ATTRIBUTION_AUDIT_PATH` | read | `src/core/
|
|
65
|
-
| `SHELL` | read | `src/core/common.ts:
|
|
59
|
+
| `PI_PROVIDER` | remove | `src/core/delegate/launch.ts:330`<br>`src/core/fusion/pi-child.ts:98` |
|
|
60
|
+
| `PI_REASONING_LEVEL` | remove | `src/core/delegate/launch.ts:330`<br>`src/core/fusion/pi-child.ts:98` |
|
|
61
|
+
| `PI_SESSION_FILE` | remove | `src/core/delegate/launch.ts:330`<br>`src/core/fusion/pi-child.ts:98` |
|
|
62
|
+
| `PI_SESSION_ID` | remove | `src/core/delegate/launch.ts:330`<br>`src/core/fusion/pi-child.ts:98` |
|
|
63
|
+
| `PI_SKIP_VERSION_CHECK` | write | `src/core/delegate/launch.ts:352`<br>`src/core/fusion/pi-child.ts:270` |
|
|
64
|
+
| `PIPELINE_ANTHROPIC_ATTRIBUTION_AUDIT_PATH` | read | `src/core/anthropic-attribution.ts:1013` |
|
|
65
|
+
| `SHELL` | read | `src/core/common.ts:718` |
|
|
66
66
|
| `SystemRoot` | read | `src/core/windows-taskkill.ts:96` |
|
|
67
67
|
| `WINDIR` | read | `src/core/windows-taskkill.ts:101` |
|
|
68
68
|
|
|
@@ -71,20 +71,18 @@ This generated registry lists production environment-variable references, runtim
|
|
|
71
71
|
| Kind | Path/artifact | Provenance |
|
|
72
72
|
| --- | --- | --- |
|
|
73
73
|
| config | `fusion-models.json` | `src/core/fusion/config.ts:21` |
|
|
74
|
-
| delegate-artifact | `budget-plan.json` | `src/core/delegate/artifacts.ts:
|
|
75
|
-
| delegate-artifact | `child-prompt.txt` | `src/core/delegate/artifacts.ts:
|
|
76
|
-
| delegate-artifact | `
|
|
77
|
-
| delegate-artifact | `
|
|
78
|
-
| delegate-artifact | `
|
|
79
|
-
| delegate-artifact | `
|
|
80
|
-
| delegate-artifact | `manifest.json` | `src/core/delegate/artifacts.ts:43` |
|
|
81
|
-
| delegate-artifact | `outcome.json` | `src/core/delegate/artifacts.ts:44` |
|
|
74
|
+
| delegate-artifact | `budget-plan.json` | `src/core/delegate/artifacts.ts:44` |
|
|
75
|
+
| delegate-artifact | `child-prompt.txt` | `src/core/delegate/artifacts.ts:48` |
|
|
76
|
+
| delegate-artifact | `context-omission-ledger.json` | `src/core/delegate/artifacts.ts:43` |
|
|
77
|
+
| delegate-artifact | `error.json` | `src/core/delegate/artifacts.ts:50` |
|
|
78
|
+
| delegate-artifact | `manifest.json` | `src/core/delegate/artifacts.ts:45` |
|
|
79
|
+
| delegate-artifact | `outcome.json` | `src/core/delegate/artifacts.ts:46` |
|
|
82
80
|
| delegate-artifact | `result.json` | `src/core/delegate/result-package.ts:28` |
|
|
83
|
-
| delegate-artifact | `seed.json` | `src/core/delegate/artifacts.ts:
|
|
84
|
-
| delegate-artifact | `spill/<receipt-named-file>` | `src/core/delegate/artifacts.ts:
|
|
85
|
-
| directory | `.pi/delegate/<session-id>-<pid>/<task-id>/` | `src/core/delegate/artifacts.ts:
|
|
81
|
+
| delegate-artifact | `seed.json` | `src/core/delegate/artifacts.ts:42` |
|
|
82
|
+
| delegate-artifact | `spill/<receipt-named-file>` | `src/core/delegate/artifacts.ts:54` |
|
|
83
|
+
| directory | `.pi/delegate/<session-id>-<pid>/<task-id>/` | `src/core/delegate/artifacts.ts:160` |
|
|
86
84
|
| directory | `.pi/fusion/<session-id>-<pid>/<run-id>/` | `src/core/fusion/artifacts.ts:563` |
|
|
87
|
-
| directory | `.pi/tasks/<session-id>-<pid>/` | `src/core/registry.ts:
|
|
85
|
+
| directory | `.pi/tasks/<session-id>-<pid>/` | `src/core/registry.ts:784` |
|
|
88
86
|
| fusion-artifact | `<attempt-prefix> = candidate-<slot>.attempt-<n> \| evaluation.attempt-<n> \| merge.attempt-<n>` | `src/core/fusion/artifacts.ts:248` |
|
|
89
87
|
| fusion-artifact | `<attempt-prefix>.calibration-violation.json` | `src/core/fusion/artifacts.ts:263` |
|
|
90
88
|
| fusion-artifact | `<attempt-prefix>.events.jsonl` | `src/core/fusion/artifacts.ts:804` |
|
|
@@ -104,29 +102,31 @@ This generated registry lists production environment-variable references, runtim
|
|
|
104
102
|
| fusion-artifact | `merged.md` | `src/core/fusion/artifacts.ts:387` |
|
|
105
103
|
| fusion-artifact | `result.json` | `src/core/fusion/artifacts.ts:647` |
|
|
106
104
|
| fusion-artifact | `source-policy.private.json` | `src/core/fusion/artifacts.ts:690` |
|
|
107
|
-
| task-file | `.pi/tasks/<session-id>-<pid>/<task-id>.attestation.json` | `src/core/attested-pi-run.ts:
|
|
108
|
-
| task-file | `.pi/tasks/<session-id>-<pid>/<task-id>.json` | `src/core/registry.ts:
|
|
109
|
-
| task-file | `.pi/tasks/<session-id>-<pid>/<task-id>.output` | `src/core/registry.ts:
|
|
110
|
-
| task-file | `.pi/tasks/<session-id>-<pid>/<task-id>.pi-events.jsonl` | `src/core/attested-pi-run.ts:
|
|
111
|
-
| task-file | `.pi/tasks/<session-id>-<pid>/<task-id>.pi-telemetry-wrapper.cjs` | `src/core/attested-pi-run.ts:
|
|
112
|
-
| task-file | `.pi/tasks/<session-id>-<pid>/<task-id>.stderr` | `src/core/attested-pi-run.ts:
|
|
105
|
+
| task-file | `.pi/tasks/<session-id>-<pid>/<task-id>.attestation.json` | `src/core/attested-pi-run.ts:592` |
|
|
106
|
+
| task-file | `.pi/tasks/<session-id>-<pid>/<task-id>.json` | `src/core/registry.ts:812` |
|
|
107
|
+
| task-file | `.pi/tasks/<session-id>-<pid>/<task-id>.output` | `src/core/registry.ts:811` |
|
|
108
|
+
| task-file | `.pi/tasks/<session-id>-<pid>/<task-id>.pi-events.jsonl` | `src/core/attested-pi-run.ts:589` |
|
|
109
|
+
| task-file | `.pi/tasks/<session-id>-<pid>/<task-id>.pi-telemetry-wrapper.cjs` | `src/core/attested-pi-run.ts:591` |
|
|
110
|
+
| task-file | `.pi/tasks/<session-id>-<pid>/<task-id>.stderr` | `src/core/attested-pi-run.ts:590` |
|
|
113
111
|
|
|
114
112
|
### Schema identifiers
|
|
115
113
|
|
|
116
114
|
| Schema | Provenance |
|
|
117
115
|
| --- | --- |
|
|
118
116
|
| `phase2.pi_task_attestation.v1` | `src/core/attested-pi-run.ts:20` |
|
|
119
|
-
| `pi-background-tasks.delegate-budget-plan.
|
|
120
|
-
| `pi-background-tasks.delegate-child-terminal.v1` | `src/delegate-child-extension.ts:
|
|
117
|
+
| `pi-background-tasks.delegate-budget-plan.v3` | `src/core/delegate/types.ts:21` |
|
|
118
|
+
| `pi-background-tasks.delegate-child-terminal.v1` | `src/delegate-child-extension.ts:584` |
|
|
121
119
|
| `pi-background-tasks.delegate-hook-contract.v1` | `src/core/delegate/hook-contract.ts:15` |
|
|
122
|
-
| `pi-background-tasks.delegate-launch.v1` | `src/delegate-extension.ts:
|
|
120
|
+
| `pi-background-tasks.delegate-launch.v1` | `src/delegate-extension.ts:458` |
|
|
123
121
|
| `pi-background-tasks.delegate-ledger.v1` | `src/core/delegate/types.ts:16` |
|
|
124
|
-
| `pi-background-tasks.delegate-manifest.
|
|
125
|
-
| `pi-background-tasks.delegate-outcome.v1` | `src/core/delegate/runner.ts:
|
|
122
|
+
| `pi-background-tasks.delegate-manifest.v2` | `src/core/delegate/types.ts:22` |
|
|
123
|
+
| `pi-background-tasks.delegate-outcome.v1` | `src/core/delegate/runner.ts:228` |
|
|
126
124
|
| `pi-background-tasks.delegate-receipt.v1` | `src/core/delegate/types.ts:19` |
|
|
127
|
-
| `pi-background-tasks.delegate-result-view.v1` | `src/delegate-extension.ts:
|
|
125
|
+
| `pi-background-tasks.delegate-result-view.v1` | `src/delegate-extension.ts:734` |
|
|
128
126
|
| `pi-background-tasks.delegate-result.v1` | `src/core/delegate/types.ts:18` |
|
|
129
|
-
| `pi-background-tasks.delegate-
|
|
127
|
+
| `pi-background-tasks.delegate-runtime-budget.v1` | `src/delegate-child-extension.ts:489` |
|
|
128
|
+
| `pi-background-tasks.delegate-seed.v2` | `src/core/delegate/types.ts:15` |
|
|
129
|
+
| `pi-background-tasks.delegate-tool-result-content.v1` | `src/delegate-child-extension.ts:190` |
|
|
130
130
|
| `pi-background-tasks.extension-request.v1` | `src/core/extension-api.ts:15` |
|
|
131
131
|
| `pi-background-tasks.extension-response.v1` | `src/core/extension-api.ts:16` |
|
|
132
132
|
| `pi-background-tasks.extension-terminal.v1` | `src/core/extension-api.ts:17` |
|
|
@@ -149,7 +149,7 @@ This generated registry lists production environment-variable references, runtim
|
|
|
149
149
|
| `pi-background-tasks.fusion-merge-input.v1` | `src/core/fusion/prompts.ts:336` |
|
|
150
150
|
| `pi-background-tasks.fusion-models.v1` | `src/core/fusion/types.ts:13` |
|
|
151
151
|
| `pi-background-tasks.fusion-progress.v1` | `src/fusion-extension.ts:59` |
|
|
152
|
-
| `pi-background-tasks.fusion-result-view.v1` | `src/delegate-extension.ts:
|
|
152
|
+
| `pi-background-tasks.fusion-result-view.v1` | `src/delegate-extension.ts:775` |
|
|
153
153
|
| `pi-background-tasks.fusion-result.v4` | `src/core/fusion/types.ts:19` |
|
|
154
154
|
| `pi-background-tasks.fusion-result.v5` | `src/core/fusion/types.ts:20` |
|
|
155
155
|
| `pi-background-tasks.fusion-runtime-guard.v2` | `src/core/fusion/child-protocol.ts:24` |
|