pi-daddy 0.28.0 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +99 -124
- package/README.md +18 -896
- package/THIRD_PARTY_NOTICES.md +1 -1
- package/contracts/ledger-record/v1/README.md +44 -0
- package/contracts/ledger-record/v1/fixtures/child-lifecycle.json +45 -0
- package/contracts/ledger-record/v1/fixtures/ledger-record.jsonl +3 -0
- package/contracts/ledger-record/v1/governance-event.schema.json +747 -0
- package/contracts/ledger-record/v1/record.schema.json +91 -0
- package/dist/cli.d.ts +6 -4
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +108 -103
- package/dist/cli.js.map +1 -1
- package/dist/executors/activity-session.d.ts +12 -0
- package/dist/executors/activity-session.d.ts.map +1 -0
- package/dist/executors/activity-session.js +43 -0
- package/dist/executors/activity-session.js.map +1 -0
- package/dist/executors/executor.d.ts +39 -0
- package/dist/executors/executor.d.ts.map +1 -0
- package/dist/executors/executor.js +95 -0
- package/dist/executors/executor.js.map +1 -0
- package/dist/executors/herdr-cli.d.ts +78 -0
- package/dist/executors/herdr-cli.d.ts.map +1 -0
- package/dist/executors/herdr-cli.js +114 -0
- package/dist/executors/herdr-cli.js.map +1 -0
- package/dist/executors/herdr-name.d.ts.map +1 -0
- package/dist/executors/herdr-name.js.map +1 -0
- package/dist/executors/herdr-pi-lifecycle.d.ts.map +1 -0
- package/dist/executors/herdr-pi-lifecycle.js +22 -0
- package/dist/executors/herdr-pi-lifecycle.js.map +1 -0
- package/dist/executors/herdr-poll.d.ts +140 -0
- package/dist/executors/herdr-poll.d.ts.map +1 -0
- package/dist/executors/herdr-poll.js +252 -0
- package/dist/executors/herdr-poll.js.map +1 -0
- package/dist/executors/herdr-stage.d.ts +40 -0
- package/dist/executors/herdr-stage.d.ts.map +1 -0
- package/dist/executors/herdr-stage.js +54 -0
- package/dist/executors/herdr-stage.js.map +1 -0
- package/dist/executors/herdr-start.d.ts.map +1 -0
- package/dist/executors/herdr-start.js.map +1 -0
- package/dist/executors/native-session-target.d.ts +9 -0
- package/dist/executors/native-session-target.d.ts.map +1 -0
- package/dist/executors/native-session-target.js +30 -0
- package/dist/executors/native-session-target.js.map +1 -0
- package/dist/executors/pane-reaper.d.ts +111 -0
- package/dist/executors/pane-reaper.d.ts.map +1 -0
- package/dist/executors/pane-reaper.js +242 -0
- package/dist/executors/pane-reaper.js.map +1 -0
- package/dist/executors/process-activity.d.ts +3 -0
- package/dist/executors/process-activity.d.ts.map +1 -0
- package/dist/executors/process-activity.js +59 -0
- package/dist/executors/process-activity.js.map +1 -0
- package/dist/executors/run-herdr.d.ts +122 -0
- package/dist/executors/run-herdr.d.ts.map +1 -0
- package/dist/executors/run-herdr.js +341 -0
- package/dist/executors/run-herdr.js.map +1 -0
- package/dist/executors/vendor/herdr-pi-lifecycle.d.ts.map +1 -0
- package/dist/executors/vendor/herdr-pi-lifecycle.js.map +1 -0
- package/dist/governance/approval-prompt.d.ts +119 -0
- package/dist/governance/approval-prompt.d.ts.map +1 -0
- package/dist/governance/approval-prompt.js +133 -0
- package/dist/governance/approval-prompt.js.map +1 -0
- package/dist/governance/approval-store.d.ts +149 -0
- package/dist/governance/approval-store.d.ts.map +1 -0
- package/dist/governance/approval-store.js +309 -0
- package/dist/governance/approval-store.js.map +1 -0
- package/dist/governance/execution-retention.d.ts +90 -0
- package/dist/governance/execution-retention.d.ts.map +1 -0
- package/dist/governance/execution-retention.js +317 -0
- package/dist/governance/execution-retention.js.map +1 -0
- package/dist/governance/file-lock.d.ts.map +1 -0
- package/dist/governance/file-lock.js +205 -0
- package/dist/governance/file-lock.js.map +1 -0
- package/dist/governance/finalization.d.ts.map +1 -0
- package/dist/governance/finalization.js.map +1 -0
- package/dist/governance/grant-store.d.ts +96 -0
- package/dist/governance/grant-store.d.ts.map +1 -0
- package/dist/governance/grant-store.js +186 -0
- package/dist/governance/grant-store.js.map +1 -0
- package/dist/governance/init.d.ts +129 -0
- package/dist/governance/init.d.ts.map +1 -0
- package/dist/governance/init.js +360 -0
- package/dist/governance/init.js.map +1 -0
- package/dist/governance/lease-helper.d.ts.map +1 -0
- package/dist/governance/lease-helper.js +121 -0
- package/dist/governance/lease-helper.js.map +1 -0
- package/dist/governance/lease-record.d.ts +90 -0
- package/dist/governance/lease-record.d.ts.map +1 -0
- package/dist/governance/lease-record.js.map +1 -0
- package/dist/governance/ledger-events.d.ts +111 -0
- package/dist/governance/ledger-events.d.ts.map +1 -0
- package/dist/governance/ledger-events.js +129 -0
- package/dist/governance/ledger-events.js.map +1 -0
- package/dist/governance/ledger-report.d.ts +134 -0
- package/dist/governance/ledger-report.d.ts.map +1 -0
- package/dist/governance/ledger-report.js +294 -0
- package/dist/governance/ledger-report.js.map +1 -0
- package/dist/governance/ledger-v3-validation.d.ts +21 -0
- package/dist/governance/ledger-v3-validation.d.ts.map +1 -0
- package/dist/governance/ledger-v3-validation.js +353 -0
- package/dist/governance/ledger-v3-validation.js.map +1 -0
- package/dist/governance/ledger.d.ts +258 -0
- package/dist/governance/ledger.d.ts.map +1 -0
- package/dist/governance/ledger.js +201 -0
- package/dist/governance/ledger.js.map +1 -0
- package/dist/governance/native-session.d.ts +59 -0
- package/dist/governance/native-session.d.ts.map +1 -0
- package/dist/governance/native-session.js +208 -0
- package/dist/governance/native-session.js.map +1 -0
- package/dist/governance/record.d.ts +65 -0
- package/dist/governance/record.d.ts.map +1 -0
- package/dist/governance/record.js +259 -0
- package/dist/governance/record.js.map +1 -0
- package/dist/governance/retention-contract.d.ts.map +1 -0
- package/dist/governance/retention-contract.js +187 -0
- package/dist/governance/retention-contract.js.map +1 -0
- package/dist/governance/retention-json.d.ts.map +1 -0
- package/dist/governance/retention-json.js.map +1 -0
- package/dist/governance/workspace-lease.d.ts +40 -0
- package/dist/governance/workspace-lease.d.ts.map +1 -0
- package/dist/governance/workspace-lease.js +357 -0
- package/dist/governance/workspace-lease.js.map +1 -0
- package/dist/index.d.ts +59 -42
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +61 -42
- package/dist/index.js.map +1 -1
- package/dist/kernel/approval.d.ts +241 -0
- package/dist/kernel/approval.d.ts.map +1 -0
- package/dist/kernel/approval.js +270 -0
- package/dist/kernel/approval.js.map +1 -0
- package/dist/kernel/capabilities.d.ts +136 -0
- package/dist/kernel/capabilities.d.ts.map +1 -0
- package/dist/kernel/capabilities.js +199 -0
- package/dist/kernel/capabilities.js.map +1 -0
- package/dist/kernel/catalog.d.ts +98 -0
- package/dist/kernel/catalog.d.ts.map +1 -0
- package/dist/kernel/catalog.js +280 -0
- package/dist/kernel/catalog.js.map +1 -0
- package/dist/kernel/chain.d.ts.map +1 -0
- package/dist/kernel/chain.js.map +1 -0
- package/dist/kernel/correlation.d.ts.map +1 -0
- package/dist/kernel/correlation.js +267 -0
- package/dist/kernel/correlation.js.map +1 -0
- package/dist/kernel/definitions.d.ts.map +1 -0
- package/dist/kernel/definitions.js +164 -0
- package/dist/kernel/definitions.js.map +1 -0
- package/dist/kernel/delegate-types.d.ts +160 -0
- package/dist/kernel/delegate-types.d.ts.map +1 -0
- package/dist/kernel/delegate-types.js +9 -0
- package/dist/kernel/delegate-types.js.map +1 -0
- package/dist/kernel/delegate.d.ts.map +1 -0
- package/dist/kernel/delegate.js +314 -0
- package/dist/kernel/delegate.js.map +1 -0
- package/dist/kernel/delegation-approval.d.ts.map +1 -0
- package/dist/kernel/delegation-approval.js +93 -0
- package/dist/kernel/delegation-approval.js.map +1 -0
- package/dist/kernel/env-names.d.ts +51 -0
- package/dist/kernel/env-names.d.ts.map +1 -0
- package/dist/kernel/env-names.js +112 -0
- package/dist/kernel/env-names.js.map +1 -0
- package/dist/kernel/execution-id.d.ts.map +1 -0
- package/dist/kernel/execution-id.js.map +1 -0
- package/dist/kernel/fanout.d.ts.map +1 -0
- package/dist/kernel/fanout.js +93 -0
- package/dist/kernel/fanout.js.map +1 -0
- package/dist/kernel/grant-env.d.ts +118 -0
- package/dist/kernel/grant-env.d.ts.map +1 -0
- package/dist/kernel/grant-env.js +104 -0
- package/dist/kernel/grant-env.js.map +1 -0
- package/dist/kernel/ledger-identifiers.d.ts.map +1 -0
- package/dist/kernel/ledger-identifiers.js.map +1 -0
- package/dist/kernel/model-preflight.d.ts +13 -0
- package/dist/kernel/model-preflight.d.ts.map +1 -0
- package/dist/kernel/model-preflight.js +30 -0
- package/dist/kernel/model-preflight.js.map +1 -0
- package/dist/kernel/pi-tools.d.ts.map +1 -0
- package/dist/kernel/pi-tools.js +29 -0
- package/dist/kernel/pi-tools.js.map +1 -0
- package/dist/kernel/progress.d.ts.map +1 -0
- package/dist/kernel/progress.js.map +1 -0
- package/dist/kernel/project-paths.d.ts +43 -0
- package/dist/kernel/project-paths.d.ts.map +1 -0
- package/dist/kernel/project-paths.js +81 -0
- package/dist/kernel/project-paths.js.map +1 -0
- package/dist/kernel/propagation.d.ts +195 -0
- package/dist/kernel/propagation.d.ts.map +1 -0
- package/dist/kernel/propagation.js +275 -0
- package/dist/kernel/propagation.js.map +1 -0
- package/dist/kernel/refusals.d.ts +16 -0
- package/dist/kernel/refusals.d.ts.map +1 -0
- package/dist/kernel/refusals.js +53 -0
- package/dist/kernel/refusals.js.map +1 -0
- package/dist/kernel/resolve.d.ts.map +1 -0
- package/dist/kernel/resolve.js +201 -0
- package/dist/kernel/resolve.js.map +1 -0
- package/dist/kernel/routing-authority.d.ts.map +1 -0
- package/dist/kernel/routing-authority.js.map +1 -0
- package/dist/kernel/run-child.d.ts +111 -0
- package/dist/kernel/run-child.d.ts.map +1 -0
- package/dist/kernel/run-child.js +324 -0
- package/dist/kernel/run-child.js.map +1 -0
- package/dist/kernel/skill-packages.d.ts +116 -0
- package/dist/kernel/skill-packages.d.ts.map +1 -0
- package/dist/kernel/skill-packages.js +300 -0
- package/dist/kernel/skill-packages.js.map +1 -0
- package/dist/kernel/skill-resources.d.ts.map +1 -0
- package/dist/kernel/skill-resources.js +56 -0
- package/dist/kernel/skill-resources.js.map +1 -0
- package/dist/kernel/spawn.d.ts.map +1 -0
- package/dist/kernel/spawn.js.map +1 -0
- package/dist/kernel/workspace.d.ts +51 -0
- package/dist/kernel/workspace.d.ts.map +1 -0
- package/dist/kernel/workspace.js +223 -0
- package/dist/kernel/workspace.js.map +1 -0
- package/dist/products/activity-timeline.d.ts +126 -0
- package/dist/products/activity-timeline.d.ts.map +1 -0
- package/dist/products/activity-timeline.js +542 -0
- package/dist/products/activity-timeline.js.map +1 -0
- package/dist/products/dashboard-cli.d.ts +26 -0
- package/dist/products/dashboard-cli.d.ts.map +1 -0
- package/dist/products/dashboard-cli.js +224 -0
- package/dist/products/dashboard-cli.js.map +1 -0
- package/dist/products/dashboard-display-controls.d.ts +17 -0
- package/dist/products/dashboard-display-controls.d.ts.map +1 -0
- package/dist/products/dashboard-display-controls.js +38 -0
- package/dist/products/dashboard-display-controls.js.map +1 -0
- package/dist/products/dashboard-handshake.d.ts +42 -0
- package/dist/products/dashboard-handshake.d.ts.map +1 -0
- package/dist/products/dashboard-handshake.js +158 -0
- package/dist/products/dashboard-handshake.js.map +1 -0
- package/dist/products/dashboard-herdr.d.ts +55 -0
- package/dist/products/dashboard-herdr.d.ts.map +1 -0
- package/dist/products/dashboard-herdr.js +324 -0
- package/dist/products/dashboard-herdr.js.map +1 -0
- package/dist/products/dashboard-projection.d.ts +62 -0
- package/dist/products/dashboard-projection.d.ts.map +1 -0
- package/dist/products/dashboard-projection.js +305 -0
- package/dist/products/dashboard-projection.js.map +1 -0
- package/dist/products/dashboard-render.d.ts.map +1 -0
- package/dist/products/dashboard-render.js +208 -0
- package/dist/products/dashboard-render.js.map +1 -0
- package/extensions/activity-timeline.ts +134 -28
- package/extensions/approval-banking.ts +3 -3
- package/extensions/approvals.ts +18 -12
- package/extensions/chain-approval-facts.ts +9 -6
- package/extensions/chain-ledger.ts +4 -4
- package/extensions/chain-plan.ts +6 -6
- package/extensions/correlation-shape.ts +42 -33
- package/extensions/delegate-chain.ts +93 -45
- package/extensions/delegation-authority.ts +7 -3
- package/extensions/delegation-ledger.ts +2 -2
- package/extensions/delegation-native.ts +24 -7
- package/extensions/delegation.ts +91 -80
- package/extensions/execute-child.ts +440 -293
- package/extensions/execution-occurrence.ts +2 -2
- package/extensions/executor-session.ts +5 -5
- package/extensions/fanout-outcome.ts +8 -6
- package/extensions/grant-store-refusal.ts +24 -12
- package/extensions/grants-command.ts +41 -33
- package/extensions/grants-connected-command.ts +29 -15
- package/extensions/grants.ts +73 -73
- package/extensions/init-command.ts +18 -12
- package/extensions/reload-environment.ts +12 -5
- package/extensions/run-delegation.ts +29 -19
- package/extensions/session-environment.ts +25 -11
- package/extensions/session-report.ts +60 -11
- package/extensions/session.ts +58 -34
- package/extensions/spawn-summary.ts +5 -5
- package/extensions/stored-grant-session.ts +5 -5
- package/extensions/tripwire.ts +1 -1
- package/extensions/workspace-runtime.ts +26 -24
- package/herdr-plugin/herdr-plugin.toml +1 -1
- package/package.json +4 -211
- package/src/cli.ts +136 -89
- package/src/executors/activity-session.ts +54 -0
- package/src/executors/executor.ts +123 -0
- package/src/executors/herdr-cli.ts +132 -0
- package/src/executors/herdr-pi-lifecycle.ts +21 -0
- package/src/executors/herdr-poll.ts +305 -0
- package/src/executors/herdr-stage.ts +55 -0
- package/src/executors/native-session-target.ts +31 -0
- package/src/executors/pane-reaper.ts +270 -0
- package/src/executors/process-activity.ts +54 -0
- package/src/executors/run-herdr.ts +426 -0
- package/src/governance/approval-prompt.ts +225 -0
- package/src/governance/approval-store.ts +385 -0
- package/src/governance/execution-retention.ts +372 -0
- package/src/governance/file-lock.ts +210 -0
- package/src/governance/finalization.ts +82 -0
- package/src/governance/grant-store.ts +235 -0
- package/src/governance/init.ts +447 -0
- package/src/governance/lease-helper.ts +124 -0
- package/src/governance/lease-record.ts +131 -0
- package/src/governance/ledger-events.ts +222 -0
- package/src/governance/ledger-report.ts +396 -0
- package/src/governance/ledger-v3-validation.ts +384 -0
- package/src/governance/ledger.ts +419 -0
- package/src/governance/native-session.ts +264 -0
- package/src/governance/record.ts +294 -0
- package/src/governance/retention-contract.ts +201 -0
- package/src/governance/retention-json.ts +24 -0
- package/src/governance/workspace-lease.ts +429 -0
- package/src/index.ts +82 -92
- package/src/kernel/approval.ts +406 -0
- package/src/kernel/capabilities.ts +216 -0
- package/src/kernel/catalog.ts +313 -0
- package/src/kernel/correlation.ts +351 -0
- package/src/kernel/definitions.ts +215 -0
- package/src/kernel/delegate-types.ts +162 -0
- package/src/kernel/delegate.ts +370 -0
- package/src/kernel/delegation-approval.ts +126 -0
- package/src/kernel/env-names.ts +119 -0
- package/src/kernel/fanout.ts +106 -0
- package/src/kernel/grant-env.ts +174 -0
- package/src/kernel/model-preflight.ts +44 -0
- package/src/kernel/pi-tools.ts +32 -0
- package/src/kernel/project-paths.ts +97 -0
- package/src/kernel/propagation.ts +341 -0
- package/src/kernel/refusals.ts +64 -0
- package/src/kernel/resolve.ts +258 -0
- package/src/kernel/run-child.ts +418 -0
- package/src/kernel/skill-packages.ts +329 -0
- package/src/kernel/skill-resources.ts +64 -0
- package/src/kernel/workspace.ts +336 -0
- package/src/products/activity-timeline.ts +679 -0
- package/src/products/dashboard-cli.ts +250 -0
- package/src/products/dashboard-display-controls.ts +44 -0
- package/src/products/dashboard-handshake.ts +222 -0
- package/src/products/dashboard-herdr.ts +427 -0
- package/src/products/dashboard-projection.ts +389 -0
- package/src/products/dashboard-render.ts +260 -0
- package/PRODUCT-GUIDE.md +0 -155
- package/REQUIREMENTS.md +0 -41
- package/contracts/daily-view/v1/README.md +0 -114
- package/contracts/daily-view/v1/fixtures/view.json +0 -525
- package/contracts/daily-view/v1/fixtures/view.txt +0 -75
- package/contracts/daily-view/v1/fixtures/work.jsonl +0 -17
- package/contracts/daily-view/v1/p03/README.md +0 -26
- package/contracts/daily-view/v1/p03/fixtures/retained-executions.json +0 -241
- package/contracts/daily-view/v1/p03/projection.schema.json +0 -194
- package/contracts/daily-view/v1/p03/provenance.json +0 -21
- package/contracts/dashboard-host/v1/README.md +0 -176
- package/contracts/debrief/v1/README.md +0 -146
- package/contracts/debrief/v1/intervention/README.md +0 -32
- package/contracts/debrief/v1/intervention/fixtures/artifact-3ee11136beb864f518252e5024dae9197421fbf97b6e981d3243c782b5c44bd0.txt +0 -1
- package/contracts/debrief/v1/intervention/fixtures/artifact-58905d872dd3c54a9705f67b05fa82edbad7af6476ae8993faf1a7b9fadfb905.txt +0 -1
- package/contracts/debrief/v1/intervention/fixtures/assessment.json +0 -29
- package/contracts/debrief/v1/intervention/fixtures/blind-view.json +0 -20
- package/contracts/debrief/v1/intervention/fixtures/choice.json +0 -7
- package/contracts/debrief/v1/intervention/fixtures/manifest.json +0 -57
- package/contracts/debrief/v1/intervention/fixtures/reveal.json +0 -39
- package/contracts/debrief/v1/provenance.json +0 -89
- package/contracts/debrief/v1/work-capture/README.md +0 -38
- package/contracts/debrief/v1/work-capture/fixtures/batch.json +0 -17
- package/contracts/debrief/v1/work-capture/fixtures/cases.json +0 -184
- package/contracts/debrief/v1/work-capture/fixtures/review.json +0 -184
- package/contracts/debrief/v1/work-capture/review-request.schema.json +0 -41
- package/contracts/debrief/v1/work-capture/work-case.schema.json +0 -190
- package/contracts/debrief/v2/README.md +0 -71
- package/contracts/debrief/v2/input-pin.json +0 -66
- package/contracts/debrief/v2/intervention-upstream.md +0 -40
- package/contracts/debrief/v2/work-signals-upstream.md +0 -22
- package/contracts/dispatch-control/v1/README.md +0 -109
- package/contracts/dispatch-control/v1/request.schema.json +0 -19
- package/contracts/effect-profile/v1/README.md +0 -124
- package/contracts/execution-retention/v1/README.md +0 -109
- package/contracts/execution-retention/v2/README.md +0 -148
- package/contracts/execution-retention/v2/fixtures/interrupted-native-bytes.json +0 -91
- package/contracts/execution-retention/v2/fixtures/missing-native-session.json +0 -91
- package/contracts/execution-retention/v2/fixtures/native-file-unknown-branch.json +0 -91
- package/contracts/execution-retention/v2/fixtures/native-id-without-bytes.json +0 -91
- package/contracts/execution-retention/v2/fixtures/native-live-branch.json +0 -90
- package/contracts/execution-retention/v2/fixtures/replaced-native-session.json +0 -92
- package/contracts/execution-retention/v2/fixtures/result-82c620cdfeb8ca6b858cf653d7f5e2eedca5315d6244216d60e8b36f03223d6a.bin +0 -1
- package/contracts/execution-retention/v2/fixtures/session-2ec1f134bc739984434f7fca689e1c3d1c39fce2dcadae709e9b6faedfcc4ac7.bin +0 -3
- package/contracts/execution-retention/v2/fixtures/session-9bdb4bd16a901da31580acf056bda525225259e15ec409e0410480109011772f.bin +0 -3
- package/contracts/execution-retention/v2/manifest.schema.json +0 -858
- package/contracts/experiment/v1/README.md +0 -164
- package/contracts/factory-order/v1/README.md +0 -151
- package/contracts/factory-order/v1/adoption-pin.json +0 -8
- package/contracts/intent-control/v1/README.md +0 -135
- package/contracts/intent-control/v1/request.schema.json +0 -1096
- package/contracts/intent-control/v2/README.md +0 -34
- package/contracts/intent-control/v2/request.schema.json +0 -1070
- package/contracts/ledger/v2/README.md +0 -59
- package/contracts/ledger/v2/fixtures/capability-decision.json +0 -95
- package/contracts/ledger/v2/fixtures/check-receipt.json +0 -40
- package/contracts/ledger/v2/fixtures/child-lifecycle.json +0 -42
- package/contracts/ledger/v2/fixtures/workspace-lease.json +0 -41
- package/contracts/ledger/v2/ledger-event.schema.json +0 -633
- package/contracts/ledger/v3/README.md +0 -36
- package/contracts/ledger/v3/fixtures/check-receipt.json +0 -41
- package/contracts/ledger/v3/fixtures/child-lifecycle.json +0 -44
- package/contracts/ledger/v3/fixtures/workflow-fact.json +0 -40
- package/contracts/ledger/v3/ledger-event.schema.json +0 -955
- package/contracts/ledger/v4/README.md +0 -241
- package/contracts/ledger/v4/fixtures/layout-options.json +0 -428
- package/contracts/ledger/v4/fixtures/work-acceptance.json +0 -57
- package/contracts/ledger/v4/fixtures/work-occurrence.json +0 -44
- package/contracts/ledger/v4/fixtures/work-revision.json +0 -26
- package/contracts/ledger/v4/fixtures/work-snapshot.json +0 -73
- package/contracts/ledger/v4/ledger-event.schema.json +0 -162
- package/contracts/ordinary-control/v1/README.md +0 -59
- package/contracts/producer-ipc/v1/README.md +0 -137
- package/dist/activity-timeline.d.ts +0 -109
- package/dist/activity-timeline.d.ts.map +0 -1
- package/dist/activity-timeline.js +0 -208
- package/dist/activity-timeline.js.map +0 -1
- package/dist/approval-prompt.d.ts +0 -119
- package/dist/approval-prompt.d.ts.map +0 -1
- package/dist/approval-prompt.js +0 -133
- package/dist/approval-prompt.js.map +0 -1
- package/dist/approval-store.d.ts +0 -149
- package/dist/approval-store.d.ts.map +0 -1
- package/dist/approval-store.js +0 -314
- package/dist/approval-store.js.map +0 -1
- package/dist/approval.d.ts +0 -241
- package/dist/approval.d.ts.map +0 -1
- package/dist/approval.js +0 -268
- package/dist/approval.js.map +0 -1
- package/dist/capabilities.d.ts +0 -136
- package/dist/capabilities.d.ts.map +0 -1
- package/dist/capabilities.js +0 -203
- package/dist/capabilities.js.map +0 -1
- package/dist/catalog.d.ts +0 -98
- package/dist/catalog.d.ts.map +0 -1
- package/dist/catalog.js +0 -273
- package/dist/catalog.js.map +0 -1
- package/dist/chain.d.ts.map +0 -1
- package/dist/chain.js.map +0 -1
- package/dist/check-runner.d.ts +0 -66
- package/dist/check-runner.d.ts.map +0 -1
- package/dist/check-runner.js +0 -275
- package/dist/check-runner.js.map +0 -1
- package/dist/control-journal.d.ts +0 -20
- package/dist/control-journal.d.ts.map +0 -1
- package/dist/control-journal.js +0 -73
- package/dist/control-journal.js.map +0 -1
- package/dist/correlation.d.ts.map +0 -1
- package/dist/correlation.js +0 -231
- package/dist/correlation.js.map +0 -1
- package/dist/daily-dashboard-host.d.ts +0 -136
- package/dist/daily-dashboard-host.d.ts.map +0 -1
- package/dist/daily-dashboard-host.js +0 -164
- package/dist/daily-dashboard-host.js.map +0 -1
- package/dist/daily-panel.d.ts +0 -36
- package/dist/daily-panel.d.ts.map +0 -1
- package/dist/daily-panel.js +0 -84
- package/dist/daily-panel.js.map +0 -1
- package/dist/daily-view-input.d.ts +0 -44
- package/dist/daily-view-input.d.ts.map +0 -1
- package/dist/daily-view-input.js +0 -68
- package/dist/daily-view-input.js.map +0 -1
- package/dist/daily-view-render.d.ts +0 -5
- package/dist/daily-view-render.d.ts.map +0 -1
- package/dist/daily-view-render.js +0 -42
- package/dist/daily-view-render.js.map +0 -1
- package/dist/daily-view.d.ts +0 -77
- package/dist/daily-view.d.ts.map +0 -1
- package/dist/daily-view.js +0 -176
- package/dist/daily-view.js.map +0 -1
- package/dist/dashboard-cli.d.ts +0 -54
- package/dist/dashboard-cli.d.ts.map +0 -1
- package/dist/dashboard-cli.js +0 -367
- package/dist/dashboard-cli.js.map +0 -1
- package/dist/dashboard-display-controls.d.ts +0 -15
- package/dist/dashboard-display-controls.d.ts.map +0 -1
- package/dist/dashboard-display-controls.js +0 -34
- package/dist/dashboard-display-controls.js.map +0 -1
- package/dist/dashboard-handshake.d.ts +0 -42
- package/dist/dashboard-handshake.d.ts.map +0 -1
- package/dist/dashboard-handshake.js +0 -147
- package/dist/dashboard-handshake.js.map +0 -1
- package/dist/dashboard-harness.d.ts +0 -22
- package/dist/dashboard-harness.d.ts.map +0 -1
- package/dist/dashboard-harness.js +0 -89
- package/dist/dashboard-harness.js.map +0 -1
- package/dist/dashboard-herdr.d.ts +0 -55
- package/dist/dashboard-herdr.d.ts.map +0 -1
- package/dist/dashboard-herdr.js +0 -293
- package/dist/dashboard-herdr.js.map +0 -1
- package/dist/dashboard-host-contract.d.ts +0 -127
- package/dist/dashboard-host-contract.d.ts.map +0 -1
- package/dist/dashboard-host-contract.js +0 -14
- package/dist/dashboard-host-contract.js.map +0 -1
- package/dist/dashboard-host-transport.d.ts +0 -16
- package/dist/dashboard-host-transport.d.ts.map +0 -1
- package/dist/dashboard-host-transport.js +0 -127
- package/dist/dashboard-host-transport.js.map +0 -1
- package/dist/dashboard-host.d.ts +0 -239
- package/dist/dashboard-host.d.ts.map +0 -1
- package/dist/dashboard-host.js +0 -474
- package/dist/dashboard-host.js.map +0 -1
- package/dist/dashboard-menu.d.ts +0 -16
- package/dist/dashboard-menu.d.ts.map +0 -1
- package/dist/dashboard-menu.js +0 -33
- package/dist/dashboard-menu.js.map +0 -1
- package/dist/dashboard-observation.d.ts +0 -28
- package/dist/dashboard-observation.d.ts.map +0 -1
- package/dist/dashboard-observation.js +0 -87
- package/dist/dashboard-observation.js.map +0 -1
- package/dist/dashboard-projection.d.ts +0 -73
- package/dist/dashboard-projection.d.ts.map +0 -1
- package/dist/dashboard-projection.js +0 -294
- package/dist/dashboard-projection.js.map +0 -1
- package/dist/dashboard-render.d.ts.map +0 -1
- package/dist/dashboard-render.js +0 -212
- package/dist/dashboard-render.js.map +0 -1
- package/dist/debrief-contract.d.ts +0 -65
- package/dist/debrief-contract.d.ts.map +0 -1
- package/dist/debrief-contract.js +0 -151
- package/dist/debrief-contract.js.map +0 -1
- package/dist/debrief-fixture.d.ts +0 -16
- package/dist/debrief-fixture.d.ts.map +0 -1
- package/dist/debrief-fixture.js +0 -41
- package/dist/debrief-fixture.js.map +0 -1
- package/dist/debrief-host.d.ts +0 -59
- package/dist/debrief-host.d.ts.map +0 -1
- package/dist/debrief-host.js +0 -49
- package/dist/debrief-host.js.map +0 -1
- package/dist/debrief-render.d.ts +0 -5
- package/dist/debrief-render.d.ts.map +0 -1
- package/dist/debrief-render.js +0 -65
- package/dist/debrief-render.js.map +0 -1
- package/dist/debrief.d.ts +0 -90
- package/dist/debrief.d.ts.map +0 -1
- package/dist/debrief.js +0 -263
- package/dist/debrief.js.map +0 -1
- package/dist/definitions.d.ts.map +0 -1
- package/dist/definitions.js +0 -164
- package/dist/definitions.js.map +0 -1
- package/dist/delegate-types.d.ts +0 -154
- package/dist/delegate-types.d.ts.map +0 -1
- package/dist/delegate-types.js +0 -8
- package/dist/delegate-types.js.map +0 -1
- package/dist/delegate.d.ts.map +0 -1
- package/dist/delegate.js +0 -313
- package/dist/delegate.js.map +0 -1
- package/dist/delegation-approval.d.ts.map +0 -1
- package/dist/delegation-approval.js +0 -94
- package/dist/delegation-approval.js.map +0 -1
- package/dist/dispatch-control.d.ts +0 -45
- package/dist/dispatch-control.d.ts.map +0 -1
- package/dist/dispatch-control.js +0 -76
- package/dist/dispatch-control.js.map +0 -1
- package/dist/effect-profile-runtime.d.ts +0 -40
- package/dist/effect-profile-runtime.d.ts.map +0 -1
- package/dist/effect-profile-runtime.js +0 -51
- package/dist/effect-profile-runtime.js.map +0 -1
- package/dist/effect-profile.d.ts +0 -40
- package/dist/effect-profile.d.ts.map +0 -1
- package/dist/effect-profile.js +0 -152
- package/dist/effect-profile.js.map +0 -1
- package/dist/execution-id.d.ts.map +0 -1
- package/dist/execution-id.js.map +0 -1
- package/dist/execution-retention.d.ts +0 -90
- package/dist/execution-retention.d.ts.map +0 -1
- package/dist/execution-retention.js +0 -247
- package/dist/execution-retention.js.map +0 -1
- package/dist/executor.d.ts +0 -39
- package/dist/executor.d.ts.map +0 -1
- package/dist/executor.js +0 -94
- package/dist/executor.js.map +0 -1
- package/dist/experiment-contract.d.ts +0 -56
- package/dist/experiment-contract.d.ts.map +0 -1
- package/dist/experiment-contract.js +0 -80
- package/dist/experiment-contract.js.map +0 -1
- package/dist/experiment-state.d.ts +0 -22
- package/dist/experiment-state.d.ts.map +0 -1
- package/dist/experiment-state.js +0 -79
- package/dist/experiment-state.js.map +0 -1
- package/dist/experiment-store.d.ts +0 -30
- package/dist/experiment-store.d.ts.map +0 -1
- package/dist/experiment-store.js +0 -147
- package/dist/experiment-store.js.map +0 -1
- package/dist/experiment.d.ts +0 -65
- package/dist/experiment.d.ts.map +0 -1
- package/dist/experiment.js +0 -362
- package/dist/experiment.js.map +0 -1
- package/dist/factory-contract.d.ts +0 -79
- package/dist/factory-contract.d.ts.map +0 -1
- package/dist/factory-contract.js +0 -89
- package/dist/factory-contract.js.map +0 -1
- package/dist/factory-migration.d.ts +0 -20
- package/dist/factory-migration.d.ts.map +0 -1
- package/dist/factory-migration.js +0 -55
- package/dist/factory-migration.js.map +0 -1
- package/dist/factory-order.d.ts +0 -848
- package/dist/factory-order.d.ts.map +0 -1
- package/dist/factory-order.js +0 -83
- package/dist/factory-order.js.map +0 -1
- package/dist/factory-registry.d.ts +0 -121
- package/dist/factory-registry.d.ts.map +0 -1
- package/dist/factory-registry.js +0 -133
- package/dist/factory-registry.js.map +0 -1
- package/dist/fanout.d.ts.map +0 -1
- package/dist/fanout.js +0 -93
- package/dist/fanout.js.map +0 -1
- package/dist/file-lock.d.ts.map +0 -1
- package/dist/file-lock.js +0 -201
- package/dist/file-lock.js.map +0 -1
- package/dist/finalization.d.ts.map +0 -1
- package/dist/finalization.js.map +0 -1
- package/dist/git-identity.d.ts +0 -13
- package/dist/git-identity.d.ts.map +0 -1
- package/dist/git-identity.js +0 -47
- package/dist/git-identity.js.map +0 -1
- package/dist/grant-env.d.ts +0 -75
- package/dist/grant-env.d.ts.map +0 -1
- package/dist/grant-env.js +0 -154
- package/dist/grant-env.js.map +0 -1
- package/dist/grant-store.d.ts +0 -96
- package/dist/grant-store.d.ts.map +0 -1
- package/dist/grant-store.js +0 -188
- package/dist/grant-store.js.map +0 -1
- package/dist/herdr-cli.d.ts +0 -78
- package/dist/herdr-cli.d.ts.map +0 -1
- package/dist/herdr-cli.js +0 -113
- package/dist/herdr-cli.js.map +0 -1
- package/dist/herdr-name.d.ts.map +0 -1
- package/dist/herdr-name.js.map +0 -1
- package/dist/herdr-pi-lifecycle.d.ts.map +0 -1
- package/dist/herdr-pi-lifecycle.js +0 -22
- package/dist/herdr-pi-lifecycle.js.map +0 -1
- package/dist/herdr-poll.d.ts +0 -133
- package/dist/herdr-poll.d.ts.map +0 -1
- package/dist/herdr-poll.js +0 -222
- package/dist/herdr-poll.js.map +0 -1
- package/dist/herdr-stage.d.ts +0 -40
- package/dist/herdr-stage.d.ts.map +0 -1
- package/dist/herdr-stage.js +0 -54
- package/dist/herdr-stage.js.map +0 -1
- package/dist/herdr-start.d.ts.map +0 -1
- package/dist/herdr-start.js.map +0 -1
- package/dist/init.d.ts +0 -117
- package/dist/init.d.ts.map +0 -1
- package/dist/init.js +0 -323
- package/dist/init.js.map +0 -1
- package/dist/intent-application.d.ts +0 -17
- package/dist/intent-application.d.ts.map +0 -1
- package/dist/intent-application.js +0 -114
- package/dist/intent-application.js.map +0 -1
- package/dist/intent-control.d.ts +0 -201
- package/dist/intent-control.d.ts.map +0 -1
- package/dist/intent-control.js +0 -110
- package/dist/intent-control.js.map +0 -1
- package/dist/intent-scheduling.d.ts +0 -9
- package/dist/intent-scheduling.d.ts.map +0 -1
- package/dist/intent-scheduling.js +0 -15
- package/dist/intent-scheduling.js.map +0 -1
- package/dist/learning-connection.d.ts +0 -127
- package/dist/learning-connection.d.ts.map +0 -1
- package/dist/learning-connection.js +0 -54
- package/dist/learning-connection.js.map +0 -1
- package/dist/lease-helper.d.ts.map +0 -1
- package/dist/lease-helper.js +0 -94
- package/dist/lease-helper.js.map +0 -1
- package/dist/lease-record.d.ts +0 -90
- package/dist/lease-record.d.ts.map +0 -1
- package/dist/lease-record.js.map +0 -1
- package/dist/ledger-append.d.ts +0 -15
- package/dist/ledger-append.d.ts.map +0 -1
- package/dist/ledger-append.js +0 -94
- package/dist/ledger-append.js.map +0 -1
- package/dist/ledger-events.d.ts +0 -131
- package/dist/ledger-events.d.ts.map +0 -1
- package/dist/ledger-events.js +0 -107
- package/dist/ledger-events.js.map +0 -1
- package/dist/ledger-identifiers.d.ts.map +0 -1
- package/dist/ledger-identifiers.js.map +0 -1
- package/dist/ledger-report.d.ts +0 -134
- package/dist/ledger-report.d.ts.map +0 -1
- package/dist/ledger-report.js +0 -271
- package/dist/ledger-report.js.map +0 -1
- package/dist/ledger-v3-validation.d.ts +0 -11
- package/dist/ledger-v3-validation.d.ts.map +0 -1
- package/dist/ledger-v3-validation.js +0 -265
- package/dist/ledger-v3-validation.js.map +0 -1
- package/dist/ledger.d.ts +0 -242
- package/dist/ledger.d.ts.map +0 -1
- package/dist/ledger.js +0 -142
- package/dist/ledger.js.map +0 -1
- package/dist/measured-order.d.ts +0 -249
- package/dist/measured-order.d.ts.map +0 -1
- package/dist/measured-order.js +0 -309
- package/dist/measured-order.js.map +0 -1
- package/dist/measured-session.d.ts +0 -97
- package/dist/measured-session.d.ts.map +0 -1
- package/dist/measured-session.js +0 -134
- package/dist/measured-session.js.map +0 -1
- package/dist/model-preflight.d.ts +0 -13
- package/dist/model-preflight.d.ts.map +0 -1
- package/dist/model-preflight.js +0 -29
- package/dist/model-preflight.js.map +0 -1
- package/dist/native-session-target.d.ts +0 -9
- package/dist/native-session-target.d.ts.map +0 -1
- package/dist/native-session-target.js +0 -29
- package/dist/native-session-target.js.map +0 -1
- package/dist/native-session.d.ts +0 -59
- package/dist/native-session.d.ts.map +0 -1
- package/dist/native-session.js +0 -154
- package/dist/native-session.js.map +0 -1
- package/dist/order-schedule.d.ts +0 -37
- package/dist/order-schedule.d.ts.map +0 -1
- package/dist/order-schedule.js +0 -81
- package/dist/order-schedule.js.map +0 -1
- package/dist/ordinary-children.d.ts +0 -52
- package/dist/ordinary-children.d.ts.map +0 -1
- package/dist/ordinary-children.js +0 -93
- package/dist/ordinary-children.js.map +0 -1
- package/dist/pane-reaper.d.ts +0 -111
- package/dist/pane-reaper.d.ts.map +0 -1
- package/dist/pane-reaper.js +0 -242
- package/dist/pane-reaper.js.map +0 -1
- package/dist/pi-tools.d.ts.map +0 -1
- package/dist/pi-tools.js +0 -21
- package/dist/pi-tools.js.map +0 -1
- package/dist/producer-ipc-contract.d.ts +0 -29
- package/dist/producer-ipc-contract.d.ts.map +0 -1
- package/dist/producer-ipc-contract.js +0 -29
- package/dist/producer-ipc-contract.js.map +0 -1
- package/dist/producer-ipc.d.ts +0 -55
- package/dist/producer-ipc.d.ts.map +0 -1
- package/dist/producer-ipc.js +0 -143
- package/dist/producer-ipc.js.map +0 -1
- package/dist/product-files.d.ts +0 -6
- package/dist/product-files.d.ts.map +0 -1
- package/dist/product-files.js +0 -55
- package/dist/product-files.js.map +0 -1
- package/dist/progress.d.ts.map +0 -1
- package/dist/progress.js.map +0 -1
- package/dist/propagation.d.ts +0 -203
- package/dist/propagation.d.ts.map +0 -1
- package/dist/propagation.js +0 -279
- package/dist/propagation.js.map +0 -1
- package/dist/refusals.d.ts +0 -16
- package/dist/refusals.d.ts.map +0 -1
- package/dist/refusals.js +0 -55
- package/dist/refusals.js.map +0 -1
- package/dist/resolve.d.ts.map +0 -1
- package/dist/resolve.js +0 -211
- package/dist/resolve.js.map +0 -1
- package/dist/resource-budget.d.ts +0 -334
- package/dist/resource-budget.d.ts.map +0 -1
- package/dist/resource-budget.js +0 -415
- package/dist/resource-budget.js.map +0 -1
- package/dist/retention-contract.d.ts.map +0 -1
- package/dist/retention-contract.js +0 -104
- package/dist/retention-contract.js.map +0 -1
- package/dist/retention-json.d.ts.map +0 -1
- package/dist/retention-json.js.map +0 -1
- package/dist/routing-authority.d.ts.map +0 -1
- package/dist/routing-authority.js.map +0 -1
- package/dist/run-child.d.ts +0 -87
- package/dist/run-child.d.ts.map +0 -1
- package/dist/run-child.js +0 -248
- package/dist/run-child.js.map +0 -1
- package/dist/run-herdr.d.ts +0 -119
- package/dist/run-herdr.d.ts.map +0 -1
- package/dist/run-herdr.js +0 -335
- package/dist/run-herdr.js.map +0 -1
- package/dist/skill-packages.d.ts +0 -116
- package/dist/skill-packages.d.ts.map +0 -1
- package/dist/skill-packages.js +0 -295
- package/dist/skill-packages.js.map +0 -1
- package/dist/skill-resources.d.ts.map +0 -1
- package/dist/skill-resources.js +0 -52
- package/dist/skill-resources.js.map +0 -1
- package/dist/spawn.d.ts.map +0 -1
- package/dist/spawn.js.map +0 -1
- package/dist/vendor/adoption.d.ts +0 -129
- package/dist/vendor/adoption.d.ts.map +0 -1
- package/dist/vendor/adoption.js +0 -102
- package/dist/vendor/adoption.js.map +0 -1
- package/dist/vendor/herdr-pi-lifecycle.d.ts.map +0 -1
- package/dist/vendor/herdr-pi-lifecycle.js.map +0 -1
- package/dist/work-command.d.ts +0 -32
- package/dist/work-command.d.ts.map +0 -1
- package/dist/work-command.js +0 -179
- package/dist/work-command.js.map +0 -1
- package/dist/work-ledger-destination.d.ts +0 -20
- package/dist/work-ledger-destination.d.ts.map +0 -1
- package/dist/work-ledger-destination.js +0 -131
- package/dist/work-ledger-destination.js.map +0 -1
- package/dist/work-ledger-json.d.ts +0 -25
- package/dist/work-ledger-json.d.ts.map +0 -1
- package/dist/work-ledger-json.js +0 -267
- package/dist/work-ledger-json.js.map +0 -1
- package/dist/work-ledger-occurrences.d.ts +0 -227
- package/dist/work-ledger-occurrences.d.ts.map +0 -1
- package/dist/work-ledger-occurrences.js +0 -115
- package/dist/work-ledger-occurrences.js.map +0 -1
- package/dist/work-ledger-projection.d.ts +0 -295
- package/dist/work-ledger-projection.d.ts.map +0 -1
- package/dist/work-ledger-projection.js +0 -237
- package/dist/work-ledger-projection.js.map +0 -1
- package/dist/work-ledger-snapshot.d.ts +0 -29
- package/dist/work-ledger-snapshot.d.ts.map +0 -1
- package/dist/work-ledger-snapshot.js +0 -267
- package/dist/work-ledger-snapshot.js.map +0 -1
- package/dist/work-ledger-types.d.ts +0 -261
- package/dist/work-ledger-types.d.ts.map +0 -1
- package/dist/work-ledger-types.js +0 -13
- package/dist/work-ledger-types.js.map +0 -1
- package/dist/work-ledger-validation.d.ts +0 -14
- package/dist/work-ledger-validation.d.ts.map +0 -1
- package/dist/work-ledger-validation.js +0 -226
- package/dist/work-ledger-validation.js.map +0 -1
- package/dist/work-ledger.d.ts +0 -43
- package/dist/work-ledger.d.ts.map +0 -1
- package/dist/work-ledger.js +0 -225
- package/dist/work-ledger.js.map +0 -1
- package/dist/work-policy-registry.d.ts +0 -133
- package/dist/work-policy-registry.d.ts.map +0 -1
- package/dist/work-policy-registry.js +0 -128
- package/dist/work-policy-registry.js.map +0 -1
- package/dist/work-run.d.ts +0 -56
- package/dist/work-run.d.ts.map +0 -1
- package/dist/work-run.js +0 -102
- package/dist/work-run.js.map +0 -1
- package/dist/work-setup.d.ts +0 -40
- package/dist/work-setup.d.ts.map +0 -1
- package/dist/work-setup.js +0 -174
- package/dist/work-setup.js.map +0 -1
- package/dist/workflow-fact-id.d.ts +0 -4
- package/dist/workflow-fact-id.d.ts.map +0 -1
- package/dist/workflow-fact-id.js +0 -14
- package/dist/workflow-fact-id.js.map +0 -1
- package/dist/workflow-facts.d.ts +0 -34
- package/dist/workflow-facts.d.ts.map +0 -1
- package/dist/workflow-facts.js +0 -43
- package/dist/workflow-facts.js.map +0 -1
- package/dist/workspace-lease.d.ts +0 -40
- package/dist/workspace-lease.d.ts.map +0 -1
- package/dist/workspace-lease.js +0 -333
- package/dist/workspace-lease.js.map +0 -1
- package/dist/workspace.d.ts +0 -57
- package/dist/workspace.d.ts.map +0 -1
- package/dist/workspace.js +0 -216
- package/dist/workspace.js.map +0 -1
- package/extensions/daily-dashboard-session.ts +0 -48
- package/extensions/daily-work-session.ts +0 -20
- package/extensions/learning-outcome-session.ts +0 -38
- package/extensions/learning-session.ts +0 -59
- package/extensions/ordinary-runtime.ts +0 -14
- package/extensions/primary-shadow.ts +0 -11
- package/extensions/work-policy-session.ts +0 -139
- package/extensions/work-run-session.ts +0 -75
- package/extensions/work-runtime.ts +0 -44
- package/extensions/work-session.ts +0 -132
- package/src/activity-timeline.ts +0 -133
- package/src/approval-prompt.ts +0 -225
- package/src/approval-store.ts +0 -386
- package/src/approval.ts +0 -399
- package/src/capabilities.ts +0 -220
- package/src/catalog.ts +0 -306
- package/src/check-runner.ts +0 -387
- package/src/control-journal.ts +0 -26
- package/src/correlation.ts +0 -320
- package/src/daily-dashboard-host.ts +0 -105
- package/src/daily-panel.ts +0 -80
- package/src/daily-view-input.ts +0 -59
- package/src/daily-view-render.ts +0 -45
- package/src/daily-view.ts +0 -160
- package/src/dashboard-cli.ts +0 -340
- package/src/dashboard-display-controls.ts +0 -21
- package/src/dashboard-handshake.ts +0 -199
- package/src/dashboard-harness.ts +0 -37
- package/src/dashboard-herdr.ts +0 -363
- package/src/dashboard-host-contract.ts +0 -50
- package/src/dashboard-host-transport.ts +0 -43
- package/src/dashboard-host.ts +0 -244
- package/src/dashboard-menu.ts +0 -28
- package/src/dashboard-observation.ts +0 -46
- package/src/dashboard-projection.ts +0 -390
- package/src/dashboard-render.ts +0 -259
- package/src/debrief-contract.ts +0 -127
- package/src/debrief-fixture.ts +0 -29
- package/src/debrief-host.ts +0 -53
- package/src/debrief-render.ts +0 -49
- package/src/debrief.ts +0 -198
- package/src/definitions.ts +0 -211
- package/src/delegate-types.ts +0 -154
- package/src/delegate.ts +0 -348
- package/src/delegation-approval.ts +0 -126
- package/src/dispatch-control.ts +0 -81
- package/src/effect-profile-runtime.ts +0 -46
- package/src/effect-profile.ts +0 -129
- package/src/execution-retention.ts +0 -230
- package/src/executor.ts +0 -123
- package/src/experiment-contract.ts +0 -66
- package/src/experiment-state.ts +0 -44
- package/src/experiment-store.ts +0 -98
- package/src/experiment.ts +0 -236
- package/src/factory-contract.ts +0 -47
- package/src/factory-migration.ts +0 -29
- package/src/factory-order.ts +0 -56
- package/src/factory-registry.ts +0 -60
- package/src/fanout.ts +0 -106
- package/src/file-lock.ts +0 -178
- package/src/finalization.ts +0 -79
- package/src/git-identity.ts +0 -56
- package/src/grant-env.ts +0 -221
- package/src/grant-store.ts +0 -235
- package/src/herdr-cli.ts +0 -125
- package/src/herdr-pi-lifecycle.ts +0 -21
- package/src/herdr-poll.ts +0 -253
- package/src/herdr-stage.ts +0 -55
- package/src/init.ts +0 -389
- package/src/intent-application.ts +0 -91
- package/src/intent-control.ts +0 -107
- package/src/intent-scheduling.ts +0 -14
- package/src/learning-connection.ts +0 -70
- package/src/lease-helper.ts +0 -97
- package/src/lease-record.ts +0 -131
- package/src/ledger-append.ts +0 -72
- package/src/ledger-events.ts +0 -226
- package/src/ledger-report.ts +0 -357
- package/src/ledger-v3-validation.ts +0 -266
- package/src/ledger.ts +0 -369
- package/src/measured-order.ts +0 -72
- package/src/measured-session.ts +0 -70
- package/src/model-preflight.ts +0 -41
- package/src/native-session-target.ts +0 -23
- package/src/native-session.ts +0 -139
- package/src/order-schedule.ts +0 -42
- package/src/ordinary-children.ts +0 -59
- package/src/pane-reaper.ts +0 -270
- package/src/pi-tools.ts +0 -25
- package/src/producer-ipc-contract.ts +0 -26
- package/src/producer-ipc.ts +0 -107
- package/src/product-files.ts +0 -34
- package/src/propagation.ts +0 -333
- package/src/refusals.ts +0 -70
- package/src/resolve.ts +0 -267
- package/src/resource-budget.ts +0 -349
- package/src/retention-contract.ts +0 -84
- package/src/retention-json.ts +0 -20
- package/src/run-child.ts +0 -303
- package/src/run-herdr.ts +0 -386
- package/src/skill-packages.ts +0 -314
- package/src/skill-resources.ts +0 -48
- package/src/vendor/adoption.ts +0 -109
- package/src/work-command.ts +0 -197
- package/src/work-ledger-destination.ts +0 -113
- package/src/work-ledger-json.ts +0 -228
- package/src/work-ledger-occurrences.ts +0 -99
- package/src/work-ledger-projection.ts +0 -262
- package/src/work-ledger-snapshot.ts +0 -246
- package/src/work-ledger-types.ts +0 -229
- package/src/work-ledger-validation.ts +0 -174
- package/src/work-ledger.ts +0 -186
- package/src/work-policy-registry.ts +0 -81
- package/src/work-run.ts +0 -79
- package/src/work-setup.ts +0 -141
- package/src/workflow-fact-id.ts +0 -16
- package/src/workflow-facts.ts +0 -65
- package/src/workspace-lease.ts +0 -363
- package/src/workspace.ts +0 -308
- /package/contracts/{ledger/v3 → ledger-record/v1}/fixtures/capability-decision.json +0 -0
- /package/contracts/{ledger/v3 → ledger-record/v1}/fixtures/workspace-lease.json +0 -0
- /package/dist/{herdr-name.d.ts → executors/herdr-name.d.ts} +0 -0
- /package/dist/{herdr-name.js → executors/herdr-name.js} +0 -0
- /package/dist/{herdr-pi-lifecycle.d.ts → executors/herdr-pi-lifecycle.d.ts} +0 -0
- /package/dist/{herdr-start.d.ts → executors/herdr-start.d.ts} +0 -0
- /package/dist/{herdr-start.js → executors/herdr-start.js} +0 -0
- /package/dist/{vendor → executors/vendor}/herdr-pi-lifecycle.d.ts +0 -0
- /package/dist/{vendor → executors/vendor}/herdr-pi-lifecycle.js +0 -0
- /package/dist/{file-lock.d.ts → governance/file-lock.d.ts} +0 -0
- /package/dist/{finalization.d.ts → governance/finalization.d.ts} +0 -0
- /package/dist/{finalization.js → governance/finalization.js} +0 -0
- /package/dist/{lease-helper.d.ts → governance/lease-helper.d.ts} +0 -0
- /package/dist/{lease-record.js → governance/lease-record.js} +0 -0
- /package/dist/{retention-contract.d.ts → governance/retention-contract.d.ts} +0 -0
- /package/dist/{retention-json.d.ts → governance/retention-json.d.ts} +0 -0
- /package/dist/{retention-json.js → governance/retention-json.js} +0 -0
- /package/dist/{chain.d.ts → kernel/chain.d.ts} +0 -0
- /package/dist/{chain.js → kernel/chain.js} +0 -0
- /package/dist/{correlation.d.ts → kernel/correlation.d.ts} +0 -0
- /package/dist/{definitions.d.ts → kernel/definitions.d.ts} +0 -0
- /package/dist/{delegate.d.ts → kernel/delegate.d.ts} +0 -0
- /package/dist/{delegation-approval.d.ts → kernel/delegation-approval.d.ts} +0 -0
- /package/dist/{execution-id.d.ts → kernel/execution-id.d.ts} +0 -0
- /package/dist/{execution-id.js → kernel/execution-id.js} +0 -0
- /package/dist/{fanout.d.ts → kernel/fanout.d.ts} +0 -0
- /package/dist/{ledger-identifiers.d.ts → kernel/ledger-identifiers.d.ts} +0 -0
- /package/dist/{ledger-identifiers.js → kernel/ledger-identifiers.js} +0 -0
- /package/dist/{pi-tools.d.ts → kernel/pi-tools.d.ts} +0 -0
- /package/dist/{progress.d.ts → kernel/progress.d.ts} +0 -0
- /package/dist/{progress.js → kernel/progress.js} +0 -0
- /package/dist/{resolve.d.ts → kernel/resolve.d.ts} +0 -0
- /package/dist/{routing-authority.d.ts → kernel/routing-authority.d.ts} +0 -0
- /package/dist/{routing-authority.js → kernel/routing-authority.js} +0 -0
- /package/dist/{skill-resources.d.ts → kernel/skill-resources.d.ts} +0 -0
- /package/dist/{spawn.d.ts → kernel/spawn.d.ts} +0 -0
- /package/dist/{spawn.js → kernel/spawn.js} +0 -0
- /package/dist/{dashboard-render.d.ts → products/dashboard-render.d.ts} +0 -0
- /package/src/{herdr-name.ts → executors/herdr-name.ts} +0 -0
- /package/src/{herdr-start.ts → executors/herdr-start.ts} +0 -0
- /package/src/{vendor → executors/vendor}/herdr-pi-lifecycle.ts +0 -0
- /package/src/{chain.ts → kernel/chain.ts} +0 -0
- /package/src/{execution-id.ts → kernel/execution-id.ts} +0 -0
- /package/src/{ledger-identifiers.ts → kernel/ledger-identifiers.ts} +0 -0
- /package/src/{progress.ts → kernel/progress.ts} +0 -0
- /package/src/{routing-authority.ts → kernel/routing-authority.ts} +0 -0
- /package/src/{spawn.ts → kernel/spawn.ts} +0 -0
|
@@ -7,11 +7,12 @@
|
|
|
7
7
|
* guard exists to defend — every wiring bug this package has had lived in that file.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { discoverSkillPackages } from "../src/skill-packages.ts";
|
|
11
|
-
import { applyInit, planInit } from "../src/init.ts";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
10
|
+
import { discoverSkillPackages } from "../src/kernel/skill-packages.ts";
|
|
11
|
+
import { applyInit, GITIGNORE_REINCLUDE_LINES, planInit, settingsIgnoredByGit } from "../src/governance/init.ts";
|
|
12
|
+
import { PI_PROJECT_DIR } from "../src/kernel/project-paths.ts";
|
|
13
|
+
import { registeredWorkspaceIds } from "../src/kernel/workspace.ts";
|
|
14
|
+
import { grantStorePath, projectLedgerPath, saveGrant } from "../src/governance/grant-store.ts";
|
|
15
|
+
import { expandSubsumed, SUBSUMPTION, type Capability } from "../src/kernel/resolve.ts";
|
|
15
16
|
import type { GrantsSession } from "./session.ts";
|
|
16
17
|
|
|
17
18
|
/**
|
|
@@ -55,7 +56,7 @@ export async function runInit(
|
|
|
55
56
|
const outcome = await applyInit(plan);
|
|
56
57
|
const lines = [
|
|
57
58
|
`grants: ${plan.skills.length} definition(s) from ${packages.map((p) => `${p.name}@${p.version}`).join(", ")}`,
|
|
58
|
-
` using ${plan.skills.filter(s => s.referenced).length} enabled definition(s) in place; no copies`,
|
|
59
|
+
` using ${plan.skills.filter((s) => s.referenced).length} enabled definition(s) in place; no copies`,
|
|
59
60
|
` wrote ${outcome.written.length}, kept ${outcome.kept.length} already present` +
|
|
60
61
|
`${outcome.failed.length > 0 ? `, ${outcome.failed.length} FAILED` : ""}`,
|
|
61
62
|
];
|
|
@@ -71,7 +72,7 @@ export async function runInit(
|
|
|
71
72
|
|
|
72
73
|
for (const [capability, neededBy] of plan.withheldCapabilities) {
|
|
73
74
|
// **Do not ask a question whose answer cannot matter.** `tool:bash` subsumes `write`, `edit` and
|
|
74
|
-
// `edit-diff` (`SUBSUMPTION`, `src/resolve.ts`), so once bash is granted those are already conferred.
|
|
75
|
+
// `edit-diff` (`SUBSUMPTION`, `src/kernel/resolve.ts`), so once bash is granted those are already conferred.
|
|
75
76
|
// The first version asked anyway: an operator could answer *no* to `tool:write`, watch `/grants` allow
|
|
76
77
|
// `build` with `tool:write`, and reasonably conclude the dialog was decorative. It was — that is R-47's
|
|
77
78
|
// shape, a control that appears to do something and does not, inside a control built to prevent it.
|
|
@@ -84,11 +85,11 @@ export async function runInit(
|
|
|
84
85
|
continue;
|
|
85
86
|
}
|
|
86
87
|
// The consequence sentence is per capability, and it reads the gate **in effect for this session** —
|
|
87
|
-
// `session.gated`, which is `
|
|
88
|
+
// `session.gated`, which is `PI_DADDY_GATED` when the operator set it and `DEFAULT_GATED` otherwise.
|
|
88
89
|
//
|
|
89
90
|
// The first version read `DEFAULT_GATED` directly, which is the compile-time constant `["tool:bash"]`, and
|
|
90
91
|
// `tool:bash` is consumed by the branch above — so the branch was **unreachable in every configuration**,
|
|
91
|
-
// and with `
|
|
92
|
+
// and with `PI_DADDY_GATED="tool:bash,tool:write"` (the value `renderGrantEnv` itself suggests) the
|
|
92
93
|
// dialog still printed the exact false sentence the fix claimed to remove. Dead code beside a claim that
|
|
93
94
|
// it worked, which is this project's failure mode, in the commit correcting that failure mode.
|
|
94
95
|
// No subsumption closure here, and the absence is deliberate. A `|| SUBSUMPTION[capability]…` disjunct was
|
|
@@ -124,7 +125,7 @@ export async function runInit(
|
|
|
124
125
|
if (saved !== "saved") {
|
|
125
126
|
lines.push(
|
|
126
127
|
` NOT STORED — ${saved === "busy" ? "another session holds the grant store" : "the store could not be written"}. ` +
|
|
127
|
-
`Nothing was changed; this session's grant is unchanged. Retry, or export
|
|
128
|
+
`Nothing was changed; this session's grant is unchanged. Retry, or export PI_DADDY_GRANT yourself.`,
|
|
128
129
|
);
|
|
129
130
|
ctx.ui.notify(lines.join("\n"), "error");
|
|
130
131
|
return;
|
|
@@ -139,7 +140,7 @@ export async function runInit(
|
|
|
139
140
|
|
|
140
141
|
lines.push(
|
|
141
142
|
` stored at ${grantStorePath(ctx.cwd)} — outside this project, so no child can rewrite it`,
|
|
142
|
-
` ledger ${ledger} — default for future pi sessions;
|
|
143
|
+
` ledger ${ledger} — default for future pi sessions; PI_DADDY_LEDGER still overrides it`,
|
|
143
144
|
);
|
|
144
145
|
if (granted.length > 0) lines.push(` GRANTED: ${granted.join(", ")}`);
|
|
145
146
|
if (alreadyConferred.length > 0) {
|
|
@@ -154,9 +155,14 @@ export async function runInit(
|
|
|
154
155
|
lines.push(
|
|
155
156
|
` ROUTABLE WORKSPACES, listed and NOT granted: ${plan.routableWorkspaces.join(", ")}`,
|
|
156
157
|
` routing a child to one needs its id in the grant (ADR-0035); add the ones this project may use to ` +
|
|
157
|
-
`${plan.
|
|
158
|
+
`${plan.settingsPath}. Which worktree a child starts in is not something a package can declare for you.`,
|
|
158
159
|
);
|
|
159
160
|
}
|
|
161
|
+
if ((await settingsIgnoredByGit(plan.settingsPath)) === true)
|
|
162
|
+
lines.push(
|
|
163
|
+
` NOTE: git ignores ${plan.settingsPath} (your root .gitignore covers ${PI_PROJECT_DIR}/), so the reviewable record ` +
|
|
164
|
+
`cannot be committed until you add: ${GITIGNORE_REINCLUDE_LINES.join(" ")}`,
|
|
165
|
+
);
|
|
160
166
|
lines.push(` live now (${finalGrant.length} capabilities) — no restart. /grants shows the verdicts.`);
|
|
161
167
|
ctx.ui.notify(lines.join("\n"), "info");
|
|
162
168
|
}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import { GRANT_ENV_KEYS } from "../src/propagation.ts";
|
|
1
|
+
import { GRANT_ENV_KEYS } from "../src/kernel/propagation.ts";
|
|
2
2
|
|
|
3
3
|
/** The root baseline and latest child publication for one real Pi session owner. */
|
|
4
|
-
export interface ReloadLifecycle {
|
|
4
|
+
export interface ReloadLifecycle {
|
|
5
|
+
root: Record<string, string | undefined>;
|
|
6
|
+
published?: Record<string, string | undefined>;
|
|
7
|
+
activityRootId?: string;
|
|
8
|
+
}
|
|
5
9
|
type SessionOwner = object;
|
|
6
10
|
|
|
7
11
|
interface ReloadState {
|
|
@@ -15,10 +19,10 @@ function state(): ReloadState {
|
|
|
15
19
|
}
|
|
16
20
|
|
|
17
21
|
function snapshot(): Record<string, string | undefined> {
|
|
18
|
-
return Object.fromEntries(GRANT_ENV_KEYS.map(key => [key, process.env[key]]));
|
|
22
|
+
return Object.fromEntries(GRANT_ENV_KEYS.map((key) => [key, process.env[key]]));
|
|
19
23
|
}
|
|
20
24
|
function same(left: Record<string, string | undefined>, right: Record<string, string | undefined>): boolean {
|
|
21
|
-
return GRANT_ENV_KEYS.every(key => left[key] === right[key]);
|
|
25
|
+
return GRANT_ENV_KEYS.every((key) => left[key] === right[key]);
|
|
22
26
|
}
|
|
23
27
|
function withRoot(root: Record<string, string | undefined>): NodeJS.ProcessEnv {
|
|
24
28
|
return { ...process.env, ...root };
|
|
@@ -35,7 +39,10 @@ export function beginExtensionLifecycle(): { environment: NodeJS.ProcessEnv; lif
|
|
|
35
39
|
* A matching latest publication is child state from a known owner, not an explicit replacement for this
|
|
36
40
|
* owner. An unmatched environment change is an explicit root replacement for THIS owner only.
|
|
37
41
|
*/
|
|
38
|
-
export function bindReloadLifecycle(
|
|
42
|
+
export function bindReloadLifecycle(
|
|
43
|
+
owner: SessionOwner,
|
|
44
|
+
provisional: ReloadLifecycle,
|
|
45
|
+
): {
|
|
39
46
|
lifecycle: ReloadLifecycle;
|
|
40
47
|
environment: NodeJS.ProcessEnv;
|
|
41
48
|
} {
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
import { nativeDelegationContext } from "./delegation-native.ts";
|
|
15
|
-
import { DELEGATE_SUBJECT, shouldSeekApproval } from "../src/approval.ts";
|
|
16
|
-
import { planDelegation } from "../src/delegate.ts";
|
|
15
|
+
import { DELEGATE_SUBJECT, shouldSeekApproval } from "../src/kernel/approval.ts";
|
|
16
|
+
import { planDelegation } from "../src/kernel/delegate.ts";
|
|
17
17
|
import {
|
|
18
18
|
obtainApprovals,
|
|
19
19
|
republishable,
|
|
@@ -22,11 +22,11 @@ import {
|
|
|
22
22
|
type ApprovalOutcome,
|
|
23
23
|
type ApprovalUIContext,
|
|
24
24
|
} from "./approvals.ts";
|
|
25
|
-
import type { InheritableApproval } from "../src/approval.ts";
|
|
25
|
+
import type { InheritableApproval } from "../src/kernel/approval.ts";
|
|
26
26
|
import type { GrantsSession } from "./session.ts";
|
|
27
|
-
import type { CorrelationMetadata } from "../src/correlation.ts";
|
|
28
|
-
import { preflightModel, type ModelCatalogue } from "../src/model-preflight.ts";
|
|
29
|
-
import { GovernanceRefusal, refusal as structuredRefusal } from "../src/refusals.ts";
|
|
27
|
+
import type { CorrelationMetadata } from "../src/kernel/correlation.ts";
|
|
28
|
+
import { preflightModel, type ModelCatalogue } from "../src/kernel/model-preflight.ts";
|
|
29
|
+
import { GovernanceRefusal, refusal as structuredRefusal } from "../src/kernel/refusals.ts";
|
|
30
30
|
import { executePlannedChild, type DelegationOutcome } from "./execute-child.ts";
|
|
31
31
|
import { recordDelegationDecision, type ApprovalLedgerFacts } from "./delegation-ledger.ts";
|
|
32
32
|
import type { ExecutionOccurrenceIds } from "./execution-occurrence.ts";
|
|
@@ -155,9 +155,7 @@ export async function planWithApprovals(
|
|
|
155
155
|
plan = {
|
|
156
156
|
...plan,
|
|
157
157
|
reason: approval.reason,
|
|
158
|
-
...(approval.refusalCode
|
|
159
|
-
? { refusal: structuredRefusal(approval.refusalCode, approval.reason) }
|
|
160
|
-
: {}),
|
|
158
|
+
...(approval.refusalCode ? { refusal: structuredRefusal(approval.refusalCode, approval.reason) } : {}),
|
|
161
159
|
};
|
|
162
160
|
}
|
|
163
161
|
} catch (error) {
|
|
@@ -204,7 +202,7 @@ export async function runOneDelegation(
|
|
|
204
202
|
*/
|
|
205
203
|
options: {
|
|
206
204
|
/** Actual public execute argument, never read from model-authored correlation or output. */
|
|
207
|
-
toolCallId?: string;
|
|
205
|
+
toolCallId?: string;
|
|
208
206
|
/** Progress for the parent's status block (ADR-0032). Display only. */
|
|
209
207
|
onProgress?: (update: {
|
|
210
208
|
/** Appended (process executor: a genuine byte stream). */
|
|
@@ -260,13 +258,13 @@ export async function runOneDelegation(
|
|
|
260
258
|
boundContextId: spec.correlation?.context_id,
|
|
261
259
|
};
|
|
262
260
|
|
|
263
|
-
// ADR-0031: herdr was DEMANDED (`
|
|
261
|
+
// ADR-0031: herdr was DEMANDED (`PI_DADDY_HERDR=1`) and is not answering. Refused rather than relocated —
|
|
264
262
|
// the operator chose that over falling back, so the ledger can never name a child that ran somewhere nobody
|
|
265
263
|
// chose.
|
|
266
264
|
//
|
|
267
265
|
// **Decided BEFORE the gate, and the ordering is a fix.** This sat after `planWithApprovals`, which opens the
|
|
268
266
|
// approval dialog — so with herdr down a human was asked to approve `tool:bash`, answered *Always*, and was
|
|
269
|
-
// then refused anyway. Measured: the answer still reached `process.env.
|
|
267
|
+
// then refused anyway. Measured: the answer still reached `process.env.PI_DADDY_APPROVED`, still wrote a
|
|
270
268
|
// **30-day project-wide** entry to the persisted store, and still produced a ledger line asserting a human
|
|
271
269
|
// approved `bash` for a child that never existed. A refused operation must not leave authority behind, and
|
|
272
270
|
// asking for permission that cannot be used is R-25's fatigue shape with nothing bought.
|
|
@@ -281,7 +279,12 @@ export async function runOneDelegation(
|
|
|
281
279
|
session.modelResolutionCache,
|
|
282
280
|
session.allowUnresolvedModels,
|
|
283
281
|
);
|
|
284
|
-
const {extra,refusal:nativeRefusal}=await nativeDelegationContext(
|
|
282
|
+
const { extra, refusal: nativeRefusal } = await nativeDelegationContext(
|
|
283
|
+
session,
|
|
284
|
+
ids,
|
|
285
|
+
budget,
|
|
286
|
+
Boolean(executorRefusal || modelRefusal),
|
|
287
|
+
);
|
|
285
288
|
executorRefusal ||= nativeRefusal;
|
|
286
289
|
let preparedWorkspace: PreparedWorkspace | undefined;
|
|
287
290
|
let approvalOutcome: ApprovalOutcome | undefined;
|
|
@@ -309,9 +312,10 @@ export async function runOneDelegation(
|
|
|
309
312
|
plan = gated.plan;
|
|
310
313
|
approvalOutcome = gated.approval;
|
|
311
314
|
} catch (error) {
|
|
312
|
-
const value =
|
|
313
|
-
|
|
314
|
-
|
|
315
|
+
const value =
|
|
316
|
+
error instanceof GovernanceRefusal
|
|
317
|
+
? { code: error.code, message: error.message, ...(error.details ? { details: error.details } : {}) }
|
|
318
|
+
: structuredRefusal("WORKSPACE_LEASE_STALE", `workspace setup failed (${String(error)})`);
|
|
315
319
|
plan = { ...plan, ok: false, reason: value.message, refusal: value };
|
|
316
320
|
}
|
|
317
321
|
}
|
|
@@ -340,8 +344,14 @@ export async function runOneDelegation(
|
|
|
340
344
|
// The capability decision provisions the child, so this append remains load-bearing and fails closed.
|
|
341
345
|
try {
|
|
342
346
|
await recordDelegationDecision({
|
|
343
|
-
session,
|
|
344
|
-
|
|
347
|
+
session,
|
|
348
|
+
plan,
|
|
349
|
+
ids,
|
|
350
|
+
agent: spec.agent,
|
|
351
|
+
taskFrom,
|
|
352
|
+
taskFromExecutionId,
|
|
353
|
+
approval: approvalOutcome,
|
|
354
|
+
approvalFacts,
|
|
345
355
|
});
|
|
346
356
|
} catch (error) {
|
|
347
357
|
plan = {
|
|
@@ -389,7 +399,7 @@ export async function runOneDelegation(
|
|
|
389
399
|
childId: ids.childId,
|
|
390
400
|
executionId: ids.executionId,
|
|
391
401
|
parentExecutionId: ids.parentExecutionId,
|
|
392
|
-
toolCallId: options.toolCallId,
|
|
402
|
+
toolCallId: options.toolCallId,
|
|
393
403
|
cwd: ctx.cwd,
|
|
394
404
|
preparedWorkspace,
|
|
395
405
|
signal,
|
|
@@ -1,20 +1,33 @@
|
|
|
1
|
-
import { parseInherited } from "../src/approval.ts";
|
|
2
|
-
import { DELEGATE_CAPABILITY } from "../src/delegate.ts";
|
|
3
|
-
import { budgetFromEnv } from "../src/fanout.ts";
|
|
4
|
-
import { WILDCARD } from "../src/pi-tools.ts";
|
|
1
|
+
import { parseInherited } from "../src/kernel/approval.ts";
|
|
2
|
+
import { DELEGATE_CAPABILITY } from "../src/kernel/delegate.ts";
|
|
3
|
+
import { budgetFromEnv } from "../src/kernel/fanout.ts";
|
|
4
|
+
import { WILDCARD } from "../src/kernel/pi-tools.ts";
|
|
5
5
|
import {
|
|
6
|
-
depthConfig,
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
depthConfig,
|
|
7
|
+
deriveOwnGrant,
|
|
8
|
+
gatedFromEnv,
|
|
9
|
+
ENV_APPROVED,
|
|
10
|
+
ENV_DEPTH,
|
|
11
|
+
ENV_EXECUTION_ID,
|
|
12
|
+
ENV_FANOUT,
|
|
13
|
+
ENV_GATED,
|
|
14
|
+
ENV_GRANT,
|
|
15
|
+
ENV_LEDGER,
|
|
16
|
+
ENV_MAX_DEPTH,
|
|
17
|
+
ENV_PARENT_ID,
|
|
18
|
+
parseList,
|
|
19
|
+
} from "../src/kernel/propagation.ts";
|
|
9
20
|
import { storedGrantSessionState } from "./stored-grant-session.ts";
|
|
10
|
-
import { chooseExecutor, ENV_HERDR } from "../src/executor.ts";
|
|
11
|
-
import { ENV_ALLOW_UNRESOLVED_MODELS } from "../src/model-preflight.ts";
|
|
21
|
+
import { chooseExecutor, ENV_HERDR } from "../src/executors/executor.ts";
|
|
22
|
+
import { ENV_ALLOW_UNRESOLVED_MODELS } from "../src/kernel/model-preflight.ts";
|
|
12
23
|
import type { ReloadLifecycle } from "./reload-environment.ts";
|
|
13
24
|
import { ENV_GOVERNANCE, type GrantsSession } from "./session.ts";
|
|
14
25
|
|
|
15
26
|
/** Rebuild every authority-bearing factory input once session_start identifies its real SDK owner. */
|
|
16
27
|
export function reconcileSessionEnvironment(
|
|
17
|
-
session: GrantsSession,
|
|
28
|
+
session: GrantsSession,
|
|
29
|
+
environment: NodeJS.ProcessEnv,
|
|
30
|
+
lifecycle: ReloadLifecycle,
|
|
18
31
|
): void {
|
|
19
32
|
const grantRaw = environment[ENV_GRANT];
|
|
20
33
|
const stored = storedGrantSessionState(grantRaw, session.storeCwd);
|
|
@@ -33,7 +46,8 @@ export function reconcileSessionEnvironment(
|
|
|
33
46
|
session.ownSpawnId = environment[ENV_PARENT_ID]?.trim() || `d${session.depth}`;
|
|
34
47
|
session.ownExecutionId = environment[ENV_EXECUTION_ID]?.trim() || undefined;
|
|
35
48
|
session.fanoutBudget = budgetFromEnv(environment[ENV_FANOUT]);
|
|
36
|
-
session.mayDelegate =
|
|
49
|
+
session.mayDelegate =
|
|
50
|
+
!session.governed || session.inherited.includes(DELEGATE_CAPABILITY) || session.inherited.includes(WILDCARD);
|
|
37
51
|
session.allowUnresolvedModels = environment[ENV_ALLOW_UNRESOLVED_MODELS] === "1";
|
|
38
52
|
session.reloadLifecycle = lifecycle;
|
|
39
53
|
session.activityRootId = lifecycle.activityRootId ?? session.activityRootId;
|
|
@@ -17,12 +17,22 @@
|
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
import { existsSync } from "node:fs";
|
|
20
|
-
import { legacyApprovalsPath, sharedApprovalsPath } from "../src/approval-store.ts";
|
|
21
|
-
import { verifyLedger } from "../src/ledger.ts";
|
|
22
|
-
import { AGENT_WILDCARD } from "../src/resolve.ts";
|
|
20
|
+
import { legacyApprovalsPath, sharedApprovalsPath } from "../src/governance/approval-store.ts";
|
|
21
|
+
import { verifyLedger } from "../src/governance/ledger.ts";
|
|
22
|
+
import { AGENT_WILDCARD } from "../src/kernel/resolve.ts";
|
|
23
23
|
import { planWithApprovals } from "./run-delegation.ts";
|
|
24
24
|
import type { GrantsSession } from "./session.ts";
|
|
25
25
|
import { renderSpawnableSummary, summariseSpawnable } from "./spawn-summary.ts";
|
|
26
|
+
import {
|
|
27
|
+
approvalsPath,
|
|
28
|
+
grantStorePath,
|
|
29
|
+
legacyGrantEnvPath,
|
|
30
|
+
legacyProjectLedgerPath,
|
|
31
|
+
legacyUserApprovalsPath,
|
|
32
|
+
legacyUserGrantStorePath,
|
|
33
|
+
projectLedgerPath,
|
|
34
|
+
projectSettingsPath,
|
|
35
|
+
} from "../src/kernel/project-paths.ts";
|
|
26
36
|
|
|
27
37
|
/**
|
|
28
38
|
* The slice of pi's context this module needs: a working directory and somewhere to speak.
|
|
@@ -55,6 +65,40 @@ export async function reportSessionStart(session: GrantsSession, ctx: SessionRep
|
|
|
55
65
|
// different reason for not migrating: splitting it by `cwd` would be lossless, and it is still declined
|
|
56
66
|
// because one-shot migration code in the layer with nine defects buys less than one re-approval costs.
|
|
57
67
|
try {
|
|
68
|
+
// ADR-0076 PR 3c moved the user-level stores under one pi-daddy/ directory WITHOUT migration (operator
|
|
69
|
+
// decision, following ADR-0020). Name what was left behind, so "why does it ask again" has an answer.
|
|
70
|
+
for (const [label, legacy, current, action] of [
|
|
71
|
+
[
|
|
72
|
+
"grant store",
|
|
73
|
+
legacyUserGrantStorePath(ctx.cwd),
|
|
74
|
+
grantStorePath(ctx.cwd),
|
|
75
|
+
"run /grants init to record this project's grant again",
|
|
76
|
+
],
|
|
77
|
+
[
|
|
78
|
+
"approvals",
|
|
79
|
+
legacyUserApprovalsPath(ctx.cwd),
|
|
80
|
+
approvalsPath(ctx.cwd),
|
|
81
|
+
"answer the gate again; stored approvals are not migrated",
|
|
82
|
+
],
|
|
83
|
+
[
|
|
84
|
+
"project ledger",
|
|
85
|
+
legacyProjectLedgerPath(ctx.cwd),
|
|
86
|
+
projectLedgerPath(ctx.cwd),
|
|
87
|
+
"it is imported once at session start; the old file is kept untouched",
|
|
88
|
+
],
|
|
89
|
+
[
|
|
90
|
+
"grants.env",
|
|
91
|
+
legacyGrantEnvPath(ctx.cwd),
|
|
92
|
+
projectSettingsPath(ctx.cwd),
|
|
93
|
+
"it is no longer written or read; a shell that still sources it points PI_DADDY_LEDGER at the old ledger — delete the file",
|
|
94
|
+
],
|
|
95
|
+
] as const) {
|
|
96
|
+
if (existsSync(legacy) && !existsSync(current))
|
|
97
|
+
ctx.ui.notify(
|
|
98
|
+
`grants: ${label} found at its pre-0.30 location ${legacy} and not at ${current} — ${action}.`,
|
|
99
|
+
"warning",
|
|
100
|
+
);
|
|
101
|
+
}
|
|
58
102
|
if (existsSync(sharedApprovalsPath())) {
|
|
59
103
|
ctx.ui.notify(
|
|
60
104
|
`grants: ignoring ${sharedApprovalsPath()} — approvals are now stored one file per governed ` +
|
|
@@ -85,15 +129,19 @@ export async function reportSessionStart(session: GrantsSession, ctx: SessionRep
|
|
|
85
129
|
// file" is not true of everything it covers. Paired with a shell that is every body on disk running
|
|
86
130
|
// with `bash`. `docs/SPEC.md` calls the combination poor and nothing detected it, which is R-47's
|
|
87
131
|
// shape in a control shipped one day later.
|
|
88
|
-
if (
|
|
132
|
+
if (
|
|
133
|
+
session.ownGrant.includes(AGENT_WILDCARD) &&
|
|
134
|
+
session.gated.length === 0 &&
|
|
135
|
+
session.ownGrant.includes("tool:bash")
|
|
136
|
+
) {
|
|
89
137
|
ctx.ui.notify(
|
|
90
|
-
`grants:
|
|
138
|
+
`grants: PI_DADDY_GRANT pairs agent:* with tool:bash and gates nothing — every SKILL.md in ` +
|
|
91
139
|
`this project AND in ~/.pi/agent/skills (which other tools install into) may run with a shell. ` +
|
|
92
|
-
`Enumerate the agent: ids you mean, or leave
|
|
140
|
+
`Enumerate the agent: ids you mean, or leave PI_DADDY_GATED at its default so bash is asked for.`,
|
|
93
141
|
"warning",
|
|
94
142
|
);
|
|
95
143
|
}
|
|
96
|
-
// REMOVED 2026-08-21. This warned that an `agent:` id in `
|
|
144
|
+
// REMOVED 2026-08-21. This warned that an `agent:` id in `PI_DADDY_GATED` "does NOT gate spawning that
|
|
97
145
|
// definition — a human is never asked". It was R-47's PARTIAL fix (0.11.1) and became false one release
|
|
98
146
|
// later at 0.12.0, when ADR-0024's gate landed (`4673348`, "gating a definition asks before it runs") and
|
|
99
147
|
// a gated `agent:<name>` began blocking the spawn until somebody approved it. ADR-0024's own Costs section
|
|
@@ -108,7 +156,7 @@ export async function reportSessionStart(session: GrantsSession, ctx: SessionRep
|
|
|
108
156
|
// no live case is the next stale claim. R-134.
|
|
109
157
|
// R-34. `verifyLedger` existed and nothing ran it, so a torn line was detectable and undetected —
|
|
110
158
|
// and a check an operator has to know to run is not a control, it is a feature. Setting
|
|
111
|
-
// `
|
|
159
|
+
// `PI_DADDY_LEDGER` already means "I want an audit trail"; noticing that the trail is damaged is
|
|
112
160
|
// part of keeping one.
|
|
113
161
|
//
|
|
114
162
|
// Corruption only, deliberately. The escalation count is a *query* — `/grants ledger` answers it —
|
|
@@ -122,7 +170,7 @@ export async function reportSessionStart(session: GrantsSession, ctx: SessionRep
|
|
|
122
170
|
// where an operator asked a direct question and deserves the failure — and this call is the only one
|
|
123
171
|
// that makes it inside the blanket catch below. So an unreadable ledger threw here and cancelled every
|
|
124
172
|
// remaining control **in silence**: no alarm, and not even the `holding [...]` line that is the one
|
|
125
|
-
// sign governance is on. Confirmed by execution — `
|
|
173
|
+
// sign governance is on. Confirmed by execution — `PI_DADDY_LEDGER` naming a directory produced ZERO
|
|
126
174
|
// notifications from a governed session. A trail that cannot be read at all is a worse failure than a
|
|
127
175
|
// torn line, and it was the one case this control said nothing about.
|
|
128
176
|
if (session.ledgerPath) {
|
|
@@ -142,7 +190,7 @@ export async function reportSessionStart(session: GrantsSession, ctx: SessionRep
|
|
|
142
190
|
`grants: ledger ${session.ledgerPath} could not be read ` +
|
|
143
191
|
`(${(error as { code?: string }).code ?? String(error)}) — nothing can be verified about this ` +
|
|
144
192
|
`audit trail, and the first spawn will refuse rather than proceed unrecorded. Check that ` +
|
|
145
|
-
`
|
|
193
|
+
`PI_DADDY_LEDGER names a writable FILE.`,
|
|
146
194
|
"error",
|
|
147
195
|
);
|
|
148
196
|
}
|
|
@@ -183,7 +231,8 @@ export async function reportSessionStart(session: GrantsSession, ctx: SessionRep
|
|
|
183
231
|
ctx.ui.notify(`grants: executor — ${session.executor.disclosure}`, "error");
|
|
184
232
|
}
|
|
185
233
|
|
|
186
|
-
if (!session.governed)
|
|
234
|
+
if (!session.governed)
|
|
235
|
+
info.push("grants: governance off by PI_DADDY_GOVERNANCE; observation and the local timeline remain independent.");
|
|
187
236
|
if (session.governed) {
|
|
188
237
|
info.push(
|
|
189
238
|
`grants: depth ${session.depth}/${session.maxDepth}, holding [${session.ownGrant.join(", ") || "nothing"}]`,
|
package/extensions/session.ts
CHANGED
|
@@ -14,15 +14,15 @@
|
|
|
14
14
|
* copy of `ownGrant` before observation is exactly how a stale upper bound would become an enforced one.
|
|
15
15
|
*/
|
|
16
16
|
import { randomUUID } from "node:crypto";
|
|
17
|
-
import { parseInherited, type InheritableApproval } from "../src/approval.ts";
|
|
18
|
-
import type { ApprovalBinding } from "../src/correlation.ts";
|
|
19
|
-
import { createApprovalGateProvider } from "../src/approval-prompt.ts";
|
|
20
|
-
import { makeCatalog, skillPathsFromCatalog, type Catalog } from "../src/catalog.ts";
|
|
21
|
-
import type { SkillDefinition } from "../src/definitions.ts";
|
|
22
|
-
import { DELEGATE_CAPABILITY, type DelegationContext } from "../src/delegate.ts";
|
|
23
|
-
import { budgetFromEnv } from "../src/fanout.ts";
|
|
24
|
-
import { chooseExecutor, ENV_HERDR, type ExecutorChoice } from "../src/executor.ts";
|
|
25
|
-
import { WILDCARD } from "../src/pi-tools.ts";
|
|
17
|
+
import { parseInherited, type InheritableApproval } from "../src/kernel/approval.ts";
|
|
18
|
+
import type { ApprovalBinding } from "../src/kernel/correlation.ts";
|
|
19
|
+
import { createApprovalGateProvider } from "../src/governance/approval-prompt.ts";
|
|
20
|
+
import { makeCatalog, skillPathsFromCatalog, type Catalog } from "../src/kernel/catalog.ts";
|
|
21
|
+
import type { SkillDefinition } from "../src/kernel/definitions.ts";
|
|
22
|
+
import { DELEGATE_CAPABILITY, type DelegationContext } from "../src/kernel/delegate.ts";
|
|
23
|
+
import { budgetFromEnv } from "../src/kernel/fanout.ts";
|
|
24
|
+
import { chooseExecutor, ENV_HERDR, type ExecutorChoice } from "../src/executors/executor.ts";
|
|
25
|
+
import { WILDCARD } from "../src/kernel/pi-tools.ts";
|
|
26
26
|
import {
|
|
27
27
|
childEnv,
|
|
28
28
|
depthConfig,
|
|
@@ -39,17 +39,16 @@ import {
|
|
|
39
39
|
ENV_PARENT_ID,
|
|
40
40
|
GRANT_ENV_KEYS,
|
|
41
41
|
parseList,
|
|
42
|
-
} from "../src/propagation.ts";
|
|
43
|
-
import type { Capability } from "../src/resolve.ts";
|
|
44
|
-
import { loadDefinitions } from "../src/definitions.ts";
|
|
45
|
-
import { buildCatalog } from "../src/catalog.ts";
|
|
46
|
-
import { ENV_WORKSPACE_REGISTRY } from "../src/workspace.ts";
|
|
47
|
-
import type { GrantStoreRefusalReason } from "../src/grant-store.ts";
|
|
42
|
+
} from "../src/kernel/propagation.ts";
|
|
43
|
+
import type { Capability } from "../src/kernel/resolve.ts";
|
|
44
|
+
import { loadDefinitions } from "../src/kernel/definitions.ts";
|
|
45
|
+
import { buildCatalog } from "../src/kernel/catalog.ts";
|
|
46
|
+
import { ENV_WORKSPACE_REGISTRY } from "../src/kernel/workspace.ts";
|
|
47
|
+
import type { GrantStoreRefusalReason } from "../src/governance/grant-store.ts";
|
|
48
48
|
import { republishable } from "./approvals.ts";
|
|
49
49
|
import { storedGrantSessionState } from "./stored-grant-session.ts";
|
|
50
|
-
import { nativeSessionRootFromEnv, type NativeSessionHost } from "../src/native-session-target.ts";
|
|
51
|
-
import { ENV_ALLOW_UNRESOLVED_MODELS } from "../src/model-preflight.ts";
|
|
52
|
-
import type { DeclaredWorkState } from "../src/work-command.ts";
|
|
50
|
+
import { nativeSessionRootFromEnv, type NativeSessionHost } from "../src/executors/native-session-target.ts";
|
|
51
|
+
import { ENV_ALLOW_UNRESOLVED_MODELS } from "../src/kernel/model-preflight.ts";
|
|
53
52
|
import { beginExtensionLifecycle, rememberChildPublication, type ReloadLifecycle } from "./reload-environment.ts";
|
|
54
53
|
import { reconcileSessionEnvironment } from "./session-environment.ts";
|
|
55
54
|
/**
|
|
@@ -63,27 +62,48 @@ import { reconcileSessionEnvironment } from "./session-environment.ts";
|
|
|
63
62
|
* `/grants`. Both executors still enforce the identical grant: the plan is the same, only the place it runs
|
|
64
63
|
* differs.
|
|
65
64
|
*
|
|
66
|
-
* The table itself is a pure function in
|
|
67
|
-
* other `
|
|
65
|
+
* The table itself is a pure function in `src/executors/executor.ts`; re-exported here because this is where every
|
|
66
|
+
* other `PI_DADDY_*` name lives and a reader looking for it will look here.
|
|
68
67
|
*/
|
|
69
|
-
export { ENV_HERDR } from "../src/executor.ts";
|
|
68
|
+
export { ENV_HERDR } from "../src/executors/executor.ts";
|
|
70
69
|
/**
|
|
71
70
|
* herdr workspace for spawned panes — re-exported from where it is actually READ.
|
|
72
71
|
*
|
|
73
72
|
* It was declared here and read nowhere: `resolveWorkspace` reads the string literal, so the constant and the
|
|
74
73
|
* literal could drift with nothing binding them. Re-exporting the single definition keeps this the place a reader
|
|
75
|
-
* looks for a `
|
|
74
|
+
* looks for a `PI_DADDY_*` name without letting two spellings exist.
|
|
76
75
|
*
|
|
77
76
|
* Omitting the variable no longer means "let herdr choose": it falls back to the parent's own
|
|
78
77
|
* `HERDR_WORKSPACE_ID`, because a child in a different workspace from the session that spawned it makes switching
|
|
79
78
|
* to it a workspace hop (ADR-0032). This name is the operator's explicit override.
|
|
80
79
|
*/
|
|
81
|
-
export { ENV_HERDR_WORKSPACE } from "../src/herdr-cli.ts";
|
|
80
|
+
export { ENV_HERDR_WORKSPACE } from "../src/executors/herdr-cli.ts";
|
|
81
|
+
import {
|
|
82
|
+
ENV_ACTIVITY_PARENT_TASK,
|
|
83
|
+
ENV_ACTIVITY_PATH,
|
|
84
|
+
ENV_ACTIVITY_ROOT,
|
|
85
|
+
ENV_ACTIVITY_TASK,
|
|
86
|
+
} from "../src/products/activity-timeline.ts";
|
|
87
|
+
import { ENV_HERDR_KEEP_PANE, ENV_GOVERNANCE } from "../src/kernel/env-names.ts";
|
|
88
|
+
export { ENV_HERDR_KEEP_PANE, ENV_GOVERNANCE } from "../src/kernel/env-names.ts";
|
|
89
|
+
import { adoptLegacyEnvironment } from "../src/kernel/env-names.ts";
|
|
90
|
+
|
|
91
|
+
/** The activity timeline's per-child observation identity, handed to the kernel through `childEnv` (ADR-0076). */
|
|
92
|
+
export function activityChildEnv(activity: { rootId: string; path: string; taskId?: string } | undefined) {
|
|
93
|
+
return (child: { childExecutionId?: string }): Readonly<Record<string, string>> =>
|
|
94
|
+
activity?.taskId && child.childExecutionId
|
|
95
|
+
? {
|
|
96
|
+
[ENV_ACTIVITY_PATH]: activity.path,
|
|
97
|
+
[ENV_ACTIVITY_ROOT]: activity.rootId,
|
|
98
|
+
[ENV_ACTIVITY_TASK]: child.childExecutionId,
|
|
99
|
+
[ENV_ACTIVITY_PARENT_TASK]: activity.taskId,
|
|
100
|
+
}
|
|
101
|
+
: {};
|
|
102
|
+
}
|
|
82
103
|
/** Keep each child's pane after it finishes, for inspection. Off by default: fan-out would flood it. */
|
|
83
|
-
export const ENV_HERDR_KEEP_PANE = "PI_GRANTS_HERDR_KEEP_PANE";
|
|
84
|
-
export const ENV_GOVERNANCE = "PI_DADDY_GOVERNANCE";
|
|
85
|
-
export interface VariantRunAccounting {runId:string;primaryExecutionId:string;shadowExecutionIds:string[];state:"running"|"settled";outcomes:null|{executionId:string;role:"primary"|"shadow";ok:boolean;reason:string|null}[]}
|
|
86
104
|
export interface GrantsSession extends NativeSessionHost {
|
|
105
|
+
/** Legacy PI_GRANTS_* names adopted at construction (ADR-0076 PR 3b); the session-start warning names them. */
|
|
106
|
+
readonly adoptedLegacyEnv: readonly string[];
|
|
87
107
|
/** False only for the explicit PI_DADDY_GOVERNANCE opt-out; otherwise roots are observed-bound. */
|
|
88
108
|
governed: boolean;
|
|
89
109
|
/** The upper bound handed down by the delegator, before this session's own tools are observed. */
|
|
@@ -129,9 +149,6 @@ export interface GrantsSession extends NativeSessionHost {
|
|
|
129
149
|
/** Stable root identity plus current turn, used only to join local activity facts. */
|
|
130
150
|
activityRootId: string;
|
|
131
151
|
activity?: { rootId: string; path: string; taskId?: string };
|
|
132
|
-
declaredWork?: DeclaredWorkState; // Explicit operator selection; absence leaves execution visibly unbound.
|
|
133
|
-
/** Primary-return fan-outs retained by this original session; bounded and human-readable via /grants variants. */
|
|
134
|
-
readonly variantRuns: Map<string, VariantRunAccounting>;
|
|
135
152
|
/** Root identity keyed to ctx.sessionManager once session_start supplies it. */
|
|
136
153
|
reloadLifecycle: ReloadLifecycle;
|
|
137
154
|
/** Approval keys approved for this session. In memory only — this dies with the process. */
|
|
@@ -237,7 +254,14 @@ export async function loadProjectDefinitions(session: GrantsSession, cwd: string
|
|
|
237
254
|
});
|
|
238
255
|
session.catalog = await session.catalogReady;
|
|
239
256
|
}
|
|
240
|
-
export function createGrantsSession(
|
|
257
|
+
export function createGrantsSession(
|
|
258
|
+
extensionPath: string | undefined,
|
|
259
|
+
lifecycle?: ReloadLifecycle,
|
|
260
|
+
observerExtensionPath?: string,
|
|
261
|
+
): GrantsSession {
|
|
262
|
+
// ADR-0076 PR 3b: legacy PI_GRANTS_* names are adopted BEFORE the first environment read and before the
|
|
263
|
+
// reload snapshot, or an operator on the old names would get an ungoverned wildcard root (review finding).
|
|
264
|
+
const adoptedLegacyEnv = adoptLegacyEnvironment(process.env);
|
|
241
265
|
const started = lifecycle ? undefined : beginExtensionLifecycle();
|
|
242
266
|
const activeLifecycle = lifecycle ?? started!.lifecycle;
|
|
243
267
|
const environment = lifecycle ? process.env : started!.environment;
|
|
@@ -265,16 +289,17 @@ export function createGrantsSession(extensionPath: string | undefined, lifecycle
|
|
|
265
289
|
const { depth, maxDepth } = bounds;
|
|
266
290
|
const emptyCatalog = makeCatalog([]);
|
|
267
291
|
const session: GrantsSession = {
|
|
292
|
+
adoptedLegacyEnv,
|
|
268
293
|
governed,
|
|
269
294
|
inherited,
|
|
270
295
|
depth,
|
|
271
296
|
maxDepth,
|
|
272
297
|
malformedBounds: bounds.malformed,
|
|
273
298
|
// ADR-0012: `bash` is gated by DEFAULT — but only in a governed session. An ungoverned one
|
|
274
|
-
// (no
|
|
299
|
+
// (no PI_DADDY_GRANT) still blocks nothing, so "governance is opt-in" holds exactly where it always
|
|
275
300
|
// did. Inside a session the operator already chose to govern, handing a child `bash` hands it an
|
|
276
301
|
// ungoverned-descendant escape hatch, and doing that silently is what changes here.
|
|
277
|
-
// `
|
|
302
|
+
// `PI_DADDY_GATED=""` turns the default off; absent and empty are deliberately distinguishable.
|
|
278
303
|
gated: governed ? gatedFromEnv(environment[ENV_GATED]) : parseList(environment[ENV_GATED]),
|
|
279
304
|
// Presence wins, including an explicitly empty value for a one-run opt-out. The store is eligible only
|
|
280
305
|
// when ENV_GRANT was absent above, preserving the environment as the child's single authority channel.
|
|
@@ -306,7 +331,6 @@ export function createGrantsSession(extensionPath: string | undefined, lifecycle
|
|
|
306
331
|
extensionPath,
|
|
307
332
|
observerExtensionPath,
|
|
308
333
|
activityRootId,
|
|
309
|
-
variantRuns: new Map(),
|
|
310
334
|
reloadLifecycle: activeLifecycle,
|
|
311
335
|
sessionApprovals: new Set<string>(),
|
|
312
336
|
sessionApprovalBindings: new Map<string, ApprovalBinding>(),
|
|
@@ -327,7 +351,7 @@ export function createGrantsSession(extensionPath: string | undefined, lifecycle
|
|
|
327
351
|
ledgerPath: session.ledgerPath,
|
|
328
352
|
extensionPath: session.extensionPath,
|
|
329
353
|
observerExtensionPath: session.observerExtensionPath,
|
|
330
|
-
|
|
354
|
+
childEnv: activityChildEnv(session.activity),
|
|
331
355
|
catalog: await session.catalogReady,
|
|
332
356
|
// R-32: where each granted skill lives, so `planSpawn` can pass `--skill` for those and only those.
|
|
333
357
|
// Derived from the catalog's own `source`, so it cannot drift from what was discovered.
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* **Decided by the real planner, and — since a reviewer caught it — no longer re-classified afterwards.**
|
|
12
12
|
* The first version read two fields of `plan.result` and invented a category from them, which is the very
|
|
13
13
|
* thing this header claimed to have made inexpressible: `planDelegation` has six refusals that leave both
|
|
14
|
-
* fields empty, so a session at its depth limit, or one with a malformed `
|
|
14
|
+
* fields empty, so a session at its depth limit, or one with a malformed `PI_DADDY_MAX_DEPTH`, was told its
|
|
15
15
|
* **files** were written wrong while `/grants` in the same session said "delegation is disabled (maxDepth
|
|
16
16
|
* 0)". That is R-28's shape inside the fix for R-28's shape. The planner's own `reason` is now printed for
|
|
17
17
|
* anything the two designated signals do not explain.
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
* and `/grants` run after any request is the settled answer.
|
|
24
24
|
*/
|
|
25
25
|
|
|
26
|
-
import type { SkillDefinition } from "../src/definitions.ts";
|
|
26
|
+
import type { SkillDefinition } from "../src/kernel/definitions.ts";
|
|
27
27
|
import type { GatedPlan } from "./run-delegation.ts";
|
|
28
28
|
|
|
29
29
|
/** Why a definition is not spawnable right now. Three causes, three different fixes. */
|
|
30
30
|
export type WithheldReason =
|
|
31
|
-
/** The grant lacks `agent:<name>`, or lacks a tool the ceiling declares. Fix: widen `
|
|
31
|
+
/** The grant lacks `agent:<name>`, or lacks a tool the ceiling declares. Fix: widen `PI_DADDY_GRANT`. */
|
|
32
32
|
| "capability"
|
|
33
33
|
/** Everything is held, but a gated capability needs a human yes first. Fix: spawn it and answer. */
|
|
34
34
|
| "approval"
|
|
@@ -108,7 +108,7 @@ export async function summariseSpawnable(
|
|
|
108
108
|
notChecked: 0,
|
|
109
109
|
sessionBlocked:
|
|
110
110
|
`this session holds no tool:delegate, so it has no delegate tool at all — nothing can be spawned, ` +
|
|
111
|
-
`whatever any definition declares. Add tool:delegate to
|
|
111
|
+
`whatever any definition declares. Add tool:delegate to PI_DADDY_GRANT to make this session a ` +
|
|
112
112
|
`delegator rather than a leaf.`,
|
|
113
113
|
};
|
|
114
114
|
}
|
|
@@ -120,7 +120,7 @@ export async function summariseSpawnable(
|
|
|
120
120
|
sessionBlocked:
|
|
121
121
|
session.maxDepth <= 0
|
|
122
122
|
? `spawning is disabled for this session (max depth ${session.maxDepth}), so no definition can ` +
|
|
123
|
-
`run whatever its file says. If you did not set
|
|
123
|
+
`run whatever its file says. If you did not set PI_DADDY_MAX_DEPTH to 0, check the warning ` +
|
|
124
124
|
`above: a malformed value disables spawning deliberately.`
|
|
125
125
|
: `this session is at its depth limit (${session.depth} of ${session.maxDepth}), so it may not ` +
|
|
126
126
|
`spawn — a definition refused here is not a problem with its file.`,
|