@zhin.js/workroom 0.0.5 → 0.0.7
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/lib/data-governance/canonical-value.d.ts +0 -1
- package/lib/data-governance/canonical-value.js.map +1 -1
- package/lib/data-governance/data-governance.d.ts +0 -1
- package/lib/data-governance/data-governance.js.map +1 -1
- package/lib/data-governance/database-payload-lifecycle-repository.d.ts +0 -1
- package/lib/data-governance/database-payload-lifecycle-repository.js.map +1 -1
- package/lib/data-governance/disclosure-authority.d.ts +0 -1
- package/lib/data-governance/disclosure-authority.js.map +1 -1
- package/lib/data-governance/disclosure-manifest.d.ts +0 -1
- package/lib/data-governance/disclosure-manifest.js.map +1 -1
- package/lib/data-governance/durable-file-store.d.ts +0 -1
- package/lib/data-governance/durable-file-store.js.map +1 -1
- package/lib/data-governance/encrypted-database-payload-vault.d.ts +0 -1
- package/lib/data-governance/encrypted-database-payload-vault.js.map +1 -1
- package/lib/data-governance/encrypted-file-payload-vault.d.ts +0 -1
- package/lib/data-governance/encrypted-file-payload-vault.js.map +1 -1
- package/lib/data-governance/file-payload-lifecycle-repository.d.ts +0 -1
- package/lib/data-governance/file-payload-lifecycle-repository.js.map +1 -1
- package/lib/data-governance/governance-authority-repository.d.ts +0 -1
- package/lib/data-governance/governance-authority-repository.js.map +1 -1
- package/lib/data-governance/governed-payload-write-saga.d.ts +0 -1
- package/lib/data-governance/governed-payload-write-saga.js.map +1 -1
- package/lib/data-governance/payload-hold-overdue-projection.d.ts +0 -1
- package/lib/data-governance/payload-hold-overdue-projection.js.map +1 -1
- package/lib/data-governance/payload-lifecycle.d.ts +0 -1
- package/lib/data-governance/payload-lifecycle.js.map +1 -1
- package/lib/data-governance/payload-vault-storage-handoff.d.ts +0 -1
- package/lib/data-governance/payload-vault-storage-handoff.js.map +1 -1
- package/lib/data-governance.d.ts +0 -1
- package/lib/data-governance.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js.map +1 -1
- package/lib/portfolio/capacity-control-outbox.d.ts +0 -1
- package/lib/portfolio/capacity-control-outbox.js.map +1 -1
- package/lib/portfolio/database-capacity-control-outbox.d.ts +0 -1
- package/lib/portfolio/database-capacity-control-outbox.js.map +1 -1
- package/lib/portfolio/file-capacity-control-outbox.d.ts +0 -1
- package/lib/portfolio/file-capacity-control-outbox.js.map +1 -1
- package/lib/portfolio/file-portfolio-journal.d.ts +0 -1
- package/lib/portfolio/file-portfolio-journal.js.map +1 -1
- package/lib/portfolio/portfolio-admission.d.ts +0 -1
- package/lib/portfolio/portfolio-admission.js.map +1 -1
- package/lib/portfolio/portfolio-journal.d.ts +0 -1
- package/lib/portfolio/portfolio-journal.js.map +1 -1
- package/lib/portfolio/resource-bundle.d.ts +0 -1
- package/lib/portfolio/resource-bundle.js.map +1 -1
- package/lib/portfolio/sponsor-projection.d.ts +0 -1
- package/lib/portfolio/sponsor-projection.js.map +1 -1
- package/lib/portfolio.d.ts +0 -1
- package/lib/portfolio.js.map +1 -1
- package/lib/remote.d.ts +0 -1
- package/lib/remote.js.map +1 -1
- package/lib/room/database-room-task-journal.d.ts +0 -1
- package/lib/room/database-room-task-journal.js.map +1 -1
- package/lib/room/index.d.ts +0 -1
- package/lib/room/index.js.map +1 -1
- package/lib/room/room-bus.d.ts +0 -1
- package/lib/room/room-bus.js.map +1 -1
- package/lib/room/room-definition.d.ts +0 -1
- package/lib/room/room-definition.js.map +1 -1
- package/lib/room/room-event-sequencer.d.ts +0 -1
- package/lib/room/room-event-sequencer.js.map +1 -1
- package/lib/room/room-guards.d.ts +0 -1
- package/lib/room/room-guards.js.map +1 -1
- package/lib/room/room-membership.d.ts +0 -1
- package/lib/room/room-membership.js.map +1 -1
- package/lib/room/room-registry.d.ts +0 -1
- package/lib/room/room-registry.js.map +1 -1
- package/lib/room/room-router.d.ts +0 -1
- package/lib/room/room-router.js.map +1 -1
- package/lib/room/room-send-limiter.d.ts +0 -1
- package/lib/room/room-send-limiter.js.map +1 -1
- package/lib/room/room-task-authorizer.d.ts +0 -1
- package/lib/room/room-task-authorizer.js.map +1 -1
- package/lib/room/room-task-journal.d.ts +0 -1
- package/lib/room/room-task-journal.js.map +1 -1
- package/lib/room/room-task-service.d.ts +0 -1
- package/lib/room/room-task-service.js.map +1 -1
- package/lib/room/room-task.d.ts +0 -1
- package/lib/room/room-task.js.map +1 -1
- package/lib/room/validate-room.d.ts +0 -1
- package/lib/room/validate-room.js.map +1 -1
- package/lib/scheduler.d.ts +0 -1
- package/lib/scheduler.js.map +1 -1
- package/lib/workroom/acceptance-control.d.ts +0 -1
- package/lib/workroom/acceptance-control.js.map +1 -1
- package/lib/workroom/acceptance-policy.d.ts +0 -1
- package/lib/workroom/acceptance-policy.js.map +1 -1
- package/lib/workroom/accepted-source-memory-application.d.ts +0 -1
- package/lib/workroom/accepted-source-memory-application.js.map +1 -1
- package/lib/workroom/accepted-source-projector.d.ts +0 -1
- package/lib/workroom/accepted-source-projector.js.map +1 -1
- package/lib/workroom/assignment-authority-grant-application.d.ts +0 -1
- package/lib/workroom/assignment-authority-grant-application.js.map +1 -1
- package/lib/workroom/assignment-authority-grant-repository.d.ts +0 -1
- package/lib/workroom/assignment-authority-grant-repository.js.map +1 -1
- package/lib/workroom/assignment-authority.d.ts +0 -1
- package/lib/workroom/assignment-authority.js.map +1 -1
- package/lib/workroom/assignment-executor.d.ts +0 -1
- package/lib/workroom/assignment-executor.js.map +1 -1
- package/lib/workroom/assignment-observation-ingress.d.ts +0 -1
- package/lib/workroom/assignment-observation-ingress.js.map +1 -1
- package/lib/workroom/canonical-value.d.ts +0 -1
- package/lib/workroom/canonical-value.js.map +1 -1
- package/lib/workroom/catalog-definition.d.ts +0 -1
- package/lib/workroom/catalog-definition.js.map +1 -1
- package/lib/workroom/catalog.d.ts +0 -1
- package/lib/workroom/catalog.js.map +1 -1
- package/lib/workroom/coding-assignment-executor.d.ts +0 -1
- package/lib/workroom/coding-assignment-executor.js.map +1 -1
- package/lib/workroom/coding-git-objects.d.ts +0 -1
- package/lib/workroom/coding-git-objects.js.map +1 -1
- package/lib/workroom/database-project-knowledge-journal.d.ts +0 -1
- package/lib/workroom/database-project-knowledge-journal.js.map +1 -1
- package/lib/workroom/durable-file-store.d.ts +0 -1
- package/lib/workroom/durable-file-store.js.map +1 -1
- package/lib/workroom/dynamic-workflow-planner.d.ts +0 -1
- package/lib/workroom/dynamic-workflow-planner.js.map +1 -1
- package/lib/workroom/effect-blocker-repository.d.ts +0 -1
- package/lib/workroom/effect-blocker-repository.js.map +1 -1
- package/lib/workroom/effect-ledger.d.ts +0 -1
- package/lib/workroom/effect-ledger.js.map +1 -1
- package/lib/workroom/file-accepted-source-memory-repository.d.ts +0 -1
- package/lib/workroom/file-accepted-source-memory-repository.js.map +1 -1
- package/lib/workroom/file-coding-execution-store.d.ts +0 -1
- package/lib/workroom/file-coding-execution-store.js.map +1 -1
- package/lib/workroom/file-effect-ledger.d.ts +0 -1
- package/lib/workroom/file-effect-ledger.js.map +1 -1
- package/lib/workroom/file-human-ingress-application.d.ts +0 -1
- package/lib/workroom/file-human-ingress-application.js.map +1 -1
- package/lib/workroom/file-human-ingress.d.ts +0 -1
- package/lib/workroom/file-human-ingress.js.map +1 -1
- package/lib/workroom/file-interaction-space-binding-repository.d.ts +0 -1
- package/lib/workroom/file-interaction-space-binding-repository.js.map +1 -1
- package/lib/workroom/file-profile-journal.d.ts +0 -1
- package/lib/workroom/file-profile-journal.js.map +1 -1
- package/lib/workroom/git-workspace-gateway.d.ts +0 -1
- package/lib/workroom/git-workspace-gateway.js.map +1 -1
- package/lib/workroom/github-workspace-transport.d.ts +0 -1
- package/lib/workroom/github-workspace-transport.js.map +1 -1
- package/lib/workroom/governed-dispatch-reasons.d.ts +0 -1
- package/lib/workroom/governed-dispatch-reasons.js.map +1 -1
- package/lib/workroom/human-ingress-application.d.ts +0 -1
- package/lib/workroom/human-ingress-application.js.map +1 -1
- package/lib/workroom/human-ingress-orchestrator.d.ts +0 -1
- package/lib/workroom/human-ingress-orchestrator.js.map +1 -1
- package/lib/workroom/human-ingress-source-reader.d.ts +0 -1
- package/lib/workroom/human-ingress-source-reader.js.map +1 -1
- package/lib/workroom/human-ingress.d.ts +0 -1
- package/lib/workroom/human-ingress.js.map +1 -1
- package/lib/workroom/interaction-space-binding-service.d.ts +0 -1
- package/lib/workroom/interaction-space-binding-service.js.map +1 -1
- package/lib/workroom/interaction-space-router.d.ts +0 -1
- package/lib/workroom/interaction-space-router.js.map +1 -1
- package/lib/workroom/journal/activatable-journal.d.ts +0 -1
- package/lib/workroom/journal/activatable-journal.js.map +1 -1
- package/lib/workroom/journal/contracts.d.ts +0 -1
- package/lib/workroom/journal/contracts.js.map +1 -1
- package/lib/workroom/journal/database-journal.d.ts +0 -1
- package/lib/workroom/journal/database-journal.js.map +1 -1
- package/lib/workroom/journal/event-codec.d.ts +0 -1
- package/lib/workroom/journal/event-codec.js.map +1 -1
- package/lib/workroom/journal/event-validation.d.ts +0 -1
- package/lib/workroom/journal/event-validation.js.map +1 -1
- package/lib/workroom/journal/file-journal.d.ts +0 -1
- package/lib/workroom/journal/file-journal.js.map +1 -1
- package/lib/workroom/journal/index.d.ts +0 -1
- package/lib/workroom/journal/index.js.map +1 -1
- package/lib/workroom/journal/legacy-payload-guard.d.ts +0 -1
- package/lib/workroom/journal/legacy-payload-guard.js.map +1 -1
- package/lib/workroom/journal/memory-journal.d.ts +0 -1
- package/lib/workroom/journal/memory-journal.js.map +1 -1
- package/lib/workroom/journal/payload-governance.d.ts +0 -1
- package/lib/workroom/journal/payload-governance.js.map +1 -1
- package/lib/workroom/journal/payload-reference.d.ts +0 -1
- package/lib/workroom/journal/payload-reference.js.map +1 -1
- package/lib/workroom/journal/stored-event-projection.d.ts +0 -1
- package/lib/workroom/journal/stored-event-projection.js.map +1 -1
- package/lib/workroom/journal-model.d.ts +0 -1
- package/lib/workroom/journal-model.js.map +1 -1
- package/lib/workroom/kernel-contracts.d.ts +0 -1
- package/lib/workroom/kernel-contracts.js.map +1 -1
- package/lib/workroom/kernel-state.d.ts +0 -1
- package/lib/workroom/kernel-state.js.map +1 -1
- package/lib/workroom/local-assignment-issuance.d.ts +0 -1
- package/lib/workroom/local-assignment-issuance.js.map +1 -1
- package/lib/workroom/plan-approval-control.d.ts +0 -1
- package/lib/workroom/plan-approval-control.js.map +1 -1
- package/lib/workroom/plan-revision.d.ts +0 -1
- package/lib/workroom/plan-revision.js.map +1 -1
- package/lib/workroom/profile-compiler.d.ts +0 -1
- package/lib/workroom/profile-compiler.js.map +1 -1
- package/lib/workroom/profile-registry.d.ts +0 -1
- package/lib/workroom/profile-registry.js.map +1 -1
- package/lib/workroom/project-knowledge-registry.d.ts +0 -1
- package/lib/workroom/project-knowledge-registry.js.map +1 -1
- package/lib/workroom/projection-outbox/contracts.d.ts +0 -1
- package/lib/workroom/projection-outbox/contracts.js.map +1 -1
- package/lib/workroom/projection-outbox/delivery-worker.d.ts +0 -1
- package/lib/workroom/projection-outbox/delivery-worker.js.map +1 -1
- package/lib/workroom/projection-outbox/file-repository.d.ts +0 -1
- package/lib/workroom/projection-outbox/file-repository.js.map +1 -1
- package/lib/workroom/projection-outbox/index.d.ts +0 -1
- package/lib/workroom/projection-outbox/index.js.map +1 -1
- package/lib/workroom/projection-outbox/memory-repository.d.ts +0 -1
- package/lib/workroom/projection-outbox/memory-repository.js.map +1 -1
- package/lib/workroom/projection-outbox/projector.d.ts +0 -1
- package/lib/workroom/projection-outbox/projector.js.map +1 -1
- package/lib/workroom/projection-outbox/repository-state.d.ts +0 -1
- package/lib/workroom/projection-outbox/repository-state.js.map +1 -1
- package/lib/workroom/projection-outbox/tracer.d.ts +0 -1
- package/lib/workroom/projection-outbox/tracer.js.map +1 -1
- package/lib/workroom/remote-assignment-dispatch-command.d.ts +0 -1
- package/lib/workroom/remote-assignment-dispatch-command.js.map +1 -1
- package/lib/workroom/remote-assignment-issuance.d.ts +0 -1
- package/lib/workroom/remote-assignment-issuance.js.map +1 -1
- package/lib/workroom/remote-callback-application.d.ts +0 -1
- package/lib/workroom/remote-callback-application.js.map +1 -1
- package/lib/workroom/remote-callback-gateway.d.ts +0 -1
- package/lib/workroom/remote-callback-gateway.js.map +1 -1
- package/lib/workroom/remote-callback-inbox.d.ts +0 -1
- package/lib/workroom/remote-callback-inbox.js.map +1 -1
- package/lib/workroom/remote-callback-reconciliation-worker.d.ts +0 -1
- package/lib/workroom/remote-callback-reconciliation-worker.js.map +1 -1
- package/lib/workroom/remote-dispatch-admission.d.ts +0 -1
- package/lib/workroom/remote-dispatch-admission.js.map +1 -1
- package/lib/workroom/remote-dispatch-outbox.d.ts +0 -1
- package/lib/workroom/remote-dispatch-outbox.js.map +1 -1
- package/lib/workroom/remote-dispatch-scheduler.d.ts +0 -1
- package/lib/workroom/remote-dispatch-scheduler.js.map +1 -1
- package/lib/workroom/remote-dispatch-worker.d.ts +0 -1
- package/lib/workroom/remote-dispatch-worker.js.map +1 -1
- package/lib/workroom/remote-dispatch.d.ts +0 -1
- package/lib/workroom/remote-dispatch.js.map +1 -1
- package/lib/workroom/remote-executor.d.ts +0 -1
- package/lib/workroom/remote-executor.js.map +1 -1
- package/lib/workroom/role-capability-snapshot.d.ts +0 -1
- package/lib/workroom/role-capability-snapshot.js.map +1 -1
- package/lib/workroom/runtime.d.ts +0 -1
- package/lib/workroom/runtime.js.map +1 -1
- package/lib/workroom/scheduler-priority-control.d.ts +0 -1
- package/lib/workroom/scheduler-priority-control.js.map +1 -1
- package/lib/workroom/software-delivery-plan.d.ts +0 -1
- package/lib/workroom/software-delivery-plan.js.map +1 -1
- package/lib/workroom/validate-catalog.d.ts +0 -1
- package/lib/workroom/validate-catalog.js.map +1 -1
- package/lib/workroom/workflow-plan-builder.d.ts +0 -1
- package/lib/workroom/workflow-plan-builder.js.map +1 -1
- package/lib/workroom/workroom-assignment-knowledge-context.d.ts +0 -1
- package/lib/workroom/workroom-assignment-knowledge-context.js.map +1 -1
- package/lib/workroom/workroom-kernel.d.ts +0 -1
- package/lib/workroom/workroom-kernel.js.map +1 -1
- package/lib/workroom/workroom-preemption.d.ts +0 -1
- package/lib/workroom/workroom-preemption.js.map +1 -1
- package/lib/workroom/workroom-run-control.d.ts +0 -1
- package/lib/workroom/workroom-run-control.js.map +1 -1
- package/lib/workroom/workroom-scheduler-application.d.ts +0 -1
- package/lib/workroom/workroom-scheduler-application.js.map +1 -1
- package/lib/workroom/workroom-scheduler.d.ts +0 -1
- package/lib/workroom/workroom-scheduler.js.map +1 -1
- package/lib/workroom/workroom-task-report-store.d.ts +0 -1
- package/lib/workroom/workroom-task-report-store.js.map +1 -1
- package/lib/workroom-runtime/database-overlay-pack-promotion-repository.d.ts +0 -1
- package/lib/workroom-runtime/database-overlay-pack-promotion-repository.js.map +1 -1
- package/lib/workroom-runtime/github-actions-delivery-provider.d.ts +0 -1
- package/lib/workroom-runtime/github-actions-delivery-provider.js.map +1 -1
- package/lib/workroom-runtime/github-exact-merge-gateway.d.ts +0 -1
- package/lib/workroom-runtime/github-exact-merge-gateway.js.map +1 -1
- package/lib/workroom-runtime/github-workroom-capability.d.ts +0 -1
- package/lib/workroom-runtime/github-workroom-capability.js.map +1 -1
- package/lib/workroom-runtime/self-delivery-project-composition.d.ts +0 -1
- package/lib/workroom-runtime/self-delivery-project-composition.js.map +1 -1
- package/lib/workroom-runtime/self-delivery-project.d.ts +0 -1
- package/lib/workroom-runtime/self-delivery-project.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-fact-providers.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-fact-providers.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-internal-providers.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-internal-providers.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-policy.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-policy.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-production-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-production-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-provider-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-provider-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-accepted-source-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-accepted-source-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-assignment-authority-provider.d.ts +0 -1
- package/lib/workroom-runtime/workroom-assignment-authority-provider.js.map +1 -1
- package/lib/workroom-runtime/workroom-assignment-knowledge-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-assignment-knowledge-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-bot-identity.d.ts +0 -1
- package/lib/workroom-runtime/workroom-bot-identity.js.map +1 -1
- package/lib/workroom-runtime/workroom-capability-realization.d.ts +0 -1
- package/lib/workroom-runtime/workroom-capability-realization.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-authority-writer.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-authority-writer.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-bootstrap.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-bootstrap.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-root-provider.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-root-provider.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-storage.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-storage.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-console.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-console.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.js.map +1 -1
- package/lib/workroom-runtime/workroom-database-models.d.ts +0 -1
- package/lib/workroom-runtime/workroom-database-models.js.map +1 -1
- package/lib/workroom-runtime/workroom-database-storage.d.ts +0 -1
- package/lib/workroom-runtime/workroom-database-storage.js.map +1 -1
- package/lib/workroom-runtime/workroom-delivery-gateway.d.ts +0 -1
- package/lib/workroom-runtime/workroom-delivery-gateway.js.map +1 -1
- package/lib/workroom-runtime/workroom-dynamic-planning-provider.d.ts +0 -1
- package/lib/workroom-runtime/workroom-dynamic-planning-provider.js.map +1 -1
- package/lib/workroom-runtime/workroom-dynamic-planning.d.ts +0 -1
- package/lib/workroom-runtime/workroom-dynamic-planning.js.map +1 -1
- package/lib/workroom-runtime/workroom-effect-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-effect-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-effect-production.d.ts +0 -1
- package/lib/workroom-runtime/workroom-effect-production.js.map +1 -1
- package/lib/workroom-runtime/workroom-effect-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-effect-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-governed-dispatch-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-governed-dispatch-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-host-port.d.ts +0 -1
- package/lib/workroom-runtime/workroom-host-port.js.map +1 -1
- package/lib/workroom-runtime/workroom-journal-payload-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-journal-payload-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-agent-core-adapter.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-agent-core-adapter.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-agent-loop.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-agent-loop.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-assignment-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-assignment-executor.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-executor.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-assignment-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-assignment-supply.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-supply.js.map +1 -1
- package/lib/workroom-runtime/workroom-overlay-pack-promotion.d.ts +0 -1
- package/lib/workroom-runtime/workroom-overlay-pack-promotion.js.map +1 -1
- package/lib/workroom-runtime/workroom-payload-processor-recall.d.ts +0 -1
- package/lib/workroom-runtime/workroom-payload-processor-recall.js.map +1 -1
- package/lib/workroom-runtime/workroom-plan-gate-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-plan-gate-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-capacity.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-capacity.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-control-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-control-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-control-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-control-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-grant-assignment.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-grant-assignment.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-kernel-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-kernel-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-sponsor.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-sponsor.js.map +1 -1
- package/lib/workroom-runtime/workroom-preemption-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-preemption-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-priority-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-priority-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-profile-authority-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-profile-authority-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-profile-authority-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-profile-authority-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-projection-outbound.d.ts +0 -1
- package/lib/workroom-runtime/workroom-projection-outbound.js.map +1 -1
- package/lib/workroom-runtime/workroom-projection-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-projection-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-remote-assignment-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-remote-assignment-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-remote-callback-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-remote-callback-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-remote-executor.d.ts +0 -1
- package/lib/workroom-runtime/workroom-remote-executor.js.map +1 -1
- package/lib/workroom-runtime/workroom-reviewer-authority-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-reviewer-authority-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-risk-acceptance-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-risk-acceptance-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-run-profile-pin-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-run-profile-pin-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-route-registry.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-route-registry.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-runtime.js.map +1 -1
- package/package.json +7 -7
- package/lib/data-governance/canonical-value.d.ts.map +0 -1
- package/lib/data-governance/data-governance.d.ts.map +0 -1
- package/lib/data-governance/database-payload-lifecycle-repository.d.ts.map +0 -1
- package/lib/data-governance/disclosure-authority.d.ts.map +0 -1
- package/lib/data-governance/disclosure-manifest.d.ts.map +0 -1
- package/lib/data-governance/durable-file-store.d.ts.map +0 -1
- package/lib/data-governance/encrypted-database-payload-vault.d.ts.map +0 -1
- package/lib/data-governance/encrypted-file-payload-vault.d.ts.map +0 -1
- package/lib/data-governance/file-payload-lifecycle-repository.d.ts.map +0 -1
- package/lib/data-governance/governance-authority-repository.d.ts.map +0 -1
- package/lib/data-governance/governed-payload-write-saga.d.ts.map +0 -1
- package/lib/data-governance/payload-hold-overdue-projection.d.ts.map +0 -1
- package/lib/data-governance/payload-lifecycle.d.ts.map +0 -1
- package/lib/data-governance/payload-vault-storage-handoff.d.ts.map +0 -1
- package/lib/data-governance.d.ts.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/portfolio/capacity-control-outbox.d.ts.map +0 -1
- package/lib/portfolio/database-capacity-control-outbox.d.ts.map +0 -1
- package/lib/portfolio/file-capacity-control-outbox.d.ts.map +0 -1
- package/lib/portfolio/file-portfolio-journal.d.ts.map +0 -1
- package/lib/portfolio/portfolio-admission.d.ts.map +0 -1
- package/lib/portfolio/portfolio-journal.d.ts.map +0 -1
- package/lib/portfolio/resource-bundle.d.ts.map +0 -1
- package/lib/portfolio/sponsor-projection.d.ts.map +0 -1
- package/lib/portfolio.d.ts.map +0 -1
- package/lib/remote.d.ts.map +0 -1
- package/lib/room/database-room-task-journal.d.ts.map +0 -1
- package/lib/room/index.d.ts.map +0 -1
- package/lib/room/room-bus.d.ts.map +0 -1
- package/lib/room/room-definition.d.ts.map +0 -1
- package/lib/room/room-event-sequencer.d.ts.map +0 -1
- package/lib/room/room-guards.d.ts.map +0 -1
- package/lib/room/room-membership.d.ts.map +0 -1
- package/lib/room/room-registry.d.ts.map +0 -1
- package/lib/room/room-router.d.ts.map +0 -1
- package/lib/room/room-send-limiter.d.ts.map +0 -1
- package/lib/room/room-task-authorizer.d.ts.map +0 -1
- package/lib/room/room-task-journal.d.ts.map +0 -1
- package/lib/room/room-task-service.d.ts.map +0 -1
- package/lib/room/room-task.d.ts.map +0 -1
- package/lib/room/validate-room.d.ts.map +0 -1
- package/lib/scheduler.d.ts.map +0 -1
- package/lib/workroom/acceptance-control.d.ts.map +0 -1
- package/lib/workroom/acceptance-policy.d.ts.map +0 -1
- package/lib/workroom/accepted-source-memory-application.d.ts.map +0 -1
- package/lib/workroom/accepted-source-projector.d.ts.map +0 -1
- package/lib/workroom/assignment-authority-grant-application.d.ts.map +0 -1
- package/lib/workroom/assignment-authority-grant-repository.d.ts.map +0 -1
- package/lib/workroom/assignment-authority.d.ts.map +0 -1
- package/lib/workroom/assignment-executor.d.ts.map +0 -1
- package/lib/workroom/assignment-observation-ingress.d.ts.map +0 -1
- package/lib/workroom/canonical-value.d.ts.map +0 -1
- package/lib/workroom/catalog-definition.d.ts.map +0 -1
- package/lib/workroom/catalog.d.ts.map +0 -1
- package/lib/workroom/coding-assignment-executor.d.ts.map +0 -1
- package/lib/workroom/coding-git-objects.d.ts.map +0 -1
- package/lib/workroom/database-project-knowledge-journal.d.ts.map +0 -1
- package/lib/workroom/durable-file-store.d.ts.map +0 -1
- package/lib/workroom/dynamic-workflow-planner.d.ts.map +0 -1
- package/lib/workroom/effect-blocker-repository.d.ts.map +0 -1
- package/lib/workroom/effect-ledger.d.ts.map +0 -1
- package/lib/workroom/file-accepted-source-memory-repository.d.ts.map +0 -1
- package/lib/workroom/file-coding-execution-store.d.ts.map +0 -1
- package/lib/workroom/file-effect-ledger.d.ts.map +0 -1
- package/lib/workroom/file-human-ingress-application.d.ts.map +0 -1
- package/lib/workroom/file-human-ingress.d.ts.map +0 -1
- package/lib/workroom/file-interaction-space-binding-repository.d.ts.map +0 -1
- package/lib/workroom/file-profile-journal.d.ts.map +0 -1
- package/lib/workroom/git-workspace-gateway.d.ts.map +0 -1
- package/lib/workroom/github-workspace-transport.d.ts.map +0 -1
- package/lib/workroom/governed-dispatch-reasons.d.ts.map +0 -1
- package/lib/workroom/human-ingress-application.d.ts.map +0 -1
- package/lib/workroom/human-ingress-orchestrator.d.ts.map +0 -1
- package/lib/workroom/human-ingress-source-reader.d.ts.map +0 -1
- package/lib/workroom/human-ingress.d.ts.map +0 -1
- package/lib/workroom/interaction-space-binding-service.d.ts.map +0 -1
- package/lib/workroom/interaction-space-router.d.ts.map +0 -1
- package/lib/workroom/journal/activatable-journal.d.ts.map +0 -1
- package/lib/workroom/journal/contracts.d.ts.map +0 -1
- package/lib/workroom/journal/database-journal.d.ts.map +0 -1
- package/lib/workroom/journal/event-codec.d.ts.map +0 -1
- package/lib/workroom/journal/event-validation.d.ts.map +0 -1
- package/lib/workroom/journal/file-journal.d.ts.map +0 -1
- package/lib/workroom/journal/index.d.ts.map +0 -1
- package/lib/workroom/journal/legacy-payload-guard.d.ts.map +0 -1
- package/lib/workroom/journal/memory-journal.d.ts.map +0 -1
- package/lib/workroom/journal/payload-governance.d.ts.map +0 -1
- package/lib/workroom/journal/payload-reference.d.ts.map +0 -1
- package/lib/workroom/journal/stored-event-projection.d.ts.map +0 -1
- package/lib/workroom/journal-model.d.ts.map +0 -1
- package/lib/workroom/kernel-contracts.d.ts.map +0 -1
- package/lib/workroom/kernel-state.d.ts.map +0 -1
- package/lib/workroom/local-assignment-issuance.d.ts.map +0 -1
- package/lib/workroom/plan-approval-control.d.ts.map +0 -1
- package/lib/workroom/plan-revision.d.ts.map +0 -1
- package/lib/workroom/profile-compiler.d.ts.map +0 -1
- package/lib/workroom/profile-registry.d.ts.map +0 -1
- package/lib/workroom/project-knowledge-registry.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/contracts.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/delivery-worker.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/file-repository.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/index.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/memory-repository.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/projector.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/repository-state.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/tracer.d.ts.map +0 -1
- package/lib/workroom/remote-assignment-dispatch-command.d.ts.map +0 -1
- package/lib/workroom/remote-assignment-issuance.d.ts.map +0 -1
- package/lib/workroom/remote-callback-application.d.ts.map +0 -1
- package/lib/workroom/remote-callback-gateway.d.ts.map +0 -1
- package/lib/workroom/remote-callback-inbox.d.ts.map +0 -1
- package/lib/workroom/remote-callback-reconciliation-worker.d.ts.map +0 -1
- package/lib/workroom/remote-dispatch-admission.d.ts.map +0 -1
- package/lib/workroom/remote-dispatch-outbox.d.ts.map +0 -1
- package/lib/workroom/remote-dispatch-scheduler.d.ts.map +0 -1
- package/lib/workroom/remote-dispatch-worker.d.ts.map +0 -1
- package/lib/workroom/remote-dispatch.d.ts.map +0 -1
- package/lib/workroom/remote-executor.d.ts.map +0 -1
- package/lib/workroom/role-capability-snapshot.d.ts.map +0 -1
- package/lib/workroom/runtime.d.ts.map +0 -1
- package/lib/workroom/scheduler-priority-control.d.ts.map +0 -1
- package/lib/workroom/software-delivery-plan.d.ts.map +0 -1
- package/lib/workroom/validate-catalog.d.ts.map +0 -1
- package/lib/workroom/workflow-plan-builder.d.ts.map +0 -1
- package/lib/workroom/workroom-assignment-knowledge-context.d.ts.map +0 -1
- package/lib/workroom/workroom-kernel.d.ts.map +0 -1
- package/lib/workroom/workroom-preemption.d.ts.map +0 -1
- package/lib/workroom/workroom-run-control.d.ts.map +0 -1
- package/lib/workroom/workroom-scheduler-application.d.ts.map +0 -1
- package/lib/workroom/workroom-scheduler.d.ts.map +0 -1
- package/lib/workroom/workroom-task-report-store.d.ts.map +0 -1
- package/lib/workroom-runtime/database-overlay-pack-promotion-repository.d.ts.map +0 -1
- package/lib/workroom-runtime/github-actions-delivery-provider.d.ts.map +0 -1
- package/lib/workroom-runtime/github-exact-merge-gateway.d.ts.map +0 -1
- package/lib/workroom-runtime/github-workroom-capability.d.ts.map +0 -1
- package/lib/workroom-runtime/self-delivery-project-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/self-delivery-project.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-fact-providers.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-internal-providers.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-policy.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-production-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-provider-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-accepted-source-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-assignment-authority-provider.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-assignment-knowledge-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-bot-identity.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-capability-realization.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-authority-writer.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-bootstrap.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-root-provider.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-storage.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-console.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-database-models.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-database-storage.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-delivery-gateway.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-dynamic-planning-provider.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-dynamic-planning.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-effect-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-effect-production.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-effect-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-governed-dispatch-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-host-port.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-journal-payload-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-agent-core-adapter.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-agent-loop.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-executor.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-supply.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-overlay-pack-promotion.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-payload-processor-recall.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-plan-gate-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-capacity.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-control-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-control-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-grant-assignment.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-kernel-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-sponsor.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-preemption-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-priority-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-profile-authority-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-profile-authority-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-projection-outbound.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-projection-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-remote-assignment-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-remote-callback-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-remote-executor.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-reviewer-authority-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-risk-acceptance-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-run-profile-pin-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-route-registry.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-runtime.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portfolio-admission.js","sourceRoot":"","sources":["../../src/portfolio/portfolio-admission.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"portfolio-admission.js","sourceRoot":"","sources":["../../src/portfolio/portfolio-admission.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n PortfolioSequenceConflictError,\n parsePortfolioCapacityRequest,\n parsePortfolioPolicySnapshot,\n parsePortfolioProjectPolicy,\n parsePortfolioResourceBundle,\n type PortfolioCapacityGrant,\n type PortfolioCapacityReclaim,\n type PortfolioCapacityRequest,\n type PortfolioFact,\n type PortfolioFactDraft,\n type PortfolioGovernanceProof,\n type PortfolioGrantAssignmentFailureReason,\n type PortfolioJournalRepository,\n type PortfolioKernelCommandAuthority,\n type PortfolioLane,\n type PortfolioPolicySnapshot,\n type PortfolioPriorityOverride,\n type PortfolioProjectPolicy,\n type PortfolioClockAuthority,\n type PortfolioUsageGatewayAuthority,\n type PortfolioValidatedBundleAuthority,\n} from './portfolio-journal.js';\nimport {\n compareCanonicalWorkroomText,\n canonicalWorkroomJson,\n deepFreezeWorkroomValue as deepFreeze,\n digestCanonicalWorkroomValue as digest,\n} from '../workroom/canonical-value.js';\n\nexport interface PortfolioRequestState {\n readonly request: PortfolioCapacityRequest;\n readonly bundleAuthority: PortfolioValidatedBundleAuthority;\n readonly requestedAt: number;\n readonly requestedSequence: number;\n}\n\nexport interface PortfolioAdmissionState {\n readonly portfolioId: string;\n readonly sequence: number;\n readonly now: number;\n readonly clockSequence: number;\n readonly clockDigest?: string;\n readonly usageSettlementCursor: number;\n readonly policy?: PortfolioPolicySnapshot;\n readonly requests: Readonly<Record<string, PortfolioRequestState>>;\n readonly grants: Readonly<Record<string, PortfolioCapacityGrant>>;\n readonly reclaims: Readonly<Record<string, PortfolioCapacityReclaim>>;\n readonly overrides: Readonly<Record<string, PortfolioPriorityOverride>>;\n readonly normalizedService: Readonly<Record<string, number>>;\n readonly normalizedAtSequence: number;\n}\n\nexport interface PortfolioAdmissionApplicationOptions {\n readonly portfolioId: string;\n readonly repository: PortfolioJournalRepository;\n readonly ids: Readonly<{ eventId(type: PortfolioFact['type'], identity: string): string }>;\n readonly maxCasAttempts?: number;\n}\n\nconst CAPACITY_HOLDING: ReadonlySet<PortfolioCapacityGrant['status']> = new Set([\n 'offered', 'consumed', 'reclaim_requested',\n]);\nconst BUDGET_HOLDING: ReadonlySet<PortfolioCapacityGrant['status']> = new Set([\n 'offered', 'consumed', 'reclaim_requested', 'usage_pending', 'usage_unknown',\n]);\nconst LANE_ORDER: Readonly<Record<PortfolioLane, number>> = {\n urgent: 0, high: 1, normal: 2, low: 3,\n};\n\n/** Journal-backed Portfolio resource authority. It never writes Workroom facts. */\nexport class PortfolioAdmissionApplication {\n readonly #maxCasAttempts: number;\n\n constructor(readonly options: PortfolioAdmissionApplicationOptions) {\n this.#maxCasAttempts = options.maxCasAttempts ?? 3;\n }\n\n async read(): Promise<PortfolioAdmissionState> {\n return replayPortfolioAdmission(this.options.portfolioId, await this.options.repository.read(\n this.options.portfolioId,\n ));\n }\n\n async pinPolicy(policy: PortfolioPolicySnapshot, governance: PortfolioGovernanceProof): Promise<void> {\n const canonical = parsePortfolioPolicySnapshot(policy);\n assertGovernance(governance, canonical.digest, 0);\n await this.#commit(state => {\n if (state.policy) {\n if (state.policy.digest === canonical.digest) return [];\n throw new Error('Portfolio Policy is already pinned');\n }\n return [this.#draft('portfolio.policy_pinned', canonical.digest, state.now, {\n policy: canonical,\n governance,\n })];\n });\n }\n\n async updateProjectPolicy(\n policy: PortfolioProjectPolicy,\n governance: PortfolioGovernanceProof,\n ): Promise<void> {\n await this.updateProjectPolicies([policy], { [policy.projectId]: governance });\n }\n\n async updateProjectPolicies(\n policies: readonly PortfolioProjectPolicy[],\n governance: Readonly<Record<string, PortfolioGovernanceProof>>,\n ): Promise<void> {\n const canonical = policies.map(parsePortfolioProjectPolicy)\n .sort((left, right) => compareCanonicalWorkroomText(left.projectId, right.projectId));\n if (canonical.length === 0 || new Set(canonical.map(policy => policy.projectId)).size !== canonical.length) {\n throw new Error('Portfolio Project Policy atomic batch is empty or duplicated');\n }\n await this.#commit(state => {\n const portfolio = requirePolicy(state);\n let previousBudget = 0;\n let candidateBudget = 0;\n for (const candidate of canonical) {\n const previous = portfolio.projects[candidate.projectId];\n if (!previous || candidate.revision !== previous.revision + 1) {\n throw new Error('Portfolio Project Policy revision is stale');\n }\n previousBudget += previous.hardBudgetMicros;\n candidateBudget += candidate.hardBudgetMicros;\n assertGovernance(governance[candidate.projectId], digest(candidate), previous.revision);\n }\n if (previousBudget !== candidateBudget) {\n throw new Error('Portfolio Project Policy budget transfer must conserve its exact batch total');\n }\n return canonical.map(candidate => this.#draft(\n 'project.policy_updated', `${candidate.projectId}:${candidate.revision}`, state.now,\n { policy: candidate, governance: governance[candidate.projectId]! },\n ));\n });\n }\n\n async setPriorityOverride(\n override: PortfolioPriorityOverride,\n governance: PortfolioGovernanceProof,\n ): Promise<void> {\n await this.#commit(state => {\n const policy = requirePolicy(state);\n const request = requireRequest(state, override.requestId).request;\n const project = policy.projects[override.projectId];\n if (!project || request.projectId !== override.projectId\n || request.payloadDigest !== override.requestPayloadDigest\n || override.policyRevision !== project.revision\n || override.expiresAt <= state.now) {\n throw new Error('Portfolio Priority Override exact request/policy scope is stale');\n }\n assertGovernance(governance, digest(override), project.revision);\n const existing = state.overrides[override.overrideId];\n if (existing) {\n if (canonicalWorkroomJson(existing) !== canonicalWorkroomJson(override)) {\n throw new Error('Portfolio Priority Override identity conflict');\n }\n return [];\n }\n return [this.#draft('priority.override_set', override.overrideId, state.now, {\n override,\n governance,\n })];\n });\n }\n\n async submit(\n request: PortfolioCapacityRequest,\n bundleAuthority: PortfolioValidatedBundleAuthority,\n ): Promise<void> {\n const canonical = parsePortfolioCapacityRequest(request);\n await this.#commit(state => {\n const policy = requirePolicy(state);\n const project = policy.projects[canonical.projectId];\n if (!project || project.revision !== canonical.projectPolicyRevision) {\n throw new Error('Capacity Request Project Policy revision is stale');\n }\n assertBundleAuthority(canonical, bundleAuthority, policy);\n const existing = state.requests[canonical.requestId];\n if (existing) {\n if (canonicalWorkroomJson(existing.request) !== canonicalWorkroomJson(canonical)\n || canonicalWorkroomJson(existing.bundleAuthority) !== canonicalWorkroomJson(bundleAuthority)) {\n throw new Error('Capacity Request identity conflict');\n }\n return [];\n }\n const outstanding = Object.values(state.requests).filter(item =>\n item.request.projectId === canonical.projectId\n && portfolioRequestStatus(state, item.request.requestId) !== 'settled').length;\n if (outstanding >= project.maxOutstandingRequests) {\n throw new Error('Capacity Request exceeds Project outstanding cap');\n }\n return [this.#draft('capacity.requested', canonical.requestId, state.now, {\n request: canonical,\n bundleAuthority,\n })];\n });\n }\n\n async decideAdmission(): Promise<PortfolioCapacityGrant | null> {\n let offered: PortfolioCapacityGrant | null = null;\n await this.#commit(state => {\n offered = null;\n const decision = decideAdmission(state);\n if (!decision) return [];\n if ('reclaimId' in decision) {\n return [this.#draft('capacity.reclaim_requested', decision.reclaimId, state.now, {\n reclaim: decision,\n })];\n }\n offered = decision;\n return [this.#draft('capacity.grant_offered', decision.grantId, state.now, {\n grant: decision,\n })];\n });\n return offered;\n }\n\n async consume(input: Readonly<{\n grantId: string; projectId: string; fence: number; assignmentRef: string;\n }>, authority: PortfolioKernelCommandAuthority): Promise<void> {\n await this.#commit(state => {\n const policy = requirePolicy(state);\n const grant = requireGrant(state, input.grantId);\n if (grant.status === 'consumed' && grant.projectId === input.projectId\n && grant.fence === input.fence && grant.assignmentRef === input.assignmentRef) {\n assertKernelAuthority(this.options.portfolioId, grant, authority, {\n action: 'consume', assignmentRef: input.assignmentRef,\n });\n return [];\n }\n if (grant.projectId !== input.projectId || grant.fence !== input.fence\n || grant.status !== 'offered' || grant.offerExpiresAt <= state.now) {\n throw new Error('Capacity Grant consume scope/fence/offer is stale');\n }\n assertKernelAuthority(this.options.portfolioId, grant, authority, {\n action: 'consume', assignmentRef: input.assignmentRef,\n });\n return [this.#draft('capacity.grant_consumed', `${grant.grantId}:${grant.fence}`, state.now, {\n grantId: grant.grantId,\n projectId: grant.projectId,\n fence: grant.fence,\n assignmentRef: input.assignmentRef,\n consumedAt: state.now,\n leaseExpiresAt: state.now + policy.leaseTtlTicks,\n maxLeaseExpiresAt: state.now + policy.maxLeaseQuantumTicks,\n authority,\n })];\n });\n }\n\n async failAssignment(input: Readonly<{\n grantId: string; projectId: string; fence: number; assignmentRef: string;\n reason: PortfolioGrantAssignmentFailureReason; kernelSequence: number; kernelFactDigest: string;\n }>, authority: PortfolioKernelCommandAuthority): Promise<void> {\n await this.#commit(state => {\n const grant = requireGrant(state, input.grantId);\n const action = {\n action: 'assignment_failed' as const,\n assignmentRef: input.assignmentRef,\n failureReason: input.reason,\n kernelSequence: input.kernelSequence,\n kernelFactDigest: input.kernelFactDigest,\n };\n if (grant.status === 'assignment_failed' && grant.projectId === input.projectId\n && grant.fence === input.fence && grant.assignmentRef === input.assignmentRef) {\n assertKernelAuthority(this.options.portfolioId, grant, authority, action);\n return [];\n }\n if (grant.status !== 'consumed' || grant.projectId !== input.projectId\n || grant.fence !== input.fence || grant.assignmentRef !== input.assignmentRef) {\n throw new Error('Capacity Grant Assignment failure scope/fence/status is stale');\n }\n assertKernelAuthority(this.options.portfolioId, grant, authority, action);\n return [this.#draft('capacity.grant_assignment_failed',\n `${grant.grantId}:${grant.fence}:${input.assignmentRef}`, state.now, {\n ...input, failedAt: state.now, authority,\n })];\n });\n }\n\n async renewLease(input: Readonly<{\n grantId: string; projectId: string; fence: number; assignmentRef: string; heartbeatSequence: number;\n }>, authority: PortfolioKernelCommandAuthority): Promise<void> {\n await this.#commit(state => {\n const policy = requirePolicy(state);\n const grant = requireGrant(state, input.grantId);\n const action = renewalAuthorityAction(state, policy, input.assignmentRef, input.heartbeatSequence);\n if (grant.status === 'consumed' && grant.projectId === input.projectId\n && grant.fence === input.fence && grant.assignmentRef === input.assignmentRef\n && grant.lastHeartbeatSequence === input.heartbeatSequence) {\n assertKernelAuthority(this.options.portfolioId, grant, authority, action);\n return [];\n }\n if (grant.status !== 'consumed' || grant.projectId !== input.projectId\n || grant.fence !== input.fence || grant.assignmentRef !== input.assignmentRef\n || grant.leaseExpiresAt === undefined || grant.leaseExpiresAt <= state.now\n || grant.maxLeaseExpiresAt === undefined) {\n throw new Error('Capacity Grant Lease renewal scope/fence/status is stale');\n }\n if (state.clockSequence < 0 || !state.clockDigest) {\n throw new Error('Capacity Grant Lease renewal requires a current Portfolio clock fact');\n }\n const previousHeartbeatSequence = grant.lastHeartbeatSequence ?? 0;\n const previousHeartbeatAt = grant.lastHeartbeatAt ?? grant.consumedAt!;\n const renewalCount = grant.renewalCount ?? 0;\n if (input.heartbeatSequence !== previousHeartbeatSequence + 1\n || state.now < previousHeartbeatAt + policy.leaseHeartbeatTicks) {\n throw new Error('Capacity Grant Lease heartbeat sequence/time is stale');\n }\n if (renewalCount >= policy.maxLeaseRenewals) {\n throw new Error('Capacity Grant Lease renewal limit is exhausted');\n }\n const pendingReclaim = Object.values(state.reclaims).some(reclaim => reclaim.status === 'pending');\n const starvedReservation = Object.values(state.requests).some(item =>\n portfolioRequestStatus(state, item.request.requestId) === 'pending'\n && state.now >= item.request.starvationAt);\n if (pendingReclaim || starvedReservation) {\n throw new Error('Capacity Grant Lease renewal is reserved for reclaim/starvation');\n }\n const leaseExpiresAt = Math.min(state.now + policy.leaseTtlTicks, grant.maxLeaseExpiresAt);\n if (leaseExpiresAt <= grant.leaseExpiresAt) {\n throw new Error('Capacity Grant Lease max quantum is exhausted');\n }\n assertKernelAuthority(this.options.portfolioId, grant, authority, action);\n return [this.#draft('capacity.grant_lease_renewed',\n `${grant.grantId}:${grant.fence}:${input.heartbeatSequence}`, state.now, {\n grantId: grant.grantId,\n projectId: grant.projectId,\n fence: grant.fence,\n assignmentRef: input.assignmentRef,\n heartbeatSequence: input.heartbeatSequence,\n renewedAt: state.now,\n previousLeaseExpiresAt: grant.leaseExpiresAt,\n leaseExpiresAt,\n maxLeaseExpiresAt: grant.maxLeaseExpiresAt,\n policyDigest: policy.digest,\n clockSequence: state.clockSequence,\n clockDigest: state.clockDigest,\n usageSettlementCursor: state.usageSettlementCursor,\n authority,\n })];\n });\n }\n\n async acknowledgeReclaim(input: Readonly<{\n reclaimId: string; projectId: string; fence: number;\n outcome: 'checkpointed' | 'declined'; checkpointRef?: string; checkpointDigest?: string;\n }>, authority: PortfolioKernelCommandAuthority): Promise<void> {\n await this.#commit(state => {\n const reclaim = requireReclaim(state, input.reclaimId);\n const grant = requireGrant(state, reclaim.grantId);\n if (reclaim.status === input.outcome && reclaim.projectId === input.projectId\n && grant.fence === input.fence) {\n if (reclaim.checkpointRef !== input.checkpointRef\n || reclaim.checkpointDigest !== input.checkpointDigest) {\n throw new Error('Capacity Reclaim checkpoint idempotency drift');\n }\n assertKernelAuthority(this.options.portfolioId, grant, authority, {\n action: 'reclaim_acknowledge', assignmentRef: grant.assignmentRef!,\n reclaimId: reclaim.reclaimId, outcome: input.outcome,\n ...(input.checkpointRef === undefined ? {} : { checkpointRef: input.checkpointRef }),\n ...(input.checkpointDigest === undefined ? {} : { checkpointDigest: input.checkpointDigest }),\n });\n return [];\n }\n if (reclaim.status !== 'pending' || reclaim.projectId !== input.projectId\n || grant.fence !== input.fence || grant.status !== 'reclaim_requested') {\n throw new Error('Capacity Reclaim acknowledgement scope/fence is stale');\n }\n if (input.outcome === 'checkpointed' && (!input.checkpointRef || !input.checkpointDigest)) {\n throw new Error('Checkpointed Capacity Reclaim requires checkpoint ref/digest');\n }\n if (input.outcome === 'declined' && (input.checkpointRef || input.checkpointDigest)) {\n throw new Error('Declined Capacity Reclaim cannot claim a checkpoint');\n }\n assertKernelAuthority(this.options.portfolioId, grant, authority, {\n action: 'reclaim_acknowledge', assignmentRef: grant.assignmentRef!,\n reclaimId: reclaim.reclaimId, outcome: input.outcome,\n ...(input.checkpointRef === undefined ? {} : { checkpointRef: input.checkpointRef }),\n ...(input.checkpointDigest === undefined ? {} : { checkpointDigest: input.checkpointDigest }),\n });\n return [this.#draft('capacity.reclaim_acknowledged', reclaim.reclaimId, state.now, {\n reclaimId: reclaim.reclaimId,\n grantId: grant.grantId,\n projectId: grant.projectId,\n fence: grant.fence,\n outcome: input.outcome,\n ...(input.checkpointRef === undefined ? {} : { checkpointRef: input.checkpointRef }),\n ...(input.checkpointDigest === undefined ? {} : { checkpointDigest: input.checkpointDigest }),\n authority,\n })];\n });\n }\n\n async settleUsage(authority: PortfolioUsageGatewayAuthority): Promise<void> {\n await this.#commit(state => {\n const grant = requireGrant(state, authority.grantId);\n assertUsageAuthority(this.options.portfolioId, grant, authority);\n if (grant.fence !== authority.fence\n || !['consumed', 'reclaim_requested', 'usage_pending', 'usage_unknown'].includes(grant.status)) {\n if (grant.status === 'settled'\n && grant.actualCostMicros === authority.actualCostMicros\n && grant.settlementRef === authority.settlementRef\n && grant.receiptId === authority.receiptId\n && grant.receiptDigest === authority.receiptDigest\n && grant.authenticatedBy === authority.authenticatedBy) return [];\n throw new Error('Capacity Usage Receipt scope/fence/status is stale');\n }\n if (!Number.isSafeInteger(authority.actualCostMicros) || authority.actualCostMicros < 0) {\n throw new Error('Capacity Usage actual cost is invalid');\n }\n return [this.#draft('capacity.usage_settled', authority.receiptId, state.now, {\n receiptId: authority.receiptId,\n grantId: authority.grantId,\n fence: authority.fence,\n actualCostMicros: authority.actualCostMicros,\n settlementRef: authority.settlementRef,\n authenticatedBy: authority.authenticatedBy,\n authority,\n })];\n });\n }\n\n async advanceClock(authority: PortfolioClockAuthority): Promise<void> {\n await this.#commit(state => {\n assertClockAuthority(this.options.portfolioId, authority);\n const { now } = authority;\n if (!Number.isSafeInteger(now) || now <= state.now) throw new Error('Portfolio clock must advance');\n const drafts: PortfolioFactDraft[] = [this.#draft('clock.advanced', String(now), now, { now, authority })];\n for (const grant of Object.values(state.grants)) {\n if (grant.status === 'offered' && grant.offerExpiresAt <= now) {\n drafts.push(this.#draft('capacity.grant_expired', `${grant.grantId}:${grant.fence}`, now, {\n grantId: grant.grantId, fence: grant.fence,\n }));\n } else if ((grant.status === 'consumed' || grant.status === 'reclaim_requested')\n && grant.leaseExpiresAt !== undefined && grant.leaseExpiresAt <= now) {\n drafts.push(this.#draft('capacity.grant_lease_lost', `${grant.grantId}:${grant.fence}`, now, {\n grantId: grant.grantId, fence: grant.fence, usage: 'unknown',\n }));\n }\n }\n for (const reclaim of Object.values(state.reclaims)) {\n if (reclaim.status === 'pending' && reclaim.deadline <= now) {\n const grant = requireGrant(state, reclaim.grantId);\n drafts.push(this.#draft('capacity.reclaim_timed_out', reclaim.reclaimId, now, {\n reclaimId: reclaim.reclaimId, grantId: grant.grantId, fence: grant.fence,\n }));\n }\n }\n return drafts;\n });\n }\n\n async normalizeService(divisor: number): Promise<void> {\n await this.#commit(state => {\n if (!Number.isSafeInteger(divisor) || divisor < 2) {\n throw new Error('Portfolio service normalization divisor must be at least two');\n }\n const projectService: Record<string, number> = {};\n for (const projectId of Object.keys(requirePolicy(state).projects).sort()) {\n projectService[projectId] = Math.floor(dominantService(state, projectId) / divisor);\n }\n const normalizationId = `normalization:${state.sequence + 1}`;\n return [this.#draft('service.normalized', normalizationId, state.now, {\n normalization: { normalizationId, divisor, projectService },\n })];\n });\n }\n\n async #commit(decide: (state: PortfolioAdmissionState) => readonly PortfolioFactDraft[]): Promise<void> {\n for (let attempt = 1; attempt <= this.#maxCasAttempts; attempt += 1) {\n const state = await this.read();\n const drafts = decide(state);\n if (drafts.length === 0) return;\n try {\n await this.options.repository.append(this.options.portfolioId, state.sequence, drafts);\n return;\n } catch (error) {\n if (!(error instanceof PortfolioSequenceConflictError) || attempt === this.#maxCasAttempts) throw error;\n }\n }\n throw new Error('Portfolio admission CAS retry loop exhausted');\n }\n\n #draft<Type extends PortfolioFact['type']>(\n type: Type,\n identity: string,\n occurredAt: number,\n payload: Extract<PortfolioFact, { type: Type }>['payload'],\n ): PortfolioFactDraft {\n return {\n eventId: this.options.ids.eventId(type, identity),\n occurredAt,\n type,\n payload,\n };\n }\n}\n\nexport function replayPortfolioAdmission(\n portfolioId: string,\n facts: readonly PortfolioFact[],\n): PortfolioAdmissionState {\n let state: PortfolioAdmissionState = deepFreeze({\n portfolioId, sequence: -1, now: 0,\n clockSequence: -1, usageSettlementCursor: -1,\n requests: {}, grants: {}, reclaims: {}, overrides: {},\n normalizedService: {}, normalizedAtSequence: -1,\n });\n for (const [index, fact] of facts.entries()) {\n if (fact.portfolioId !== portfolioId || fact.sequence !== index) {\n throw new Error('Portfolio Journal replay sequence/scope drift');\n }\n state = evolve(state, fact);\n }\n return deepFreeze(state);\n}\n\nexport function portfolioRequestStatus(\n state: PortfolioAdmissionState,\n requestId: string,\n): 'pending' | 'granted' | 'usage_blocked' | 'settled' {\n requireRequest(state, requestId);\n const highestFenceGrant = Object.values(state.grants)\n .filter(grant => grant.requestId === requestId)\n .sort((left, right) => right.fence - left.fence)[0];\n if (!highestFenceGrant || highestFenceGrant.status === 'expired'\n || highestFenceGrant.status === 'assignment_failed') return 'pending';\n if (highestFenceGrant.status === 'settled') return 'settled';\n if (highestFenceGrant.status === 'usage_pending' || highestFenceGrant.status === 'usage_unknown') {\n return 'usage_blocked';\n }\n return 'granted';\n}\n\nexport function portfolioProjectBudget(state: PortfolioAdmissionState, projectId: string) {\n const project = requirePolicy(state).projects[projectId];\n if (!project) throw new Error(`Unknown Portfolio Project ${projectId}`);\n const grants = Object.values(state.grants).filter(grant => grant.projectId === projectId);\n const spentMicros = grants.filter(grant => grant.status === 'settled')\n .reduce((sum, grant) => sum + (grant.actualCostMicros ?? 0), 0);\n const reservedMicros = grants.filter(grant => BUDGET_HOLDING.has(grant.status))\n .reduce((sum, grant) => sum + grant.reservedCostMicros, 0);\n return deepFreeze({\n limitMicros: project.hardBudgetMicros,\n spentMicros,\n reservedMicros,\n availableMicros: project.hardBudgetMicros - spentMicros - reservedMicros,\n });\n}\n\nexport function portfolioRequestBlockers(\n state: PortfolioAdmissionState,\n requestId: string,\n): readonly string[] {\n return Object.freeze(blockers(state, requireRequest(state, requestId)));\n}\n\nfunction evolve(state: PortfolioAdmissionState, fact: PortfolioFact): PortfolioAdmissionState {\n let next = { ...state, sequence: fact.sequence };\n switch (fact.type) {\n case 'portfolio.policy_pinned':\n if (state.policy) throw new Error('Portfolio Policy fact is duplicated');\n assertGovernance(fact.payload.governance, fact.payload.policy.digest, 0);\n return { ...next, policy: fact.payload.policy };\n case 'project.policy_updated': {\n const current = requirePolicy(state);\n const previous = current.projects[fact.payload.policy.projectId];\n if (!previous || fact.payload.policy.revision !== previous.revision + 1) {\n throw new Error('Persisted Portfolio Project Policy revision drift');\n }\n assertGovernance(fact.payload.governance, digest(fact.payload.policy), previous.revision);\n return {\n ...next,\n policy: {\n ...current,\n projects: { ...current.projects, [fact.payload.policy.projectId]: fact.payload.policy },\n },\n };\n }\n case 'priority.override_set': {\n const request = requireRequest(state, fact.payload.override.requestId).request;\n const project = requirePolicy(state).projects[fact.payload.override.projectId];\n if (!project || request.payloadDigest !== fact.payload.override.requestPayloadDigest\n || fact.payload.override.policyRevision !== project.revision) {\n throw new Error('Persisted Portfolio Priority Override scope drift');\n }\n assertGovernance(fact.payload.governance, digest(fact.payload.override), project.revision);\n return { ...next, overrides: { ...state.overrides, [fact.payload.override.overrideId]: fact.payload.override } };\n }\n case 'capacity.requested': {\n if (!fact.payload.bundleAuthority) throw new Error('Production Capacity Request lacks validated Bundle authority');\n assertBundleAuthority(fact.payload.request, fact.payload.bundleAuthority, requirePolicy(state));\n return {\n ...next,\n requests: {\n ...state.requests,\n [fact.payload.request.requestId]: {\n request: fact.payload.request,\n bundleAuthority: fact.payload.bundleAuthority,\n requestedAt: fact.occurredAt,\n requestedSequence: fact.sequence,\n },\n },\n };\n }\n case 'capacity.grant_offered': {\n const item = requireRequest(state, fact.payload.grant.requestId);\n assertGrantMatchesRequest(fact.payload.grant, item, state);\n if (fact.payload.grant.issuedSequence !== fact.sequence) {\n throw new Error('Capacity Grant offered sequence drift');\n }\n return { ...next, grants: { ...state.grants, [fact.payload.grant.grantId]: fact.payload.grant } };\n }\n case 'capacity.grant_consumed': {\n const grant = requireGrant(state, fact.payload.grantId);\n const policy = requirePolicy(state);\n if (grant.status !== 'offered' || grant.projectId !== fact.payload.projectId\n || grant.fence !== fact.payload.fence || grant.offerExpiresAt <= fact.payload.consumedAt\n || fact.payload.leaseExpiresAt !== fact.payload.consumedAt + policy.leaseTtlTicks\n || fact.payload.maxLeaseExpiresAt !== fact.payload.consumedAt + policy.maxLeaseQuantumTicks) {\n throw new Error('Persisted Capacity Grant consume drift');\n }\n assertKernelAuthority(state.portfolioId, grant, fact.payload.authority, {\n action: 'consume', assignmentRef: fact.payload.assignmentRef,\n });\n return updateGrant(next, grant.grantId, {\n status: 'consumed', assignmentRef: fact.payload.assignmentRef,\n consumedAt: fact.payload.consumedAt, leaseExpiresAt: fact.payload.leaseExpiresAt,\n maxLeaseExpiresAt: fact.payload.maxLeaseExpiresAt,\n renewalCount: 0, lastHeartbeatSequence: 0, lastHeartbeatAt: fact.payload.consumedAt,\n });\n }\n case 'capacity.grant_assignment_failed': {\n const grant = requireFence(state, fact.payload.grantId, fact.payload.fence);\n const action = {\n action: 'assignment_failed' as const,\n assignmentRef: fact.payload.assignmentRef,\n failureReason: fact.payload.reason,\n kernelSequence: fact.payload.kernelSequence,\n kernelFactDigest: fact.payload.kernelFactDigest,\n };\n if (grant.status !== 'consumed' || grant.projectId !== fact.payload.projectId\n || grant.assignmentRef !== fact.payload.assignmentRef) {\n throw new Error('Persisted Capacity Grant Assignment failure drift');\n }\n assertKernelAuthority(state.portfolioId, grant, fact.payload.authority, action);\n return updateGrant(next, grant.grantId, { status: 'assignment_failed' });\n }\n case 'capacity.grant_lease_renewed': {\n const grant = requireFence(state, fact.payload.grantId, fact.payload.fence);\n const policy = requirePolicy(state);\n const action = renewalAuthorityAction(\n state, policy, fact.payload.assignmentRef, fact.payload.heartbeatSequence,\n );\n const pendingReclaim = Object.values(state.reclaims).some(reclaim => reclaim.status === 'pending');\n const starvedReservation = Object.values(state.requests).some(item =>\n portfolioRequestStatus(state, item.request.requestId) === 'pending'\n && state.now >= item.request.starvationAt);\n if (grant.status !== 'consumed' || grant.projectId !== fact.payload.projectId\n || grant.assignmentRef !== fact.payload.assignmentRef\n || grant.leaseExpiresAt !== fact.payload.previousLeaseExpiresAt\n || grant.maxLeaseExpiresAt !== fact.payload.maxLeaseExpiresAt\n || fact.payload.heartbeatSequence !== (grant.lastHeartbeatSequence ?? 0) + 1\n || fact.payload.renewedAt !== state.now\n || fact.payload.renewedAt < (grant.lastHeartbeatAt ?? grant.consumedAt!) + policy.leaseHeartbeatTicks\n || fact.payload.policyDigest !== policy.digest\n || fact.payload.clockSequence !== state.clockSequence\n || fact.payload.clockDigest !== state.clockDigest\n || fact.payload.usageSettlementCursor !== state.usageSettlementCursor\n || fact.payload.leaseExpiresAt !== Math.min(state.now + policy.leaseTtlTicks, fact.payload.maxLeaseExpiresAt)\n || (grant.renewalCount ?? 0) >= policy.maxLeaseRenewals\n || pendingReclaim || starvedReservation) {\n throw new Error('Persisted Capacity Grant Lease renewal drift');\n }\n assertKernelAuthority(state.portfolioId, grant, fact.payload.authority, action);\n return updateGrant(next, grant.grantId, {\n leaseExpiresAt: fact.payload.leaseExpiresAt,\n renewalCount: (grant.renewalCount ?? 0) + 1,\n lastHeartbeatSequence: fact.payload.heartbeatSequence,\n lastHeartbeatAt: fact.payload.renewedAt,\n });\n }\n case 'capacity.grant_expired': {\n const grant = requireFence(state, fact.payload.grantId, fact.payload.fence);\n if (grant.status !== 'offered') throw new Error('Only an offered Capacity Grant can expire');\n return updateGrant(next, grant.grantId, { status: 'expired' });\n }\n case 'capacity.grant_lease_lost': {\n const grant = requireFence(state, fact.payload.grantId, fact.payload.fence);\n if (grant.status !== 'consumed' && grant.status !== 'reclaim_requested') {\n throw new Error('Only a consumed Capacity Grant can lose its lease');\n }\n return updateGrant(next, grant.grantId, { status: 'usage_unknown' });\n }\n case 'capacity.usage_settled': {\n const grant = requireFence(state, fact.payload.grantId, fact.payload.fence);\n assertUsageAuthority(state.portfolioId, grant, fact.payload.authority);\n if (fact.payload.authenticatedBy !== fact.payload.authority.authenticatedBy) {\n throw new Error('Persisted Usage Gateway authenticator drift');\n }\n if (!['consumed', 'reclaim_requested', 'usage_pending', 'usage_unknown'].includes(grant.status)) {\n throw new Error('Persisted Capacity Usage settlement status drift');\n }\n return updateGrant({ ...next, usageSettlementCursor: fact.sequence }, grant.grantId, {\n status: 'settled', actualCostMicros: fact.payload.actualCostMicros,\n settlementRef: fact.payload.settlementRef,\n receiptId: fact.payload.receiptId,\n receiptDigest: fact.payload.authority.receiptDigest,\n authenticatedBy: fact.payload.authenticatedBy,\n });\n }\n case 'capacity.reclaim_requested': {\n const grant = requireGrant(state, fact.payload.reclaim.grantId);\n const request = requireRequest(state, grant.requestId).request;\n const candidate = fact.payload.reclaim.reservedForRequestId === undefined\n ? undefined\n : requireRequest(state, fact.payload.reclaim.reservedForRequestId);\n if (grant.status !== 'consumed' || request.preemptibility !== 'checkpointable'\n || !candidate\n || canonicalWorkroomJson(createReclaim(state, grant, candidate))\n !== canonicalWorkroomJson(fact.payload.reclaim)) {\n throw new Error('Persisted Capacity Reclaim attempts to preempt atomic/stale work');\n }\n next = { ...next, reclaims: { ...state.reclaims, [fact.payload.reclaim.reclaimId]: fact.payload.reclaim } };\n return updateGrant(next, grant.grantId, { status: 'reclaim_requested' });\n }\n case 'capacity.reclaim_acknowledged': {\n const reclaim = requireReclaim(state, fact.payload.reclaimId);\n const grant = requireFence(state, fact.payload.grantId, fact.payload.fence);\n if (reclaim.status !== 'pending' || reclaim.projectId !== fact.payload.projectId) {\n throw new Error('Persisted Capacity Reclaim acknowledgement drift');\n }\n assertKernelAuthority(state.portfolioId, grant, fact.payload.authority, {\n action: 'reclaim_acknowledge', assignmentRef: grant.assignmentRef!,\n reclaimId: reclaim.reclaimId, outcome: fact.payload.outcome,\n ...(fact.payload.checkpointRef === undefined ? {} : { checkpointRef: fact.payload.checkpointRef }),\n ...(fact.payload.checkpointDigest === undefined ? {} : { checkpointDigest: fact.payload.checkpointDigest }),\n });\n next = {\n ...next,\n reclaims: {\n ...state.reclaims,\n [reclaim.reclaimId]: {\n ...reclaim,\n status: fact.payload.outcome,\n ...(fact.payload.checkpointRef === undefined ? {} : { checkpointRef: fact.payload.checkpointRef }),\n ...(fact.payload.checkpointDigest === undefined ? {} : { checkpointDigest: fact.payload.checkpointDigest }),\n },\n },\n };\n return updateGrant(next, grant.grantId, {\n status: fact.payload.outcome === 'checkpointed' ? 'usage_pending' : 'consumed',\n });\n }\n case 'capacity.reclaim_timed_out': {\n const reclaim = requireReclaim(state, fact.payload.reclaimId);\n const grant = requireFence(state, fact.payload.grantId, fact.payload.fence);\n next = {\n ...next,\n reclaims: { ...state.reclaims, [reclaim.reclaimId]: { ...reclaim, status: 'timed_out' } },\n };\n return grant.status === 'reclaim_requested'\n ? updateGrant(next, grant.grantId, { status: 'consumed' })\n : next;\n }\n case 'clock.advanced':\n assertClockAuthority(state.portfolioId, fact.payload.authority);\n if (fact.payload.authority.now !== fact.payload.now) {\n throw new Error('Persisted Portfolio clock authority time drift');\n }\n if (fact.payload.now <= state.now) throw new Error('Persisted Portfolio clock did not advance');\n return {\n ...next,\n now: fact.payload.now,\n clockSequence: fact.sequence,\n clockDigest: fact.payload.authority.clockDigest,\n };\n case 'service.normalized':\n return {\n ...next,\n normalizedService: fact.payload.normalization.projectService,\n normalizedAtSequence: fact.sequence,\n };\n }\n}\n\nfunction decideAdmission(state: PortfolioAdmissionState): PortfolioCapacityGrant | PortfolioCapacityReclaim | null {\n const heads = projectHeads(state).sort((left, right) => compareRequests(state, left, right));\n for (const head of heads) {\n if (blockers(state, head).length === 0) return createGrant(state, head);\n }\n for (const head of heads) {\n const blocked = blockers(state, head);\n if (blocked.length > 0 && blocked.every(item => item.startsWith('capacity:'))) {\n const victim = reclaimVictim(state, head);\n if (victim) return createReclaim(state, victim, head);\n }\n }\n return null;\n}\n\nfunction projectHeads(state: PortfolioAdmissionState): PortfolioRequestState[] {\n const byProject = new Map<string, PortfolioRequestState[]>();\n for (const request of Object.values(state.requests)) {\n if (portfolioRequestStatus(state, request.request.requestId) !== 'pending') continue;\n if (requirePolicy(state).projects[request.request.projectId]?.status !== 'active') continue;\n const entries = byProject.get(request.request.projectId) ?? [];\n entries.push(request);\n byProject.set(request.request.projectId, entries);\n }\n return [...byProject.values()].map(entries => entries.sort((left, right) =>\n left.request.localOrder - right.request.localOrder\n || left.request.schedulerSequence - right.request.schedulerSequence\n || compareCanonicalWorkroomText(left.request.requestId, right.request.requestId))[0]!);\n}\n\nfunction compareRequests(state: PortfolioAdmissionState, left: PortfolioRequestState, right: PortfolioRequestState): number {\n const leftStarved = state.now >= left.request.starvationAt;\n const rightStarved = state.now >= right.request.starvationAt;\n if (leftStarved !== rightStarved) return leftStarved ? -1 : 1;\n if (leftStarved && left.request.starvationAt !== right.request.starvationAt) {\n return left.request.starvationAt - right.request.starvationAt;\n }\n const lane = LANE_ORDER[effectiveLane(state, left.request)] - LANE_ORDER[effectiveLane(state, right.request)];\n if (lane !== 0) return lane;\n const service = projectedDominantService(state, left) - projectedDominantService(state, right);\n if (service !== 0) return service;\n const deadline = (left.request.deadlineAt ?? Number.POSITIVE_INFINITY)\n - (right.request.deadlineAt ?? Number.POSITIVE_INFINITY);\n if (deadline !== 0) return deadline;\n return left.request.schedulerSequence - right.request.schedulerSequence\n || compareCanonicalWorkroomText(left.request.requestId, right.request.requestId);\n}\n\nfunction blockers(state: PortfolioAdmissionState, request: PortfolioRequestState): string[] {\n const policy = requirePolicy(state);\n const project = policy.projects[request.request.projectId]!;\n const result: string[] = [];\n if (project.status !== 'active') result.push(`project:${project.status}`);\n const active = Object.values(state.grants).filter(grant => grant.projectId === project.projectId\n && CAPACITY_HOLDING.has(grant.status));\n if (active.length >= project.maxConcurrentGrants) result.push('project:concurrency');\n const burst = Object.values(state.grants).filter(grant => grant.projectId === project.projectId\n && grant.issuedAt === state.now).length;\n if (burst >= project.burstLimit) result.push('project:burst');\n const reserved = request.bundleAuthority.reservedCostMicros;\n if (portfolioProjectBudget(state, project.projectId).availableMicros < reserved) result.push('project:budget');\n if (portfolioGlobalBudget(state).availableMicros < reserved) result.push('global:budget');\n for (const demand of request.request.resourceBundle.demands) {\n const pool = policy.pools[demand.poolId]!;\n const used = Object.values(state.grants).filter(grant => CAPACITY_HOLDING.has(grant.status))\n .reduce((sum, grant) => sum\n + (grant.resourceBundle.demands.find(item => item.poolId === demand.poolId)?.capacityUnits ?? 0), 0);\n if (used + demand.capacityUnits > pool.capacityUnits) result.push(`capacity:${demand.poolId}`);\n if (rateUsed(state, demand.poolId) + demand.rateUnits > pool.rateUnitsPerWindow) {\n result.push(`rate:${demand.poolId}`);\n }\n }\n return result;\n}\n\nfunction createGrant(state: PortfolioAdmissionState, request: PortfolioRequestState): PortfolioCapacityGrant {\n const policy = requirePolicy(state);\n const authority = request.bundleAuthority;\n const fence = Object.values(state.grants).filter(grant => grant.requestId === request.request.requestId)\n .reduce((highest, grant) => Math.max(highest, grant.fence), 0) + 1;\n return deepFreeze({\n grantId: `capacity-grant:${encodeURIComponent(request.request.requestId)}:${fence}`,\n requestId: request.request.requestId,\n projectId: request.request.projectId,\n fence,\n resourceBundle: request.request.resourceBundle,\n requestDigest: authority.requestDigest,\n resourceBundleDigest: authority.resourceBundleDigest,\n catalogGenerationId: authority.catalogGenerationId,\n catalogRevision: authority.catalogRevision,\n catalogDigest: authority.catalogDigest,\n profileRevisionId: authority.profileRevisionId,\n profileDigest: authority.profileDigest,\n profileCeilingDigest: authority.profileCeilingDigest,\n validatedBundleDigest: authority.validatedBundleDigest,\n reservedCostMicros: authority.reservedCostMicros,\n portfolioPolicyRevision: policy.revision,\n portfolioPolicyDigest: policy.digest,\n projectPolicyRevision: policy.projects[request.request.projectId]!.revision,\n lane: effectiveLane(state, request.request),\n issuedAt: state.now,\n issuedSequence: state.sequence + 1,\n offerExpiresAt: state.now + policy.offerTtlTicks,\n status: 'offered',\n });\n}\n\nfunction reclaimVictim(state: PortfolioAdmissionState, candidate: PortfolioRequestState): PortfolioCapacityGrant | undefined {\n const candidateLane = LANE_ORDER[effectiveLane(state, candidate.request)];\n const pools = new Set(candidate.request.resourceBundle.demands.map(item => item.poolId));\n return Object.values(state.grants).filter(grant => {\n const request = state.requests[grant.requestId]?.request;\n return grant.status === 'consumed'\n && request?.preemptibility === 'checkpointable'\n && grant.projectId !== candidate.request.projectId\n && grant.resourceBundle.demands.some(item => pools.has(item.poolId))\n && (state.now >= candidate.request.starvationAt || candidateLane < LANE_ORDER[grant.lane]);\n }).sort((left, right) => LANE_ORDER[right.lane] - LANE_ORDER[left.lane]\n || right.issuedAt - left.issuedAt || compareCanonicalWorkroomText(right.grantId, left.grantId))[0];\n}\n\nfunction createReclaim(\n state: PortfolioAdmissionState,\n grant: PortfolioCapacityGrant,\n candidate: PortfolioRequestState,\n): PortfolioCapacityReclaim {\n return deepFreeze({\n reclaimId: `capacity-reclaim:${encodeURIComponent(grant.grantId)}:${grant.fence}`,\n grantId: grant.grantId,\n projectId: grant.projectId,\n reservedForRequestId: candidate.request.requestId,\n requestedAt: state.now,\n deadline: state.now + requirePolicy(state).reclaimTtlTicks,\n reason: state.now >= candidate.request.starvationAt ? 'starvation_bound' : 'higher_portfolio_priority',\n status: 'pending',\n });\n}\n\nfunction projectedDominantService(state: PortfolioAdmissionState, request: PortfolioRequestState): number {\n const project = requirePolicy(state).projects[request.request.projectId]!;\n let dominant = (state.normalizedService[project.projectId] ?? 0) / 1_000_000;\n for (const pool of Object.values(requirePolicy(state).pools)) {\n const historical = Object.values(state.grants)\n .filter(grant => grant.projectId === project.projectId\n && grant.status !== 'expired'\n && grant.issuedSequence > state.normalizedAtSequence)\n .reduce((sum, grant) => sum\n + (grant.resourceBundle.demands.find(item => item.poolId === pool.poolId)?.capacityUnits ?? 0), 0);\n const requested = request.request.resourceBundle.demands\n .find(item => item.poolId === pool.poolId)?.capacityUnits ?? 0;\n dominant = Math.max(dominant, (historical + requested) / pool.capacityUnits / project.weight);\n }\n return dominant;\n}\n\nfunction dominantService(state: PortfolioAdmissionState, projectId: string): number {\n const project = requirePolicy(state).projects[projectId];\n if (!project) throw new Error(`Unknown Portfolio Project ${projectId}`);\n let dominant = (state.normalizedService[projectId] ?? 0) / 1_000_000;\n for (const pool of Object.values(requirePolicy(state).pools)) {\n const historical = Object.values(state.grants)\n .filter(grant => grant.projectId === projectId && grant.status !== 'expired'\n && grant.issuedSequence > state.normalizedAtSequence)\n .reduce((sum, grant) => sum\n + (grant.resourceBundle.demands.find(item => item.poolId === pool.poolId)?.capacityUnits ?? 0), 0);\n dominant = Math.max(dominant, historical / pool.capacityUnits / project.weight);\n }\n return Math.floor(dominant * 1_000_000);\n}\n\nfunction effectiveLane(state: PortfolioAdmissionState, request: PortfolioCapacityRequest): PortfolioLane {\n const override = Object.values(state.overrides).find(item =>\n item.requestId === request.requestId && item.projectId === request.projectId\n && item.requestPayloadDigest === request.payloadDigest && item.expiresAt > state.now);\n return override?.lane ?? requirePolicy(state).projects[request.projectId]!.lane;\n}\n\nfunction rateUsed(state: PortfolioAdmissionState, poolId: string): number {\n const pool = requirePolicy(state).pools[poolId]!;\n const start = Math.floor(state.now / pool.rateWindowTicks) * pool.rateWindowTicks;\n return Object.values(state.grants).reduce((sum, grant) => {\n const units = grant.resourceBundle.demands.find(item => item.poolId === poolId)?.rateUnits ?? 0;\n if (grant.status === 'offered') return sum + units;\n if (grant.consumedAt !== undefined && grant.consumedAt >= start) return sum + units;\n return sum;\n }, 0);\n}\n\nfunction portfolioGlobalBudget(state: PortfolioAdmissionState) {\n const grants = Object.values(state.grants);\n const spentMicros = grants.filter(grant => grant.status === 'settled')\n .reduce((sum, grant) => sum + (grant.actualCostMicros ?? 0), 0);\n const reservedMicros = grants.filter(grant => BUDGET_HOLDING.has(grant.status))\n .reduce((sum, grant) => sum + grant.reservedCostMicros, 0);\n return {\n spentMicros, reservedMicros,\n availableMicros: requirePolicy(state).globalBudgetMicros - spentMicros - reservedMicros,\n };\n}\n\nfunction assertBundleAuthority(\n request: PortfolioCapacityRequest,\n authority: PortfolioValidatedBundleAuthority,\n policy: PortfolioPolicySnapshot,\n): void {\n if (authority.requestDigest !== portfolioCapacityRequestDigest(request)\n || authority.resourceBundleDigest !== digest(parsePortfolioResourceBundle(request.resourceBundle))\n || authority.profileRevisionId !== request.workRef.profileRevisionId\n || authority.profileDigest !== request.workRef.profileDigest\n || authority.reservedCostMicros !== reservedCost(policy, request)\n || authority.validatedBundleDigest !== portfolioValidatedBundleDigest(authority)) {\n throw new Error('Validated Atomic Resource Bundle authority/request drift');\n }\n const project = policy.projects[request.projectId];\n if (!project || request.resourceBundle.demands.some(demand => !project.allowedPools.includes(demand.poolId))) {\n throw new Error('Validated Atomic Resource Bundle is outside Portfolio Project Policy');\n }\n}\n\nfunction assertGrantMatchesRequest(\n grant: PortfolioCapacityGrant,\n request: PortfolioRequestState,\n state: PortfolioAdmissionState,\n): void {\n const authority = request.bundleAuthority;\n const policy = requirePolicy(state);\n const fence = Object.values(state.grants).filter(item => item.requestId === request.request.requestId)\n .reduce((highest, item) => Math.max(highest, item.fence), 0) + 1;\n if (grant.status !== 'offered'\n || grant.grantId !== `capacity-grant:${encodeURIComponent(request.request.requestId)}:${fence}`\n || grant.fence !== fence\n || grant.requestId !== request.request.requestId\n || grant.projectId !== request.request.projectId\n || grant.requestDigest !== authority.requestDigest\n || grant.resourceBundleDigest !== authority.resourceBundleDigest\n || grant.validatedBundleDigest !== authority.validatedBundleDigest\n || grant.catalogGenerationId !== authority.catalogGenerationId\n || grant.catalogRevision !== authority.catalogRevision\n || grant.catalogDigest !== authority.catalogDigest\n || grant.profileRevisionId !== authority.profileRevisionId\n || grant.profileDigest !== authority.profileDigest\n || grant.profileCeilingDigest !== authority.profileCeilingDigest\n || grant.reservedCostMicros !== authority.reservedCostMicros\n || grant.portfolioPolicyRevision !== policy.revision\n || grant.portfolioPolicyDigest !== policy.digest\n || grant.projectPolicyRevision !== policy.projects[grant.projectId]?.revision\n || grant.lane !== effectiveLane(state, request.request)\n || grant.issuedAt !== state.now\n || grant.offerExpiresAt !== state.now + policy.offerTtlTicks\n || canonicalWorkroomJson(grant.resourceBundle) !== canonicalWorkroomJson(request.request.resourceBundle)) {\n throw new Error('Capacity Grant drifted from validated Atomic Resource Bundle');\n }\n}\n\nexport function portfolioCapacityRequestDigest(request: PortfolioCapacityRequest): string {\n return digest(parsePortfolioCapacityRequest(request));\n}\n\nexport function portfolioValidatedBundleDigest(\n authority: Omit<PortfolioValidatedBundleAuthority, 'validatedBundleDigest'> | PortfolioValidatedBundleAuthority,\n): string {\n const { validatedBundleDigest: _ignored, ...claims } = authority as PortfolioValidatedBundleAuthority;\n return digest(claims);\n}\n\nfunction reservedCost(policy: PortfolioPolicySnapshot, request: PortfolioCapacityRequest): number {\n return request.resourceBundle.demands.reduce((sum, demand) => {\n const price = policy.pools[demand.poolId]?.priceMicrosPerBudgetUnit;\n if (price === undefined) throw new Error(`Unknown Portfolio Resource Pool ${demand.poolId}`);\n const cost = demand.budgetUnits * price;\n if (!Number.isSafeInteger(cost) || !Number.isSafeInteger(sum + cost)) {\n throw new Error('Portfolio budget reservation overflows');\n }\n return sum + cost;\n }, 0);\n}\n\nfunction assertGovernance(\n proof: PortfolioGovernanceProof,\n targetDigest: string,\n expectedRevision: number,\n): void {\n if (!proof || proof.targetDigest !== targetDigest || proof.expectedRevision !== expectedRevision\n || !proof.principalId || !proof.authorizedBy\n || !/^sha256:[a-f0-9]{64}$/u.test(proof.reasonDigest)) {\n throw new Error('Portfolio Governance proof scope/revision is stale');\n }\n}\n\ntype KernelAuthorityClaims = Omit<PortfolioKernelCommandAuthority, 'commandDigest' | 'authorizedBy'>;\ntype UsageAuthorityClaims = Omit<PortfolioUsageGatewayAuthority, 'receiptDigest' | 'authenticatedBy'>;\ntype ClockAuthorityClaims = Omit<PortfolioClockAuthority, 'clockDigest' | 'authorizedBy'>;\n\nexport function portfolioKernelCommandDigest(claims: KernelAuthorityClaims): string {\n return digest(claims);\n}\n\nexport function portfolioUsageReceiptDigest(claims: UsageAuthorityClaims): string {\n return digest(claims);\n}\n\nexport function portfolioClockDigest(claims: ClockAuthorityClaims): string {\n return digest(claims);\n}\n\nfunction assertKernelAuthority(\n portfolioId: string,\n grant: PortfolioCapacityGrant,\n authority: PortfolioKernelCommandAuthority,\n action: Readonly<{\n action: PortfolioKernelCommandAuthority['action']; assignmentRef: string;\n reclaimId?: string; outcome?: 'checkpointed' | 'declined'; checkpointRef?: string; checkpointDigest?: string;\n heartbeatSequence?: number; clockSequence?: number; clockDigest?: string;\n policyDigest?: string; usageSettlementCursor?: number;\n failureReason?: PortfolioGrantAssignmentFailureReason;\n kernelSequence?: number; kernelFactDigest?: string;\n }>,\n): void {\n const claims: KernelAuthorityClaims = {\n portfolioId: authority.portfolioId,\n action: authority.action,\n projectId: authority.projectId,\n requestId: authority.requestId,\n grantId: authority.grantId,\n fence: authority.fence,\n assignmentRef: authority.assignmentRef,\n ...(authority.reclaimId === undefined ? {} : { reclaimId: authority.reclaimId }),\n ...(authority.outcome === undefined ? {} : { outcome: authority.outcome }),\n ...(authority.checkpointRef === undefined ? {} : { checkpointRef: authority.checkpointRef }),\n ...(authority.checkpointDigest === undefined ? {} : { checkpointDigest: authority.checkpointDigest }),\n ...(authority.heartbeatSequence === undefined ? {} : { heartbeatSequence: authority.heartbeatSequence }),\n ...(authority.clockSequence === undefined ? {} : { clockSequence: authority.clockSequence }),\n ...(authority.clockDigest === undefined ? {} : { clockDigest: authority.clockDigest }),\n ...(authority.policyDigest === undefined ? {} : { policyDigest: authority.policyDigest }),\n ...(authority.usageSettlementCursor === undefined\n ? {}\n : { usageSettlementCursor: authority.usageSettlementCursor }),\n ...(authority.failureReason === undefined ? {} : { failureReason: authority.failureReason }),\n ...(authority.kernelSequence === undefined ? {} : { kernelSequence: authority.kernelSequence }),\n ...(authority.kernelFactDigest === undefined ? {} : { kernelFactDigest: authority.kernelFactDigest }),\n };\n const expected: KernelAuthorityClaims = {\n portfolioId,\n action: action.action,\n projectId: grant.projectId,\n requestId: grant.requestId,\n grantId: grant.grantId,\n fence: grant.fence,\n assignmentRef: action.assignmentRef,\n ...(action.reclaimId === undefined ? {} : { reclaimId: action.reclaimId }),\n ...(action.outcome === undefined ? {} : { outcome: action.outcome }),\n ...(action.checkpointRef === undefined ? {} : { checkpointRef: action.checkpointRef }),\n ...(action.checkpointDigest === undefined ? {} : { checkpointDigest: action.checkpointDigest }),\n ...(action.heartbeatSequence === undefined ? {} : { heartbeatSequence: action.heartbeatSequence }),\n ...(action.clockSequence === undefined ? {} : { clockSequence: action.clockSequence }),\n ...(action.clockDigest === undefined ? {} : { clockDigest: action.clockDigest }),\n ...(action.policyDigest === undefined ? {} : { policyDigest: action.policyDigest }),\n ...(action.usageSettlementCursor === undefined\n ? {}\n : { usageSettlementCursor: action.usageSettlementCursor }),\n ...(action.failureReason === undefined ? {} : { failureReason: action.failureReason }),\n ...(action.kernelSequence === undefined ? {} : { kernelSequence: action.kernelSequence }),\n ...(action.kernelFactDigest === undefined ? {} : { kernelFactDigest: action.kernelFactDigest }),\n };\n if (!authority.authorizedBy || canonicalWorkroomJson(claims) !== canonicalWorkroomJson(expected)\n || authority.commandDigest !== portfolioKernelCommandDigest(claims)) {\n throw new Error('Owning Workroom Kernel command authority scope is stale');\n }\n}\n\nfunction renewalAuthorityAction(\n state: PortfolioAdmissionState,\n policy: PortfolioPolicySnapshot,\n assignmentRef: string,\n heartbeatSequence: number,\n) {\n if (state.clockSequence < 0 || !state.clockDigest) {\n throw new Error('Capacity Grant Lease renewal requires a current Portfolio clock fact');\n }\n return {\n action: 'renew' as const,\n assignmentRef,\n heartbeatSequence,\n clockSequence: state.clockSequence,\n clockDigest: state.clockDigest,\n policyDigest: policy.digest,\n usageSettlementCursor: state.usageSettlementCursor,\n };\n}\n\nfunction assertUsageAuthority(\n portfolioId: string,\n grant: PortfolioCapacityGrant,\n authority: PortfolioUsageGatewayAuthority,\n): void {\n const claims: UsageAuthorityClaims = {\n portfolioId: authority.portfolioId,\n receiptId: authority.receiptId,\n requestId: authority.requestId,\n grantId: authority.grantId,\n fence: authority.fence,\n actualCostMicros: authority.actualCostMicros,\n settlementRef: authority.settlementRef,\n };\n if (!authority.authenticatedBy || authority.portfolioId !== portfolioId\n || authority.requestId !== grant.requestId || authority.grantId !== grant.grantId\n || authority.fence !== grant.fence\n || authority.receiptDigest !== portfolioUsageReceiptDigest(claims)) {\n throw new Error('Usage Gateway receipt authority scope is stale');\n }\n}\n\nfunction assertClockAuthority(portfolioId: string, authority: PortfolioClockAuthority): void {\n const claims: ClockAuthorityClaims = { portfolioId: authority.portfolioId, now: authority.now };\n if (!authority.authorizedBy || authority.portfolioId !== portfolioId\n || authority.clockDigest !== portfolioClockDigest(claims)) {\n throw new Error('Portfolio Kernel clock authority scope is stale');\n }\n}\n\nfunction requirePolicy(state: PortfolioAdmissionState): PortfolioPolicySnapshot {\n if (!state.policy) throw new Error('Portfolio Policy authority is unavailable');\n return state.policy;\n}\n\nfunction requireRequest(state: PortfolioAdmissionState, requestId: string): PortfolioRequestState {\n const request = state.requests[requestId];\n if (!request) throw new Error(`Unknown Capacity Request ${requestId}`);\n return request;\n}\n\nfunction requireGrant(state: PortfolioAdmissionState, grantId: string): PortfolioCapacityGrant {\n const grant = state.grants[grantId];\n if (!grant) throw new Error(`Unknown Capacity Grant ${grantId}`);\n return grant;\n}\n\nfunction requireFence(state: PortfolioAdmissionState, grantId: string, fence: number): PortfolioCapacityGrant {\n const grant = requireGrant(state, grantId);\n if (grant.fence !== fence) throw new Error('Capacity Grant fence is stale');\n return grant;\n}\n\nfunction requireReclaim(state: PortfolioAdmissionState, reclaimId: string): PortfolioCapacityReclaim {\n const reclaim = state.reclaims[reclaimId];\n if (!reclaim) throw new Error(`Unknown Capacity Reclaim ${reclaimId}`);\n return reclaim;\n}\n\nfunction updateGrant(\n state: PortfolioAdmissionState,\n grantId: string,\n patch: Partial<PortfolioCapacityGrant>,\n): PortfolioAdmissionState {\n return {\n ...state,\n grants: { ...state.grants, [grantId]: { ...requireGrant(state, grantId), ...patch } },\n };\n}\n"]}
|