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
package/src/cli.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* `pi-daddy` — scaffolding
|
|
3
|
+
* `pi-daddy` — scaffolding and ledger maintenance.
|
|
4
4
|
*
|
|
5
5
|
* Thin on purpose: argv in, `discoverSkillPackages` + `planInit` + `applyInit`, report out. Every decision
|
|
6
6
|
* lives in `./init.ts`, `./grant-env.ts` and `./skill-packages.ts` as functions that touch no argv and print
|
|
@@ -17,26 +17,37 @@ import { realpathSync } from "node:fs";
|
|
|
17
17
|
import { readFile } from "node:fs/promises";
|
|
18
18
|
import { relative, resolve as resolvePath } from "node:path";
|
|
19
19
|
import { pathToFileURL } from "node:url";
|
|
20
|
-
import { UnsafeGrantError } from "./grant-env.ts";
|
|
21
|
-
import {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
import { UnsafeGrantError } from "./kernel/grant-env.ts";
|
|
21
|
+
import {
|
|
22
|
+
applyInit,
|
|
23
|
+
countDeclaring,
|
|
24
|
+
planInit,
|
|
25
|
+
type InitPlan,
|
|
26
|
+
GITIGNORE_REINCLUDE_LINES,
|
|
27
|
+
settingsIgnoredByGit,
|
|
28
|
+
} from "./governance/init.ts";
|
|
29
|
+
import { registeredWorkspaceIds } from "./kernel/workspace.ts";
|
|
30
|
+
import {
|
|
31
|
+
discoverSkillPackages,
|
|
32
|
+
skillPackageRoots,
|
|
33
|
+
type RefusedSkill,
|
|
34
|
+
type SkillPackage,
|
|
35
|
+
} from "./kernel/skill-packages.ts";
|
|
36
|
+
import { adoptLegacyEnvironment, legacyEnvironmentWarning } from "./kernel/env-names.ts";
|
|
37
|
+
import { PI_PROJECT_DIR, PROJECT_FILES, PROJECT_STATE_DIRNAME } from "./kernel/project-paths.ts";
|
|
38
|
+
import { repairLedger } from "./governance/record.ts";
|
|
39
|
+
import { importLegacyLedger } from "./governance/ledger.ts";
|
|
40
|
+
|
|
41
|
+
/** The reviewable record, as the operator sees it relative to the project (ADR-0076 PR 3c). */
|
|
42
|
+
const SETTINGS_REL = `${PI_PROJECT_DIR}/${PROJECT_STATE_DIRNAME}/${PROJECT_FILES.settings}`;
|
|
27
43
|
|
|
28
44
|
const USAGE = `pi-daddy — capability governance for pi sub-agents
|
|
29
45
|
|
|
30
46
|
Usage:
|
|
31
|
-
pi-daddy init [--force] [--dir <path>] prepare
|
|
47
|
+
pi-daddy init [--force] [--dir <path>] prepare ${SETTINGS_REL} from enabled installed
|
|
32
48
|
packages that declare skills (package.json "pi": {"skills": …})
|
|
33
|
-
pi-daddy
|
|
34
|
-
|
|
35
|
-
pi-daddy work list | work show [--dir <path>]
|
|
36
|
-
inspect saved setups or selected outcome (no model calls)
|
|
37
|
-
In Pi: /grants work guided multi-task/model/effort/dependency setup and run
|
|
38
|
-
/grants learning retained review, trust, adoption and later outcomes
|
|
39
|
-
pi-daddy guide | current installed product guide / current requirement register
|
|
49
|
+
pi-daddy ledger repair <path> [--yes] show the damaged tail of a ledger; --yes truncates it (ADR-0076)
|
|
50
|
+
pi-daddy ledger import <source> <target> copy a pre-format ledger into the record format; the source is untouched
|
|
40
51
|
pi-daddy --help | --version
|
|
41
52
|
|
|
42
53
|
init references skills already enabled in Pi at their installed or local paths. Legacy unregistered npm
|
|
@@ -45,14 +56,16 @@ stays unspawnable. Capabilities that can change your machine
|
|
|
45
56
|
(bash, write, edit) are written COMMENTED — uncomment them deliberately. Review the files, then commit.
|
|
46
57
|
|
|
47
58
|
--force rewrite legacy unregistered npm SKILL.md copies that already exist. This DISCARDS any \`allowed-tools\` you added.
|
|
48
|
-
It never rewrites
|
|
59
|
+
It never rewrites ${SETTINGS_REL} — delete that file if you want it regenerated.`;
|
|
49
60
|
|
|
50
61
|
export interface ParsedArgs {
|
|
51
|
-
command: "init" | "
|
|
62
|
+
command: "init" | "ledger-repair" | "ledger-import" | "help" | "version";
|
|
63
|
+
importTarget?: string;
|
|
64
|
+
/** `ledger repair <path>`: the ledger file; `yes` applies, otherwise preview only. */
|
|
65
|
+
ledgerPath?: string;
|
|
66
|
+
yes?: boolean;
|
|
52
67
|
dir?: string;
|
|
53
68
|
force: boolean;
|
|
54
|
-
id?: string;
|
|
55
|
-
outcome?: string;
|
|
56
69
|
/** Non-empty means refuse: argv said something this program does not understand. */
|
|
57
70
|
errors: string[];
|
|
58
71
|
}
|
|
@@ -71,54 +84,45 @@ export function parseArgs(argv: string[]): ParsedArgs {
|
|
|
71
84
|
if (args.includes("--version") || args.includes("-v")) return { command: "version", force: false, errors: [] };
|
|
72
85
|
|
|
73
86
|
const [command, ...tail] = args;
|
|
74
|
-
if(command==="
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
87
|
+
if (command === "ledger") {
|
|
88
|
+
// ADR-0076 PR 3d: `ledger repair <path> [--yes]` previews, --yes truncates; `ledger import <source> <target>`.
|
|
89
|
+
const [verb, target, ...flags] = tail;
|
|
90
|
+
if (verb === "import") {
|
|
91
|
+
const [source, dest, ...extra] = tail.slice(1);
|
|
92
|
+
if (!source || !dest || source.startsWith("-") || dest.startsWith("-") || extra.length)
|
|
93
|
+
return { command: "help", force: false, errors: ["ledger import needs: <source> <target>"] };
|
|
94
|
+
return { command: "ledger-import", force: false, errors: [], ledgerPath: source, importTarget: dest };
|
|
95
|
+
}
|
|
96
|
+
if (verb !== "repair" || !target || target.startsWith("-"))
|
|
97
|
+
return {
|
|
98
|
+
command: "help",
|
|
99
|
+
force: false,
|
|
100
|
+
errors: ["ledger needs: repair <path> [--yes] | import <source> <target>"],
|
|
101
|
+
};
|
|
102
|
+
const unknown = flags.filter((f) => f !== "--yes");
|
|
103
|
+
if (unknown.length) return { command: "help", force: false, errors: [`unknown option "${unknown[0]}"`] };
|
|
104
|
+
return { command: "ledger-repair", force: false, errors: [], ledgerPath: target, yes: flags.includes("--yes") };
|
|
105
|
+
}
|
|
106
|
+
if (command !== "init") return { command: "help", force: false, errors: [`unknown command "${command}"`] };
|
|
81
107
|
const errors: string[] = [];
|
|
82
|
-
let dir: string | undefined;
|
|
83
108
|
let force = false;
|
|
84
|
-
let
|
|
85
|
-
for (let i = 0; i <
|
|
86
|
-
const arg =
|
|
87
|
-
if (arg === "--force"
|
|
109
|
+
let dir: string | undefined;
|
|
110
|
+
for (let i = 0; i < tail.length; i += 1) {
|
|
111
|
+
const arg = tail[i];
|
|
112
|
+
if (arg === "--force") {
|
|
88
113
|
force = true;
|
|
89
|
-
} else if (arg === "--id" && work && workVerb === "add") {
|
|
90
|
-
const value = rest[i + 1];
|
|
91
|
-
if (value === undefined || value.startsWith("-")) errors.push("--id needs a value");
|
|
92
|
-
else { id = value; i += 1; }
|
|
93
|
-
} else if (arg === "--outcome" && work && workVerb === "add") {
|
|
94
|
-
const value = rest[i + 1];
|
|
95
|
-
if (value === undefined || value.startsWith("-")) errors.push("--outcome needs text");
|
|
96
|
-
else { outcome = value; i += 1; }
|
|
97
114
|
} else if (arg === "--dir") {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
// force on, then reported "nothing to scaffold" and exited 0 — the outcome this CLI's own comments
|
|
101
|
-
// call the worst available failure for a scaffolding command.
|
|
115
|
+
// A flag is never a path: `init --dir --force` used to scaffold into a directory named `--force`.
|
|
116
|
+
const value = tail[i + 1];
|
|
102
117
|
if (value === undefined || value.startsWith("-")) errors.push("--dir needs a path");
|
|
103
118
|
else {
|
|
104
119
|
dir = value;
|
|
105
120
|
i += 1;
|
|
106
121
|
}
|
|
107
122
|
} else {
|
|
108
|
-
// Was `rest.filter((a, i) => … && i !== dirIndex + 1)`, and with `--dir` absent `dirIndex` is -1, so
|
|
109
|
-
// the exemption became `i !== 0` and the FIRST argument was never checked. `init --Force` therefore
|
|
110
|
-
// parsed as a valid no-op run: it kept every file and exited 0, which is indistinguishable from a
|
|
111
|
-
// deliberate second run. Found by a reviewer, not by a test, because this file had none.
|
|
112
123
|
errors.push(`unknown option ${arg}`);
|
|
113
124
|
}
|
|
114
125
|
}
|
|
115
|
-
|
|
116
|
-
if (work && workVerb !== "add") return { command: workVerb === "list" ? "work-list" : "work-show", force: false, errors, ...(dir ? { dir } : {}) };
|
|
117
|
-
if (work) {
|
|
118
|
-
if (!id && !errors.some(error => error.startsWith("--id"))) errors.push("--id needs a value");
|
|
119
|
-
if (!outcome && !errors.some(error => error.startsWith("--outcome"))) errors.push("--outcome needs text");
|
|
120
|
-
return { command: "work-add", force: false, errors, ...(id ? { id } : {}), ...(outcome ? { outcome } : {}), ...(dir ? { dir } : {}) };
|
|
121
|
-
}
|
|
122
126
|
return { command: "init", dir, force, errors };
|
|
123
127
|
}
|
|
124
128
|
|
|
@@ -133,7 +137,9 @@ async function init(cwd: string, force: boolean): Promise<number> {
|
|
|
133
137
|
console.log(
|
|
134
138
|
`pi-daddy init: no enabled configured skills or unregistered npm package declares skills (a package.json "pi": {"skills": [...]} ` +
|
|
135
139
|
`field). Nothing to scaffold.\n\nLooked in:\n` +
|
|
136
|
-
skillPackageRoots(cwd)
|
|
140
|
+
skillPackageRoots(cwd)
|
|
141
|
+
.map((r) => ` ${r}\n`)
|
|
142
|
+
.join("") +
|
|
137
143
|
`\n pi install npm:principal-pi-skills # seven skills, and registers it with pi\n` +
|
|
138
144
|
` npm install principal-pi-skills # or pin it in this project instead`,
|
|
139
145
|
);
|
|
@@ -158,7 +164,9 @@ async function init(cwd: string, force: boolean): Promise<number> {
|
|
|
158
164
|
console.log(
|
|
159
165
|
`found ${pkg.name}@${pkg.version} — ${pkg.skills.length} skill(s), ` +
|
|
160
166
|
`${declaring} declaring allowed-tools` +
|
|
161
|
-
(pkg.unreadable.length > 0
|
|
167
|
+
(pkg.unreadable.length > 0
|
|
168
|
+
? `, ${pkg.unreadable.length} declared but unreadable (${pkg.unreadable.join(", ")})`
|
|
169
|
+
: "") +
|
|
162
170
|
// Counted on this line as well as named below it: a reader who stops at the first line must not
|
|
163
171
|
// read "0 skill(s)" as "this package ships none".
|
|
164
172
|
(pkg.refused.length > 0 ? `, ${pkg.refused.length} REFUSED` : ""),
|
|
@@ -171,21 +179,22 @@ async function init(cwd: string, force: boolean): Promise<number> {
|
|
|
171
179
|
// `--force` is destructive and says so at the moment it acts, not only in `--help` — which is the one
|
|
172
180
|
// place the operator running the command is not reading.
|
|
173
181
|
if (force) {
|
|
174
|
-
const existing = plan.skills.filter(s => !s.referenced).length;
|
|
182
|
+
const existing = plan.skills.filter((s) => !s.referenced).length;
|
|
175
183
|
console.log(
|
|
176
184
|
`\n--force: rewriting up to ${existing} SKILL.md cop${existing === 1 ? "y" : "ies"} from the installed\n` +
|
|
177
|
-
`packages. Any \`allowed-tools\` you wrote in them is DISCARDED. .
|
|
185
|
+
`packages. Any \`allowed-tools\` you wrote in them is DISCARDED. settings.json is never rewritten.`,
|
|
178
186
|
);
|
|
179
187
|
}
|
|
180
188
|
|
|
181
189
|
const outcome = await applyInit(plan, { force });
|
|
182
190
|
const short = (path: string) => relative(cwd, path) || path;
|
|
183
|
-
for (const skill of plan.skills.filter(s => s.referenced))
|
|
191
|
+
for (const skill of plan.skills.filter((s) => s.referenced))
|
|
192
|
+
console.log(`using ${short(skill.sourcePath)} (enabled in Pi; no copy)`);
|
|
184
193
|
for (const path of outcome.written) console.log(`wrote ${short(path)}`);
|
|
185
194
|
for (const path of outcome.kept) console.log(`kept ${short(path)} (already present — left exactly as it is)`);
|
|
186
195
|
for (const failure of outcome.failed) console.error(`FAILED ${short(failure.path)}: ${failure.error}`);
|
|
187
196
|
|
|
188
|
-
report(plan);
|
|
197
|
+
await report(plan);
|
|
189
198
|
// A refusal is a non-zero exit so CI can see it: a package that tried to write a capability into the
|
|
190
199
|
// grant through a name or a declaration is a fact a build should be able to fail on.
|
|
191
200
|
return outcome.failed.length > 0 || refused.length > 0 ? 1 : 0;
|
|
@@ -210,7 +219,7 @@ function reportRefusal(pkg: SkillPackage, refusal: RefusedSkill): string {
|
|
|
210
219
|
return (
|
|
211
220
|
`${head} declares ${refusal.detail.join(", ")} — that is root authority, not a description of what ` +
|
|
212
221
|
`the skill needs, and a package may not hand it to itself. ${refusal.detail.includes("tool:*") ? "tool:* satisfies EVERY capability" : "agent:* authorises every definition on disk"}. ` +
|
|
213
|
-
`Add it by hand to
|
|
222
|
+
`Add it by hand to PI_DADDY_GRANT if you genuinely mean it.`
|
|
214
223
|
);
|
|
215
224
|
case "not-utf8":
|
|
216
225
|
return `${head} is not valid UTF-8, so it cannot be copied verbatim — pi-daddy will not rewrite its bytes.`;
|
|
@@ -218,7 +227,7 @@ function reportRefusal(pkg: SkillPackage, refusal: RefusedSkill): string {
|
|
|
218
227
|
}
|
|
219
228
|
|
|
220
229
|
/** What the operator has to do next, and what pi-daddy deliberately did not do for them. */
|
|
221
|
-
function report(plan: InitPlan): void {
|
|
230
|
+
async function report(plan: InitPlan): Promise<void> {
|
|
222
231
|
const undeclared = plan.skills.filter((s) => s.withheld === "undeclared");
|
|
223
232
|
const patterned = plan.skills.filter((s) => s.withheld === "pattern");
|
|
224
233
|
|
|
@@ -231,7 +240,7 @@ function report(plan: InitPlan): void {
|
|
|
231
240
|
`${undeclared.map((s) => s.name).join(", ")}.\n` +
|
|
232
241
|
`Each copy carries a commented \`allowed-tools:\` line. pi-daddy does not choose ceilings — that\n` +
|
|
233
242
|
`decision is what you review and commit, so it is yours to write. Then add each \`agent:<name>\`\n` +
|
|
234
|
-
`to
|
|
243
|
+
`to the grant in ${SETTINGS_REL}.`,
|
|
235
244
|
);
|
|
236
245
|
}
|
|
237
246
|
|
|
@@ -239,7 +248,7 @@ function report(plan: InitPlan): void {
|
|
|
239
248
|
const needed = [...plan.withheldCapabilities].map(([c, who]) => `${c} (${who.join(", ")})`).join(", ");
|
|
240
249
|
console.log(
|
|
241
250
|
`\nWITHHELD BY DEFAULT: ${needed}.\n` +
|
|
242
|
-
`These can change your machine, so they are
|
|
251
|
+
`These can change your machine, so they are listed under \`withheld\` in settings.json along with the\n` +
|
|
243
252
|
`\`agent:\` ids of the definitions that need them. Uncomment deliberately — that is the decision.`,
|
|
244
253
|
);
|
|
245
254
|
}
|
|
@@ -256,8 +265,8 @@ function report(plan: InitPlan): void {
|
|
|
256
265
|
const blocked = plan.skills.filter((s) => s.withheld === "needs-withheld").map((s) => s.name);
|
|
257
266
|
console.log(
|
|
258
267
|
`\nROUTABLE WORKSPACES: ${plan.routableWorkspaces.join(", ")}.\n` +
|
|
259
|
-
`Routing a child to one needs its id in
|
|
260
|
-
`refused WORKSPACE_NOT_AUTHORIZED. They are listed
|
|
268
|
+
`Routing a child to one needs its id in PI_DADDY_GRANT (ADR-0035); without it the delegation is\n` +
|
|
269
|
+
`refused WORKSPACE_NOT_AUTHORIZED. They are listed under \`routableWorkspaces\` in settings.json and never granted for\n` +
|
|
261
270
|
`you — which worktree a child starts in is not something a package can declare.` +
|
|
262
271
|
(blocked.length > 0
|
|
263
272
|
? `\nUntil you grant one, these cannot be spawned: ${blocked.join(", ")} — add the capability, then\n` +
|
|
@@ -268,12 +277,17 @@ function report(plan: InitPlan): void {
|
|
|
268
277
|
|
|
269
278
|
console.log(
|
|
270
279
|
`\nLive grant (${plan.grant.length} capabilities): ${plan.grant.join(", ")}\n\n` +
|
|
271
|
-
|
|
272
|
-
|
|
280
|
+
((await settingsIgnoredByGit(plan.settingsPath)) === true
|
|
281
|
+
? ` NOTE: git ignores ${SETTINGS_REL} (root .gitignore covers ${PI_PROJECT_DIR}/); add ${GITIGNORE_REINCLUDE_LINES.join(" and ")} to commit it\n`
|
|
282
|
+
: "") +
|
|
283
|
+
` $EDITOR ${SETTINGS_REL} # review it, then commit it\n` +
|
|
284
|
+
` pi # /grants lists every definition and its verdict`,
|
|
273
285
|
);
|
|
274
286
|
}
|
|
275
287
|
|
|
276
288
|
export async function main(argv: string[]): Promise<number> {
|
|
289
|
+
const adoptedLegacy = adoptLegacyEnvironment(process.env);
|
|
290
|
+
if (adoptedLegacy.length > 0) console.error(legacyEnvironmentWarning(adoptedLegacy));
|
|
277
291
|
const parsed = parseArgs(argv);
|
|
278
292
|
|
|
279
293
|
if (parsed.command === "version") {
|
|
@@ -293,31 +307,64 @@ export async function main(argv: string[]): Promise<number> {
|
|
|
293
307
|
console.log(USAGE);
|
|
294
308
|
return 0;
|
|
295
309
|
}
|
|
296
|
-
if(parsed.command==="
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
310
|
+
if (parsed.command === "ledger-import") {
|
|
311
|
+
const source = resolvePath(process.cwd(), parsed.ledgerPath!),
|
|
312
|
+
target = resolvePath(process.cwd(), parsed.importTarget!);
|
|
313
|
+
const result = await importLegacyLedger(source, target);
|
|
314
|
+
if (result.skipped === "source-missing") {
|
|
315
|
+
console.error(`pi-daddy: no such file: ${source}`);
|
|
316
|
+
return 1;
|
|
317
|
+
}
|
|
318
|
+
if (result.skipped === "target-exists") {
|
|
319
|
+
console.error(`pi-daddy: ${target} already exists; import writes only into a new file`);
|
|
320
|
+
return 1;
|
|
321
|
+
}
|
|
322
|
+
console.log(
|
|
323
|
+
`pi-daddy: imported ${result.imported} record(s) from ${source} into ${target}; the source is untouched` +
|
|
324
|
+
(result.stoppedAt !== null ? `. Stopped at unparsable source line ${result.stoppedAt}.` : "."),
|
|
325
|
+
);
|
|
326
|
+
return result.stoppedAt === null ? 0 : 1;
|
|
304
327
|
}
|
|
305
|
-
if (parsed.command === "
|
|
306
|
-
const
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
328
|
+
if (parsed.command === "ledger-repair") {
|
|
329
|
+
const path = resolvePath(process.cwd(), parsed.ledgerPath!);
|
|
330
|
+
const preview = await repairLedger(path, { apply: false });
|
|
331
|
+
if (preview.missing) {
|
|
332
|
+
console.error(`pi-daddy: no such file: ${path}`);
|
|
333
|
+
return 1;
|
|
334
|
+
}
|
|
335
|
+
if (preview.preFormat) {
|
|
336
|
+
console.error(
|
|
337
|
+
`pi-daddy: ${path} predates the record format; repairing it would delete it whole. ` +
|
|
338
|
+
`Run \`pi-daddy ledger import ${path} <target>\` instead. Nothing was changed.`,
|
|
339
|
+
);
|
|
340
|
+
return 1;
|
|
341
|
+
}
|
|
342
|
+
if (preview.dropped.length === 0) {
|
|
343
|
+
console.log(`pi-daddy: ${path} is intact (${preview.keptLines} records); nothing to repair`);
|
|
344
|
+
return 0;
|
|
345
|
+
}
|
|
346
|
+
// Line numbers and sizes only: a torn line can contain exactly the task text this program never prints.
|
|
311
347
|
console.log(
|
|
312
|
-
`pi-daddy
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
`Run /reload in an existing Pi session, then /grants dashboard. Runtime success is not acceptance.`,
|
|
348
|
+
`pi-daddy: ${path} is damaged after record ${preview.keptLines}; ${preview.dropped.length} line(s) would be dropped:\n` +
|
|
349
|
+
preview.dropped
|
|
350
|
+
.map((line, i) => ` line ${preview.keptLines + i + 1}: ${Buffer.byteLength(line, "utf8")} bytes`)
|
|
351
|
+
.join("\n"),
|
|
317
352
|
);
|
|
353
|
+
if (preview.droppedParseable > 0)
|
|
354
|
+
console.log(
|
|
355
|
+
`pi-daddy: WARNING — ${preview.droppedParseable} of those lines still parse as records. This looks like damage in the ` +
|
|
356
|
+
`middle of the file, not a torn tail; repairing drops every record after it. Inspect before you truncate.`,
|
|
357
|
+
);
|
|
358
|
+
if (!parsed.yes) {
|
|
359
|
+
console.log(
|
|
360
|
+
"pi-daddy: preview only. Re-run with --yes to truncate the damaged tail; intact records are never rewritten.",
|
|
361
|
+
);
|
|
362
|
+
return 1;
|
|
363
|
+
}
|
|
364
|
+
const result = await repairLedger(path, { apply: true });
|
|
365
|
+
console.log(`pi-daddy: dropped ${result.dropped.length} line(s); ${result.keptLines} records remain`);
|
|
318
366
|
return 0;
|
|
319
367
|
}
|
|
320
|
-
|
|
321
368
|
// ABSOLUTE, always. `readSkill` compares a resolved entry against the package directory, and a relative
|
|
322
369
|
// `--dir` made that comparison false for every entry: every declared skill of every package was reported
|
|
323
370
|
// "declared but unreadable", nothing was copied, a degenerate grants.env was written anyway, and the exit
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The activity session: a pi session file every governed child writes to, so its parent can tell working from hung.
|
|
3
|
+
*
|
|
4
|
+
* PR 3e (ADR-0038 note). A `pi --print` child gives its parent nothing on stdout until it exits, so a wall clock
|
|
5
|
+
* cannot tell a build from a hang. pi's SessionManager appends one line to its session file for every message and
|
|
6
|
+
* tool result as they happen (read from pi's `session-manager.js`: `appendFileSync` per entry), so the file's size
|
|
7
|
+
* and mtime are a progress signal that costs the child nothing and needs no output-format change. When the plan
|
|
8
|
+
* already carries `--session` (native-session retention), that file is the probe; otherwise a private temporary
|
|
9
|
+
* file is allocated for the run and removed afterwards.
|
|
10
|
+
*/
|
|
11
|
+
import { mkdtemp, rm, stat } from "node:fs/promises";
|
|
12
|
+
import { tmpdir } from "node:os";
|
|
13
|
+
import { join } from "node:path";
|
|
14
|
+
|
|
15
|
+
export interface ActivitySession {
|
|
16
|
+
/** The child argv, with `--session <file>` in place of `--no-session` when a file was allocated here. */
|
|
17
|
+
readonly args: string[];
|
|
18
|
+
/** The session file being watched. */
|
|
19
|
+
readonly path: string;
|
|
20
|
+
/** A marker that changes whenever pi appended to the file; `undefined` until the file exists. */
|
|
21
|
+
probe(): Promise<string | undefined>;
|
|
22
|
+
/** Remove the temporary file, if this run allocated one. Never removes a retention target. */
|
|
23
|
+
dispose(): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export async function activitySessionFor(planArgs: string[], executionId: string): Promise<ActivitySession> {
|
|
27
|
+
const flag = planArgs.indexOf("--session");
|
|
28
|
+
const probeFor = (path: string) => async () => {
|
|
29
|
+
try {
|
|
30
|
+
const s = await stat(path);
|
|
31
|
+
return `${s.size}:${s.mtimeMs}`;
|
|
32
|
+
} catch {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
if (flag >= 0 && planArgs[flag + 1]) {
|
|
37
|
+
const path = planArgs[flag + 1];
|
|
38
|
+
return { args: planArgs, path, probe: probeFor(path), dispose: async () => undefined };
|
|
39
|
+
}
|
|
40
|
+
// Private to this uid (mkdtemp is 0o700) and named by the execution so a leaked directory is attributable.
|
|
41
|
+
const directory = await mkdtemp(join(tmpdir(), `pi-daddy-${executionId.replace(/[^a-zA-Z0-9_-]/g, "_")}-`));
|
|
42
|
+
const path = join(directory, "session.jsonl");
|
|
43
|
+
const noSession = planArgs.indexOf("--no-session");
|
|
44
|
+
const args =
|
|
45
|
+
noSession >= 0
|
|
46
|
+
? [...planArgs.slice(0, noSession), "--session", path, ...planArgs.slice(noSession + 1)]
|
|
47
|
+
: [...planArgs.slice(0, -1), "--session", path, planArgs[planArgs.length - 1]];
|
|
48
|
+
return {
|
|
49
|
+
args,
|
|
50
|
+
path,
|
|
51
|
+
probe: probeFor(path),
|
|
52
|
+
dispose: () => rm(directory, { recursive: true, force: true }).catch(() => undefined),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which executor runs a governed child — ADR-0031.
|
|
3
|
+
*
|
|
4
|
+
* `PI_DADDY_HERDR` is three-state, and **absent means probe**. That reverses ADR-0016 point 6's opt-in, and
|
|
5
|
+
* the reversal is narrower than it sounds: nothing is detected from `herdr` being on `PATH` (option C, rejected
|
|
6
|
+
* by name), only from a server that *answered*. The grant, the depth bound, the gate and `--tools` enforcement
|
|
7
|
+
* are identical either way — `planSpawn` produces one plan and both executors enforce it.
|
|
8
|
+
*
|
|
9
|
+
* **Pure on purpose.** The probe is I/O and lives in `herdr-cli.ts`; the DECISION is a table, and a table that
|
|
10
|
+
* fits on one screen is the only reason a reversal like this is reviewable at all.
|
|
11
|
+
*
|
|
12
|
+
* The disclosure string is part of the return value rather than composed at the call site, because ADR-0031's
|
|
13
|
+
* defence against "this relocates silently" is that every outcome says what it chose AND what to set instead.
|
|
14
|
+
* Two call sites composing that separately is how one of them comes to omit it (R-28).
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import type { HerdrProbe } from "./herdr-cli.ts";
|
|
18
|
+
|
|
19
|
+
export { EXECUTOR_KINDS, type ExecutorKind } from "../kernel/delegate-types.ts";
|
|
20
|
+
import type { ExecutorKind } from "../kernel/delegate-types.ts";
|
|
21
|
+
import { ENV_HERDR } from "../kernel/env-names.ts";
|
|
22
|
+
export { ENV_HERDR } from "../kernel/env-names.ts";
|
|
23
|
+
|
|
24
|
+
export interface ExecutorChoice {
|
|
25
|
+
kind: ExecutorKind;
|
|
26
|
+
/** The operator named it: `PI_DADDY_HERDR` was exactly `0` or `1`. */
|
|
27
|
+
forced: boolean;
|
|
28
|
+
/** Whether a probe was needed at all — false only for `0`. */
|
|
29
|
+
probed: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Set ONLY when herdr was demanded and is unreachable. Every delegation must refuse with this.
|
|
32
|
+
*
|
|
33
|
+
* Note that `kind` stays `"herdr"` in that case, deliberately: nothing downstream may mistake a refusing
|
|
34
|
+
* session for a working process-executor one.
|
|
35
|
+
*/
|
|
36
|
+
refusal?: string;
|
|
37
|
+
/** One line for the session banner and `/grants`. Always present. */
|
|
38
|
+
disclosure: string;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/** `0` is the one value that needs no probe: the operator ruled herdr out, so asking is pure cost. */
|
|
42
|
+
export function needsProbe(raw: string | undefined): boolean {
|
|
43
|
+
return raw === undefined || raw === "1";
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function chooseExecutor(raw: string | undefined, probe: HerdrProbe | null): ExecutorChoice {
|
|
47
|
+
if (raw === "0") {
|
|
48
|
+
return {
|
|
49
|
+
kind: "process",
|
|
50
|
+
forced: true,
|
|
51
|
+
probed: false,
|
|
52
|
+
disclosure: "captured subprocess (PI_DADDY_HERDR=0) — children have no terminal",
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (raw === "1") {
|
|
57
|
+
if (probe?.ok) {
|
|
58
|
+
return { kind: "herdr", forced: true, probed: true, disclosure: "herdr panes (PI_DADDY_HERDR=1)" };
|
|
59
|
+
}
|
|
60
|
+
// Refusal, not fallback — the operator's decision of 2026-08-17, against the alternative of falling back
|
|
61
|
+
// loudly. A fallback nobody reads is R-25's shape; refusing keeps the ledger unable to name a child that
|
|
62
|
+
// ran somewhere nobody chose. A `null` probe lands here too: if the probe failed so badly it produced no
|
|
63
|
+
// result, herdr was still demanded, and failing closed means refusing.
|
|
64
|
+
const why = probe?.error ?? "the herdr probe did not succeed";
|
|
65
|
+
return {
|
|
66
|
+
kind: "herdr",
|
|
67
|
+
forced: true,
|
|
68
|
+
probed: true,
|
|
69
|
+
refusal:
|
|
70
|
+
`PI_DADDY_HERDR=1 demands the herdr executor and herdr is not answering (${why}). ` +
|
|
71
|
+
`Delegation is refused rather than quietly relocated to a captured subprocess, so this session's ` +
|
|
72
|
+
`ledger can never contain a child that ran somewhere nobody chose. Start herdr, or unset ` +
|
|
73
|
+
`PI_DADDY_HERDR to let this session probe, or set PI_DADDY_HERDR=0 to choose subprocesses.`,
|
|
74
|
+
disclosure: `herdr panes DEMANDED but unreachable (${why}) — every delegation will refuse`,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if (raw !== undefined) {
|
|
79
|
+
// Rule 8: fail closed and be loud. An unrecognised value must not relocate a run, and must not break
|
|
80
|
+
// delegation either — the operator meant *something*, and the dependency-free executor is the safe read.
|
|
81
|
+
// The empty string lands here rather than with `undefined`, which keeps absent-versus-empty
|
|
82
|
+
// distinguishable exactly as `PI_DADDY_GATED` does.
|
|
83
|
+
return {
|
|
84
|
+
kind: "process",
|
|
85
|
+
forced: false,
|
|
86
|
+
probed: probe !== null,
|
|
87
|
+
disclosure:
|
|
88
|
+
`captured subprocess — PI_DADDY_HERDR is set to an unrecognised value and was ignored. ` +
|
|
89
|
+
`Use 1 (demand herdr panes), 0 (demand subprocesses), or unset it to probe.`,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (probe?.ok) {
|
|
94
|
+
return { kind: "herdr", forced: false, probed: true, disclosure: "herdr panes (probed — herdr is answering)" };
|
|
95
|
+
}
|
|
96
|
+
if (probe === null) {
|
|
97
|
+
// **The pre-probe seed, and it must not claim a probe happened.** `createGrantsSession` builds a choice
|
|
98
|
+
// synchronously with `probe: null` because S-5 forces the factory to run before any hook; `resolveExecutor`
|
|
99
|
+
// replaces it during `session_start`. This branch previously fell through to the one below and reported
|
|
100
|
+
// `probed: true` with the word "(probed)" in its disclosure — a fabricated observation, indistinguishable
|
|
101
|
+
// from a real negative probe.
|
|
102
|
+
//
|
|
103
|
+
// Unreachable in practice today (pi awaits the `session_start` emit before the first prompt, verified by a
|
|
104
|
+
// reviewer against real pi), which is exactly why it is worth making honest rather than leaving to be
|
|
105
|
+
// discovered: if a throw ever strands a session on this reading, the disclosure should say so.
|
|
106
|
+
return {
|
|
107
|
+
kind: "process",
|
|
108
|
+
forced: false,
|
|
109
|
+
probed: false,
|
|
110
|
+
disclosure: "not yet probed — settling at session start",
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
kind: "process",
|
|
115
|
+
forced: false,
|
|
116
|
+
probed: true,
|
|
117
|
+
// Names the remedy on the same line as the state. The gap that produced ADR-0031 was not that the
|
|
118
|
+
// operator could not see which executor ran — it was that seeing it would not have told them what to do.
|
|
119
|
+
disclosure:
|
|
120
|
+
`captured subprocess (probed — no herdr answering${probe?.error ? `: ${probe.error}` : ""}). ` +
|
|
121
|
+
`Set PI_DADDY_HERDR=1 to demand panes.`,
|
|
122
|
+
};
|
|
123
|
+
}
|