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
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
2
|
+
import { mkdir, writeFile, rename } from "node:fs/promises";
|
|
3
|
+
import { isAbsolute, join } from "node:path";
|
|
4
|
+
import { buildExecutionRetentionManifest } from "./retention-contract.js";
|
|
5
|
+
import { missingNativeSession, readNativeSession, } from "./native-session.js";
|
|
6
|
+
export { buildExecutionRetentionManifest, parseExecutionRetentionManifest, RETENTION_SCHEMA, } from "./retention-contract.js";
|
|
7
|
+
export { ENV_NATIVE_SESSION_ROOT, readNativeSession, parseNativeSessionBytes, } from "./native-session.js";
|
|
8
|
+
import { ENV_EXECUTION_ARCHIVE } from "../kernel/env-names.js";
|
|
9
|
+
export { ENV_EXECUTION_ARCHIVE } from "../kernel/env-names.js";
|
|
10
|
+
import { isUnderPiProjectDir } from "../kernel/project-paths.js";
|
|
11
|
+
/** Operator-owned archive boundary; never a model-facing parameter or an authority source. */
|
|
12
|
+
export const RETENTION_VERSION = "2.0";
|
|
13
|
+
const LIMIT = 1024 * 1024;
|
|
14
|
+
const MAX_ACTIVE = 32;
|
|
15
|
+
let active = 0;
|
|
16
|
+
const digest = (bytes) => createHash("sha256").update(bytes).digest("hex");
|
|
17
|
+
const drains = new WeakMap();
|
|
18
|
+
/** Original live status only; drains admitted observations, not producer completeness or fsync. */
|
|
19
|
+
export function drainExecutionRetention(status) {
|
|
20
|
+
const drain = drains.get(status);
|
|
21
|
+
if (!drain)
|
|
22
|
+
return Promise.reject(new TypeError("original live retention status required"));
|
|
23
|
+
return drain();
|
|
24
|
+
}
|
|
25
|
+
const missing = () => ({ status: "missing", path: null, sha256: null, bytes: null });
|
|
26
|
+
/** Hash only an explicitly selected configuration. Callers must not pass environment/auth objects. */
|
|
27
|
+
export const retentionConfigurationDigest = (configuration) => digest(JSON.stringify(configuration));
|
|
28
|
+
/**
|
|
29
|
+
* A bounded, coalescing observation queue. No worker-control path awaits publication. A failed or stalled
|
|
30
|
+
* archive never changes required ledger/lease semantics. `flush` is exclusively for external archival at
|
|
31
|
+
* quiescence; it is NOT called by the spawner. Missing terminal publication means incomplete observation.
|
|
32
|
+
*/
|
|
33
|
+
export function beginExecutionRetention(identity, directory = process.env[ENV_EXECUTION_ARCHIVE]) {
|
|
34
|
+
const archiveId = randomUUID();
|
|
35
|
+
const valid = Boolean(directory && isAbsolute(directory) && !isUnderPiProjectDir(directory));
|
|
36
|
+
const admitted = valid && active < MAX_ACTIVE;
|
|
37
|
+
const root = admitted ? join(directory, archiveId) : null;
|
|
38
|
+
const manifestPath = root ? join(root, "manifest.json") : null;
|
|
39
|
+
let status = !directory ? "disabled" : admitted ? "pending" : "lost";
|
|
40
|
+
const manifest = {
|
|
41
|
+
version: RETENTION_VERSION,
|
|
42
|
+
archiveId,
|
|
43
|
+
identity: {
|
|
44
|
+
executionId: identity.executionId,
|
|
45
|
+
parentExecutionId: identity.parentExecutionId,
|
|
46
|
+
childId: identity.childId,
|
|
47
|
+
toolCallId: identity.toolCallId,
|
|
48
|
+
executor: identity.executor,
|
|
49
|
+
taskDigest: identity.taskDigest,
|
|
50
|
+
definitionDigest: identity.definitionDigest,
|
|
51
|
+
configurationDigest: identity.configurationDigest,
|
|
52
|
+
workspaceId: identity.workspaceId,
|
|
53
|
+
},
|
|
54
|
+
native: {
|
|
55
|
+
pid: null,
|
|
56
|
+
paneId: null,
|
|
57
|
+
agentName: null,
|
|
58
|
+
tabId: null,
|
|
59
|
+
sessionId: null,
|
|
60
|
+
sessionPath: null,
|
|
61
|
+
branchLeafId: null,
|
|
62
|
+
},
|
|
63
|
+
nativeSession: missingNativeSession(),
|
|
64
|
+
state: "running",
|
|
65
|
+
outcome: null,
|
|
66
|
+
content: {
|
|
67
|
+
stdout: missing(),
|
|
68
|
+
stderr: missing(),
|
|
69
|
+
paneSnapshot: missing(),
|
|
70
|
+
checkReceipt: missing(),
|
|
71
|
+
result: missing(),
|
|
72
|
+
session: missing(),
|
|
73
|
+
},
|
|
74
|
+
coverage: { complete: false, losses: ["native-session-content-unavailable", "active-branch-unknown"] },
|
|
75
|
+
acceptance: "not-assessed",
|
|
76
|
+
};
|
|
77
|
+
const buffers = new Map();
|
|
78
|
+
const written = new Set();
|
|
79
|
+
let total = 0;
|
|
80
|
+
let dirty = false;
|
|
81
|
+
let running;
|
|
82
|
+
let finished = false;
|
|
83
|
+
let released = false;
|
|
84
|
+
let nativeTask;
|
|
85
|
+
let nextNative;
|
|
86
|
+
let pinnedSessionId;
|
|
87
|
+
let pinnedFile;
|
|
88
|
+
const loss = (reason) => {
|
|
89
|
+
if (!manifest.coverage.losses.includes(reason))
|
|
90
|
+
manifest.coverage.losses.push(reason);
|
|
91
|
+
};
|
|
92
|
+
const release = () => {
|
|
93
|
+
if (admitted && !released) {
|
|
94
|
+
active--;
|
|
95
|
+
released = true;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
if (admitted)
|
|
99
|
+
active++;
|
|
100
|
+
else if (directory)
|
|
101
|
+
loss("archive-unavailable-or-capacity-exceeded");
|
|
102
|
+
const publish = async () => {
|
|
103
|
+
try {
|
|
104
|
+
await mkdir(root, { recursive: true, mode: 0o700 });
|
|
105
|
+
while (dirty) {
|
|
106
|
+
dirty = false;
|
|
107
|
+
// Detached checkpoint: asynchronous I/O cannot mix later outcome/content into this generation.
|
|
108
|
+
const checkpoint = JSON.parse(JSON.stringify(manifest));
|
|
109
|
+
const contents = [...buffers];
|
|
110
|
+
for (const [kind, bytes] of contents) {
|
|
111
|
+
const sha256 = digest(bytes);
|
|
112
|
+
const name = `${kind}-${sha256}.bin`;
|
|
113
|
+
if (!written.has(name)) {
|
|
114
|
+
await writeFile(join(root, name), bytes, { flag: "wx", mode: 0o600 });
|
|
115
|
+
written.add(name);
|
|
116
|
+
}
|
|
117
|
+
checkpoint.content[kind] = { status: "retained", path: name, sha256, bytes: bytes.length };
|
|
118
|
+
}
|
|
119
|
+
await writeFile(join(root, "manifest.pending"), JSON.stringify(buildExecutionRetentionManifest(checkpoint)) + "\n", { mode: 0o600 });
|
|
120
|
+
await rename(join(root, "manifest.pending"), manifestPath);
|
|
121
|
+
status = "retained";
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
status = "lost";
|
|
126
|
+
loss("archive-write-failed");
|
|
127
|
+
buffers.clear();
|
|
128
|
+
release();
|
|
129
|
+
}
|
|
130
|
+
finally {
|
|
131
|
+
running = undefined;
|
|
132
|
+
if (finished && !nativeTask) {
|
|
133
|
+
buffers.clear();
|
|
134
|
+
release();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
const schedule = () => {
|
|
139
|
+
if (!admitted || status === "lost" || released)
|
|
140
|
+
return;
|
|
141
|
+
dirty = true;
|
|
142
|
+
status = "pending";
|
|
143
|
+
if (!running)
|
|
144
|
+
running = Promise.resolve().then(publish);
|
|
145
|
+
};
|
|
146
|
+
const observeSession = (reference) => {
|
|
147
|
+
if (finished || !admitted || released || status === "lost")
|
|
148
|
+
return;
|
|
149
|
+
if (nextNative && (nextNative.source !== reference.source || nextNative.value !== reference.value))
|
|
150
|
+
loss("native-session-reference-coalesced");
|
|
151
|
+
nextNative = {
|
|
152
|
+
source: reference.source,
|
|
153
|
+
value: reference.value,
|
|
154
|
+
...(reference.manager ? { manager: reference.manager } : {}),
|
|
155
|
+
};
|
|
156
|
+
if (nativeTask)
|
|
157
|
+
return;
|
|
158
|
+
nativeTask = Promise.resolve()
|
|
159
|
+
.then(async () => {
|
|
160
|
+
while (nextNative) {
|
|
161
|
+
const current = nextNative;
|
|
162
|
+
nextNative = undefined;
|
|
163
|
+
const captured = current.source === "herdr-id"
|
|
164
|
+
? {
|
|
165
|
+
observation: {
|
|
166
|
+
...missingNativeSession(),
|
|
167
|
+
source: current.source,
|
|
168
|
+
status: "missing",
|
|
169
|
+
sessionId: current.value,
|
|
170
|
+
reason: "native-session-path-unavailable",
|
|
171
|
+
},
|
|
172
|
+
}
|
|
173
|
+
: await readNativeSession({
|
|
174
|
+
path: current.value,
|
|
175
|
+
source: current.source,
|
|
176
|
+
manager: current.manager,
|
|
177
|
+
expectedSessionId: pinnedSessionId,
|
|
178
|
+
expectedFile: pinnedFile,
|
|
179
|
+
});
|
|
180
|
+
if (captured.observation.sessionId && captured.fileIdentity)
|
|
181
|
+
pinnedFile ??= captured.fileIdentity;
|
|
182
|
+
let observation = captured.observation;
|
|
183
|
+
if (pinnedSessionId && observation.sessionId && pinnedSessionId !== observation.sessionId) {
|
|
184
|
+
observation = {
|
|
185
|
+
...missingNativeSession(),
|
|
186
|
+
source: current.source,
|
|
187
|
+
status: "changed",
|
|
188
|
+
reason: "native-session-id-changed",
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
if (observation.sessionId)
|
|
192
|
+
pinnedSessionId ??= observation.sessionId;
|
|
193
|
+
manifest.nativeSession = { ...observation };
|
|
194
|
+
manifest.native.sessionId = observation.sessionId;
|
|
195
|
+
manifest.native.sessionPath = observation.sessionPath;
|
|
196
|
+
manifest.native.branchLeafId = observation.branchLeafId;
|
|
197
|
+
buffers.delete("session");
|
|
198
|
+
if (captured.bytes && observation === captured.observation)
|
|
199
|
+
buffers.set("session", captured.bytes);
|
|
200
|
+
if (observation.reason)
|
|
201
|
+
loss(observation.reason);
|
|
202
|
+
schedule();
|
|
203
|
+
}
|
|
204
|
+
})
|
|
205
|
+
.catch(() => {
|
|
206
|
+
loss("native-session-observation-failed");
|
|
207
|
+
})
|
|
208
|
+
.finally(() => {
|
|
209
|
+
nativeTask = undefined;
|
|
210
|
+
schedule();
|
|
211
|
+
});
|
|
212
|
+
};
|
|
213
|
+
const drain = async () => {
|
|
214
|
+
while (nativeTask || running) {
|
|
215
|
+
if (nativeTask)
|
|
216
|
+
await nativeTask;
|
|
217
|
+
if (running)
|
|
218
|
+
await running;
|
|
219
|
+
}
|
|
220
|
+
return { manifestPath, status };
|
|
221
|
+
};
|
|
222
|
+
schedule();
|
|
223
|
+
return {
|
|
224
|
+
/** Read-only native API reference; never derive IDs from the locator or a displayed name. */
|
|
225
|
+
observeSession,
|
|
226
|
+
observeSessionManager(manager) {
|
|
227
|
+
try {
|
|
228
|
+
const value = manager.getSessionFile();
|
|
229
|
+
if (value)
|
|
230
|
+
observeSession({ source: "pi-session-manager", value, manager });
|
|
231
|
+
else {
|
|
232
|
+
loss("native-session-not-persisted");
|
|
233
|
+
schedule();
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
catch {
|
|
237
|
+
loss("native-session-manager-unavailable");
|
|
238
|
+
schedule();
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
status: () => {
|
|
242
|
+
const value = { manifestPath, status };
|
|
243
|
+
drains.set(value, drain);
|
|
244
|
+
return value;
|
|
245
|
+
},
|
|
246
|
+
native(value) {
|
|
247
|
+
if (finished)
|
|
248
|
+
return;
|
|
249
|
+
for (const key of ["pid", "paneId", "agentName", "tabId"]) {
|
|
250
|
+
const item = value[key];
|
|
251
|
+
if (key === "pid") {
|
|
252
|
+
if (typeof item === "number" && Number.isSafeInteger(item) && item > 0)
|
|
253
|
+
manifest.native.pid = item;
|
|
254
|
+
}
|
|
255
|
+
else if (typeof item === "string" && item.length <= 4096)
|
|
256
|
+
manifest.native[key] = item;
|
|
257
|
+
}
|
|
258
|
+
schedule();
|
|
259
|
+
},
|
|
260
|
+
capture(kind, bytes, replace = false) {
|
|
261
|
+
if (finished || !admitted || status === "lost")
|
|
262
|
+
return;
|
|
263
|
+
const indivisible = kind === "checkReceipt" || kind === "result";
|
|
264
|
+
if (indivisible)
|
|
265
|
+
replace = true;
|
|
266
|
+
const old = buffers.get(kind) ?? Buffer.alloc(0);
|
|
267
|
+
const available = indivisible ? LIMIT : LIMIT - total + (replace ? old.length : 0);
|
|
268
|
+
// Receipts and assembled results each have reserved capacity and are never partially published.
|
|
269
|
+
if (indivisible && bytes.length > available) {
|
|
270
|
+
loss(`${kind === "checkReceipt" ? "check-receipt" : kind}-not-retained-capacity`);
|
|
271
|
+
schedule();
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
const kept = Buffer.from(bytes.subarray(0, Math.max(0, available)));
|
|
275
|
+
if (kept.length !== bytes.length)
|
|
276
|
+
loss(`${kind}-observation-dropped`);
|
|
277
|
+
if (kind === "paneSnapshot")
|
|
278
|
+
loss("pane-snapshot-not-full-transcript");
|
|
279
|
+
const next = replace ? kept : Buffer.concat([old, kept]);
|
|
280
|
+
if (!indivisible)
|
|
281
|
+
total += next.length - old.length;
|
|
282
|
+
buffers.set(kind, next);
|
|
283
|
+
schedule();
|
|
284
|
+
},
|
|
285
|
+
finish(outcome) {
|
|
286
|
+
if (finished)
|
|
287
|
+
return;
|
|
288
|
+
manifest.outcome = {
|
|
289
|
+
code: outcome.code,
|
|
290
|
+
signal: outcome.signal,
|
|
291
|
+
timedOut: outcome.timedOut,
|
|
292
|
+
aborted: outcome.aborted,
|
|
293
|
+
truncated: outcome.truncated,
|
|
294
|
+
failed: outcome.failed,
|
|
295
|
+
};
|
|
296
|
+
manifest.state = "terminal";
|
|
297
|
+
if (outcome.truncated)
|
|
298
|
+
loss("executor-output-truncated");
|
|
299
|
+
if (outcome.aborted || outcome.timedOut)
|
|
300
|
+
loss("execution-interrupted");
|
|
301
|
+
finished = true;
|
|
302
|
+
schedule();
|
|
303
|
+
},
|
|
304
|
+
/** Observation-only diagnostic; never establishes successful execution or accepted work. */
|
|
305
|
+
coverage: () => ({ complete: false, losses: [...manifest.coverage.losses] }),
|
|
306
|
+
flush: drain,
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
/** Public consumer check: neither a reference nor a wire status supplies the missing bytes. */
|
|
310
|
+
export function verifyRetainedBytes(reference, bytes) {
|
|
311
|
+
if (reference.status !== "retained" || bytes === undefined)
|
|
312
|
+
return "missing";
|
|
313
|
+
if (reference.bytes !== bytes.byteLength || reference.sha256 !== digest(bytes))
|
|
314
|
+
return "mismatch";
|
|
315
|
+
return "retained";
|
|
316
|
+
}
|
|
317
|
+
//# sourceMappingURL=execution-retention.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-retention.js","sourceRoot":"","sources":["../../src/governance/execution-retention.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-lock.d.ts","sourceRoot":"","sources":["../../src/governance/file-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,2GAA2G;AAC3G,eAAO,MAAM,eAAe,OAAO,CAAC;AACpC,qFAAqF;AACrF,eAAO,MAAM,aAAa,QAAS,CAAC;AAEpC;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,KAAK,EAAE,MAAM;CAI1B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC;CAC7C;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,CAAC,CAAC,CA4EZ"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One cross-process file lock, shared by producer ledgers and the approvals store.
|
|
3
|
+
*
|
|
4
|
+
* **Extracted rather than copied (R-49).** The ledger has had this lock since fan-out made a second writer
|
|
5
|
+
* possible; the approvals store had an unlocked read-modify-write, so session 1 could load, session 2 could
|
|
6
|
+
* revoke, and session 1's next save would **restore the revoked entry** — falsifying a property
|
|
7
|
+
* `approval-store.ts` documents in so many words. The mitigation already existed twenty lines away. A
|
|
8
|
+
* second implementation is how a fix comes to contain a smaller copy of the bug it fixed, which has happened
|
|
9
|
+
* twice in this package (R-38's preview, ADR-0022's republish path), so there is exactly one of these.
|
|
10
|
+
*
|
|
11
|
+
* **The two callers want opposite failure behaviour, and that is the caller's decision, not this module's.**
|
|
12
|
+
* A ledger write that cannot take the lock must fail the delegation closed — a child running with granted
|
|
13
|
+
* capabilities and no audit line is the thing the ledger exists to prevent. An approvals write that cannot
|
|
14
|
+
* take the lock must NOT fail the work: the human already said yes, and the store is a convenience cache
|
|
15
|
+
* (ADR-0020). So this throws `LockTimeoutError`, distinguishable from every other failure, and each caller
|
|
16
|
+
* decides what that means.
|
|
17
|
+
*/
|
|
18
|
+
import { open, readFile, rm, stat } from "node:fs/promises";
|
|
19
|
+
import { randomUUID } from "node:crypto";
|
|
20
|
+
/** How long to wait for another writer to finish before giving up. Short: failing closed beats hanging. */
|
|
21
|
+
export const LOCK_TIMEOUT_MS = 2000;
|
|
22
|
+
/** A lock older than this is treated as abandoned by a killed process and broken. */
|
|
23
|
+
export const STALE_LOCK_MS = 10_000;
|
|
24
|
+
/**
|
|
25
|
+
* Raised only when the wait ran out. Its own type so a caller can tell "somebody else is writing" from
|
|
26
|
+
* "this filesystem rejected the write", which want different messages and, for the approvals store,
|
|
27
|
+
* different outcomes.
|
|
28
|
+
*/
|
|
29
|
+
export class LockTimeoutError extends Error {
|
|
30
|
+
constructor(label) {
|
|
31
|
+
super(`${label} is locked by another writer (waited ${LOCK_TIMEOUT_MS}ms)`);
|
|
32
|
+
this.name = "LockTimeoutError";
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function lockPolicy(options) {
|
|
36
|
+
if (options === undefined)
|
|
37
|
+
return "age";
|
|
38
|
+
const invalid = () => {
|
|
39
|
+
throw new TypeError("invalid file lock options");
|
|
40
|
+
};
|
|
41
|
+
if (options === null ||
|
|
42
|
+
typeof options !== "object" ||
|
|
43
|
+
Array.isArray(options) ||
|
|
44
|
+
![Object.prototype, null].includes(Object.getPrototypeOf(options)))
|
|
45
|
+
return invalid();
|
|
46
|
+
const keys = Reflect.ownKeys(options);
|
|
47
|
+
if (keys.some((key) => key !== "staleRecovery"))
|
|
48
|
+
return invalid();
|
|
49
|
+
if (!keys.length)
|
|
50
|
+
return "age";
|
|
51
|
+
const field = Object.getOwnPropertyDescriptor(options, "staleRecovery");
|
|
52
|
+
if (!Object.hasOwn(field, "value") || !field.enumerable || !["age", "disabled"].includes(field.value))
|
|
53
|
+
return invalid();
|
|
54
|
+
return field.value;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Run `work` while holding an exclusive lock beside `path`.
|
|
58
|
+
* Explicit disabled recovery never reclaims by age/liveness. V4 selects it internally; an orphan
|
|
59
|
+
* requires separately authorized quiescent recovery, not a timer or automatic operator action.
|
|
60
|
+
* The age-based behavior described below remains the default for legacy callers.
|
|
61
|
+
*
|
|
62
|
+
* **Why a lock at all.** `O_APPEND` is atomic for one write to a regular file on a POSIX filesystem, and the
|
|
63
|
+
* guarantee does **not** hold on drvfs (`/mnt/c` under WSL2) or NFS — which is exactly where this project
|
|
64
|
+
* runs. The approvals store never had the guarantee anyway: read-modify-write is not one write.
|
|
65
|
+
*
|
|
66
|
+
* **A lock introduces its own failure mode and it is handled deliberately.** A process killed while holding
|
|
67
|
+
* the lock would otherwise block every future write forever, so a lock older than `STALE_LOCK_MS` is broken.
|
|
68
|
+
* Every delete proves ownership first (`removeIfOurs`) — see the token comment in the loop for the two
|
|
69
|
+
* mutual-exclusion breaks that came from not doing so, both reproduced across real OS processes.
|
|
70
|
+
*
|
|
71
|
+
* **What staleness actually measures, stated because it is not what it sounds like.** `STALE_LOCK_MS`
|
|
72
|
+
* compares the lock's mtime to now; it never checks whether the owner is alive. So *any* 10s stall of the
|
|
73
|
+
* holder hands the lock on — a `SIGSTOP`, a laptop suspend, swap thrash, a debugger breakpoint, a long GC
|
|
74
|
+
* pause. Measured on this project's own filesystems, no realistic `work()` comes near it: one ledger append
|
|
75
|
+
* is 0.1ms on ext4 and 21ms on drvfs, and a 10,000-entry `saveApproval` is 30ms / 97ms. Sixteen-way
|
|
76
|
+
* contention raises *waiters'* time, never the holder's — max hold measured at 49ms. So the threshold is
|
|
77
|
+
* two orders of magnitude clear of normal operation and is not guarded against abnormal suspension.
|
|
78
|
+
*
|
|
79
|
+
* The timeout is short *on purpose*: work refused because a file was busy is recoverable and loud, while
|
|
80
|
+
* work that hangs waiting for a lock is neither.
|
|
81
|
+
*/
|
|
82
|
+
export async function withFileLock(path, label, work, options) {
|
|
83
|
+
const staleRecovery = lockPolicy(options); // Detached once, before I/O or any wait.
|
|
84
|
+
const lockPath = `${path}.lock`;
|
|
85
|
+
const deadline = Date.now() + LOCK_TIMEOUT_MS;
|
|
86
|
+
for (;;) {
|
|
87
|
+
// **A token, and the reason mutual exclusion depends on it (R-67).** `rm(path)` deletes whatever is at
|
|
88
|
+
// the path *now*, not the lock this process created — so the previous version broke its own invariant
|
|
89
|
+
// two ways, both reproduced across real OS processes:
|
|
90
|
+
//
|
|
91
|
+
// - the stale-break `stat` and `rm` are two awaits, so a process descheduled between them could delete
|
|
92
|
+
// a LIVE lock another waiter had just created, and then succeed at its own create: two holders;
|
|
93
|
+
// - worse, the `finally` removed the lock unconditionally. A holder whose lock had been broken out
|
|
94
|
+
// from under it still freed the NEW owner's lock on the way out — and the damage then propagated to
|
|
95
|
+
// processes that raced nothing and observed nothing wrong, which is how one break became a chain.
|
|
96
|
+
//
|
|
97
|
+
// Writing a unique token and re-reading it before every delete makes both inexpressible: this process
|
|
98
|
+
// only ever removes a file it can prove is its own. The docstring used to claim "whichever wins the
|
|
99
|
+
// exclusive create proceeds, which is correct because only one can" — true of the create and false of
|
|
100
|
+
// the delete, which is what made it convincing.
|
|
101
|
+
const token = `${process.pid}:${randomUUID()}`;
|
|
102
|
+
let handle;
|
|
103
|
+
try {
|
|
104
|
+
handle = await open(lockPath, "wx");
|
|
105
|
+
await handle.writeFile(`${token}\n`, "utf8");
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
// The handle may exist even though the WRITE failed (ENOSPC, EDQUOT, EFBIG). The old code jumped
|
|
109
|
+
// straight here and rethrew, so the already-created lock file was left on disk and its descriptor
|
|
110
|
+
// leaked to GC — an orphan that blocks every writer for a full STALE_LOCK_MS and feeds the EMFILE
|
|
111
|
+
// path below. Close and remove before doing anything else; `ours` is safe because we just made it.
|
|
112
|
+
if (handle) {
|
|
113
|
+
await handle.close().catch(() => undefined);
|
|
114
|
+
await removeIfOurs(lockPath, token);
|
|
115
|
+
handle = undefined;
|
|
116
|
+
}
|
|
117
|
+
const code = error.code;
|
|
118
|
+
if (code !== "EEXIST")
|
|
119
|
+
throw error;
|
|
120
|
+
// Someone else holds it. Break it only if it is old enough to be abandoned — and only the exact file
|
|
121
|
+
// we judged, so a lock created in the gap survives.
|
|
122
|
+
if (staleRecovery === "age")
|
|
123
|
+
try {
|
|
124
|
+
const held = await stat(lockPath);
|
|
125
|
+
if (Date.now() - held.mtimeMs > STALE_LOCK_MS) {
|
|
126
|
+
const abandoned = await readFile(lockPath, "utf8").catch(() => undefined);
|
|
127
|
+
if (abandoned !== undefined)
|
|
128
|
+
await removeIfOurs(lockPath, abandoned.trim());
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
/* it vanished between the check and the stat — the next attempt will simply take it */
|
|
133
|
+
}
|
|
134
|
+
if (Date.now() >= deadline)
|
|
135
|
+
throw new LockTimeoutError(label);
|
|
136
|
+
await new Promise((r) => setTimeout(r, 25));
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
let bodyFailed = false;
|
|
140
|
+
try {
|
|
141
|
+
return await work();
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
bodyFailed = true;
|
|
145
|
+
throw error;
|
|
146
|
+
}
|
|
147
|
+
finally {
|
|
148
|
+
if (staleRecovery === "disabled") {
|
|
149
|
+
try {
|
|
150
|
+
await releaseDisabledLock(handle, lockPath, token);
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
if (!bodyFailed)
|
|
154
|
+
throw error;
|
|
155
|
+
} // Preserve even a falsy primary rejection.
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
await handle.close().catch(() => undefined);
|
|
159
|
+
// Legacy age policy remains best effort; never remove a demonstrably different token.
|
|
160
|
+
await removeIfOurs(lockPath, token);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/** Disabled ownership cannot silently manufacture an indefinite orphan after a successful body.
|
|
166
|
+
* Try token-checked removal even if close failed; report the first failure after both attempts.
|
|
167
|
+
* Appended bytes are not rolled back, and a primary body error takes precedence at the caller. */
|
|
168
|
+
async function releaseDisabledLock(handle, lockPath, token) {
|
|
169
|
+
let failure = null;
|
|
170
|
+
try {
|
|
171
|
+
await handle.close();
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
failure = { error };
|
|
175
|
+
}
|
|
176
|
+
try {
|
|
177
|
+
await removeIfOurs(lockPath, token, true);
|
|
178
|
+
}
|
|
179
|
+
catch (error) {
|
|
180
|
+
failure ??= { error };
|
|
181
|
+
}
|
|
182
|
+
if (failure)
|
|
183
|
+
throw failure.error;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Delete the lock only if it still holds `token`.
|
|
187
|
+
*
|
|
188
|
+
* Read-then-delete is itself two operations, so this is not atomic either — but it narrows the window from
|
|
189
|
+
* "the whole of `work()`" to "between a read and an unlink", and it removes the *systematic* break entirely:
|
|
190
|
+
* a process can no longer delete a lock it demonstrably never owned.
|
|
191
|
+
*/
|
|
192
|
+
async function removeIfOurs(lockPath, token, strict = false) {
|
|
193
|
+
try {
|
|
194
|
+
const held = await readFile(lockPath, "utf8");
|
|
195
|
+
if (held.trim() !== token)
|
|
196
|
+
return;
|
|
197
|
+
await rm(lockPath, { force: true });
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
if (strict)
|
|
201
|
+
throw error; // No ownership inference or force-delete after a failed read.
|
|
202
|
+
/* Legacy: already gone, or unreadable — this process must not force removal. */
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=file-lock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-lock.js","sourceRoot":"","sources":["../../src/governance/file-lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finalization.d.ts","sourceRoot":"","sources":["../../src/governance/finalization.ts"],"names":[],"mappings":"AAAA,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAMD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAiCpH;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAEjG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"finalization.js","sourceRoot":"","sources":["../../src/governance/finalization.ts"],"names":[],"mappings":"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"}
|