@telora/daemon 0.23.48 → 0.23.56
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/build-info.json +2 -2
- package/dist/completion/review-exit/review-census-record.d.ts.map +1 -1
- package/dist/completion/review-exit/review-census-record.js +4 -0
- package/dist/completion/review-exit/review-census-record.js.map +1 -1
- package/dist/completion/review-exit/review-exit-deps.js +1 -1
- package/dist/completion/review-exit/review-exit-phase.js +1 -1
- package/dist/completion/state-cascade/failed-verdict-stranded-filing.d.ts +35 -0
- package/dist/completion/state-cascade/failed-verdict-stranded-filing.d.ts.map +1 -0
- package/dist/completion/state-cascade/failed-verdict-stranded-filing.js +93 -0
- package/dist/completion/state-cascade/failed-verdict-stranded-filing.js.map +1 -0
- package/dist/completion/state-cascade/review-approved-head-gate.d.ts.map +1 -1
- package/dist/completion/state-cascade/review-approved-head-gate.js +3 -0
- package/dist/completion/state-cascade/review-approved-head-gate.js.map +1 -1
- package/dist/completion/state-cascade/review-next-step.d.ts +19 -6
- package/dist/completion/state-cascade/review-next-step.d.ts.map +1 -1
- package/dist/completion/state-cascade/review-next-step.js +6 -2
- package/dist/completion/state-cascade/review-next-step.js.map +1 -1
- package/dist/completion/state-cascade/review-request-gate.d.ts +5 -0
- package/dist/completion/state-cascade/review-request-gate.d.ts.map +1 -1
- package/dist/completion/state-cascade/review-request-gate.js +7 -1
- package/dist/completion/state-cascade/review-request-gate.js.map +1 -1
- package/dist/completion/state-cascade/review-verify-judgment-gate.d.ts +137 -0
- package/dist/completion/state-cascade/review-verify-judgment-gate.d.ts.map +1 -0
- package/dist/completion/state-cascade/review-verify-judgment-gate.js +98 -0
- package/dist/completion/state-cascade/review-verify-judgment-gate.js.map +1 -0
- package/dist/completion/state-cascade/standing-approval-convergence.d.ts +18 -8
- package/dist/completion/state-cascade/standing-approval-convergence.d.ts.map +1 -1
- package/dist/completion/state-cascade/standing-approval-convergence.js +81 -16
- package/dist/completion/state-cascade/standing-approval-convergence.js.map +1 -1
- package/dist/completion/state-cascade/standing-approval-failed-verdict.d.ts +107 -0
- package/dist/completion/state-cascade/standing-approval-failed-verdict.d.ts.map +1 -0
- package/dist/completion/state-cascade/standing-approval-failed-verdict.js +121 -0
- package/dist/completion/state-cascade/standing-approval-failed-verdict.js.map +1 -0
- package/dist/completion/state-cascade/standing-approval-stranded.d.ts +29 -3
- package/dist/completion/state-cascade/standing-approval-stranded.d.ts.map +1 -1
- package/dist/completion/state-cascade/standing-approval-stranded.js +121 -7
- package/dist/completion/state-cascade/standing-approval-stranded.js.map +1 -1
- package/dist/completion/state-cascade/state-cascade.d.ts +14 -0
- package/dist/completion/state-cascade/state-cascade.d.ts.map +1 -1
- package/dist/completion/state-cascade/state-cascade.js +15 -6
- package/dist/completion/state-cascade/state-cascade.js.map +1 -1
- package/dist/completion/team-exit/status-advance-phase.d.ts +7 -0
- package/dist/completion/team-exit/status-advance-phase.d.ts.map +1 -1
- package/dist/completion/team-exit/status-advance-phase.js +26 -17
- package/dist/completion/team-exit/status-advance-phase.js.map +1 -1
- package/dist/composition/advance-precheck-context.d.ts.map +1 -1
- package/dist/composition/advance-precheck-context.js +3 -0
- package/dist/composition/advance-precheck-context.js.map +1 -1
- package/dist/composition/execution-merge-context.d.ts.map +1 -1
- package/dist/composition/execution-merge-context.js +1 -0
- package/dist/composition/execution-merge-context.js.map +1 -1
- package/dist/composition/execution-migrations-context.d.ts.map +1 -1
- package/dist/composition/execution-migrations-context.js +1 -20
- package/dist/composition/execution-migrations-context.js.map +1 -1
- package/dist/composition/runtime-delivery-advance-context.d.ts +12 -3
- package/dist/composition/runtime-delivery-advance-context.d.ts.map +1 -1
- package/dist/composition/runtime-delivery-advance-context.js +36 -4
- package/dist/composition/runtime-delivery-advance-context.js.map +1 -1
- package/dist/composition/standing-approval-context.d.ts.map +1 -1
- package/dist/composition/standing-approval-context.js +4 -0
- package/dist/composition/standing-approval-context.js.map +1 -1
- package/dist/composition/state-cascade-context.d.ts +9 -0
- package/dist/composition/state-cascade-context.d.ts.map +1 -1
- package/dist/composition/state-cascade-context.js +21 -1
- package/dist/composition/state-cascade-context.js.map +1 -1
- package/dist/composition/tower-pass-context.d.ts.map +1 -1
- package/dist/composition/tower-pass-context.js +2 -1
- package/dist/composition/tower-pass-context.js.map +1 -1
- package/dist/composition/verification-context.js +1 -1
- package/dist/composition/verify-feedback-context.d.ts +5 -1
- package/dist/composition/verify-feedback-context.d.ts.map +1 -1
- package/dist/composition/verify-feedback-context.js +8 -3
- package/dist/composition/verify-feedback-context.js.map +1 -1
- package/dist/config/live-daemon-config.js +1 -1
- package/dist/delivery/delivery-lifecycle.d.ts.map +1 -1
- package/dist/delivery/delivery-lifecycle.js +3 -0
- package/dist/delivery/delivery-lifecycle.js.map +1 -1
- package/dist/delivery/operator-hold.d.ts.map +1 -1
- package/dist/delivery/operator-hold.js +2 -0
- package/dist/delivery/operator-hold.js.map +1 -1
- package/dist/delivery/paused-revival.d.ts.map +1 -1
- package/dist/delivery/paused-revival.js +2 -1
- package/dist/delivery/paused-revival.js.map +1 -1
- package/dist/delivery/recorded-concerns.d.ts +5 -2
- package/dist/delivery/recorded-concerns.d.ts.map +1 -1
- package/dist/delivery/recorded-concerns.js +8 -4
- package/dist/delivery/recorded-concerns.js.map +1 -1
- package/dist/directive/directive-queue.js +1 -1
- package/dist/focus/focus-poller-auto-advance.d.ts +15 -0
- package/dist/focus/focus-poller-auto-advance.d.ts.map +1 -1
- package/dist/focus/focus-poller-auto-advance.js +23 -15
- package/dist/focus/focus-poller-auto-advance.js.map +1 -1
- package/dist/focus/focus-poller-spawn.js +1 -1
- package/dist/focus/focus-poller-state.js +1 -1
- package/dist/focus/pending-review-approved-head.d.ts.map +1 -1
- package/dist/focus/pending-review-approved-head.js +7 -3
- package/dist/focus/pending-review-approved-head.js.map +1 -1
- package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -1
- package/dist/focus/pending-spawn-review-next-step.js +11 -9
- package/dist/focus/pending-spawn-review-next-step.js.map +1 -1
- package/dist/focus/ready-focus-team-work.d.ts.map +1 -1
- package/dist/focus/ready-focus-team-work.js +2 -1
- package/dist/focus/ready-focus-team-work.js.map +1 -1
- package/dist/git/focus-branch-containment.js +2 -2
- package/dist/git/focus-branch-containment.js.map +1 -1
- package/dist/git/index.d.ts.map +1 -1
- package/dist/git/index.js +1 -0
- package/dist/git/index.js.map +1 -1
- package/dist/merge/approval-gate-state.d.ts.map +1 -1
- package/dist/merge/approval-gate-state.js +1 -0
- package/dist/merge/approval-gate-state.js.map +1 -1
- package/dist/merge/completion-merge-driver.d.ts.map +1 -1
- package/dist/merge/completion-merge-driver.js +1 -0
- package/dist/merge/completion-merge-driver.js.map +1 -1
- package/dist/merge/completion-merge-gate.d.ts.map +1 -1
- package/dist/merge/completion-merge-gate.js +1 -0
- package/dist/merge/completion-merge-gate.js.map +1 -1
- package/dist/merge/merge-back-loop.d.ts.map +1 -1
- package/dist/merge/merge-back-loop.js +1 -0
- package/dist/merge/merge-back-loop.js.map +1 -1
- package/dist/prd/index.d.ts.map +1 -1
- package/dist/prd/index.js +2 -1
- package/dist/prd/index.js.map +1 -1
- package/dist/prompt-sections/execution-sections.d.ts +5 -0
- package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
- package/dist/prompt-sections/execution-sections.js +12 -2
- package/dist/prompt-sections/execution-sections.js.map +1 -1
- package/dist/prompt-sections/gate-verdict-section.d.ts.map +1 -1
- package/dist/prompt-sections/gate-verdict-section.js +3 -1
- package/dist/prompt-sections/gate-verdict-section.js.map +1 -1
- package/dist/prompt-sections/persona-sections.d.ts +10 -0
- package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
- package/dist/prompt-sections/persona-sections.js +21 -6
- package/dist/prompt-sections/persona-sections.js.map +1 -1
- package/dist/prompt-sections/prompt-listing.d.ts +33 -0
- package/dist/prompt-sections/prompt-listing.d.ts.map +1 -1
- package/dist/prompt-sections/prompt-listing.js +67 -13
- package/dist/prompt-sections/prompt-listing.js.map +1 -1
- package/dist/prompt-sections/routing-decider-sections.d.ts.map +1 -1
- package/dist/prompt-sections/routing-decider-sections.js +6 -2
- package/dist/prompt-sections/routing-decider-sections.js.map +1 -1
- package/dist/prompt-sections/shared.js +1 -1
- package/dist/prompt-sections/shortfall-gap-lines.d.ts +32 -0
- package/dist/prompt-sections/shortfall-gap-lines.d.ts.map +1 -0
- package/dist/prompt-sections/shortfall-gap-lines.js +58 -0
- package/dist/prompt-sections/shortfall-gap-lines.js.map +1 -0
- package/dist/prompt-sections/shortfall-park-section.d.ts +7 -1
- package/dist/prompt-sections/shortfall-park-section.d.ts.map +1 -1
- package/dist/prompt-sections/shortfall-park-section.js +27 -0
- package/dist/prompt-sections/shortfall-park-section.js.map +1 -1
- package/dist/queries/api-client/shared.js +1 -1
- package/dist/queries/delivery-gate-state/delivery-gate-state.d.ts +43 -16
- package/dist/queries/delivery-gate-state/delivery-gate-state.d.ts.map +1 -1
- package/dist/queries/delivery-gate-state/delivery-gate-state.js +43 -11
- package/dist/queries/delivery-gate-state/delivery-gate-state.js.map +1 -1
- package/dist/queries/delivery-gate-state/shortfall-judgment-record.d.ts +56 -0
- package/dist/queries/delivery-gate-state/shortfall-judgment-record.d.ts.map +1 -0
- package/dist/queries/delivery-gate-state/shortfall-judgment-record.js +123 -0
- package/dist/queries/delivery-gate-state/shortfall-judgment-record.js.map +1 -0
- package/dist/queries/delivery-gate-state/verify-own-holds.d.ts.map +1 -1
- package/dist/queries/delivery-gate-state/verify-own-holds.js +2 -1
- package/dist/queries/delivery-gate-state/verify-own-holds.js.map +1 -1
- package/dist/queries/escalations/cause-key.d.ts +9 -1
- package/dist/queries/escalations/cause-key.d.ts.map +1 -1
- package/dist/queries/escalations/cause-key.js +16 -2
- package/dist/queries/escalations/cause-key.js.map +1 -1
- package/dist/queries/escalations/filing-observation.d.ts.map +1 -1
- package/dist/queries/escalations/filing-observation.js +3 -0
- package/dist/queries/escalations/filing-observation.js.map +1 -1
- package/dist/queries/focus-review/focus-review-approval.d.ts.map +1 -1
- package/dist/queries/focus-review/focus-review-approval.js +3 -0
- package/dist/queries/focus-review/focus-review-approval.js.map +1 -1
- package/dist/queries/prd/prd.d.ts.map +1 -1
- package/dist/queries/prd/prd.js +2 -1
- package/dist/queries/prd/prd.js.map +1 -1
- package/dist/queries/verification/shortfall-rulings.d.ts.map +1 -1
- package/dist/queries/verification/shortfall-rulings.js +3 -1
- package/dist/queries/verification/shortfall-rulings.js.map +1 -1
- package/dist/queries/verification/verification.js +1 -1
- package/dist/session/session-lineage.d.ts.map +1 -1
- package/dist/session/session-lineage.js +1 -0
- package/dist/session/session-lineage.js.map +1 -1
- package/dist/spawn/prompt-assembly.d.ts.map +1 -1
- package/dist/spawn/prompt-assembly.js +13 -1
- package/dist/spawn/prompt-assembly.js.map +1 -1
- package/dist/spawn/review-hold-park.d.ts.map +1 -1
- package/dist/spawn/review-hold-park.js +1 -0
- package/dist/spawn/review-hold-park.js.map +1 -1
- package/dist/supervision/agent-resolvable-promotion.d.ts +3 -2
- package/dist/supervision/agent-resolvable-promotion.d.ts.map +1 -1
- package/dist/supervision/agent-resolvable-promotion.js +3 -2
- package/dist/supervision/agent-resolvable-promotion.js.map +1 -1
- package/dist/supervision/escalation-clearing.d.ts +14 -1
- package/dist/supervision/escalation-clearing.d.ts.map +1 -1
- package/dist/supervision/escalation-clearing.js +28 -1
- package/dist/supervision/escalation-clearing.js.map +1 -1
- package/dist/supervision/escalation-suppression.js +1 -1
- package/dist/supervision/focus-delivery-aggregate-phase.d.ts.map +1 -1
- package/dist/supervision/focus-delivery-aggregate-phase.js +2 -0
- package/dist/supervision/focus-delivery-aggregate-phase.js.map +1 -1
- package/dist/supervision/holds.d.ts.map +1 -1
- package/dist/supervision/holds.js +1 -0
- package/dist/supervision/holds.js.map +1 -1
- package/dist/supervision/null-role-spawn.d.ts.map +1 -1
- package/dist/supervision/null-role-spawn.js +1 -0
- package/dist/supervision/null-role-spawn.js.map +1 -1
- package/dist/supervision/stop-registry.d.ts +1 -0
- package/dist/supervision/stop-registry.d.ts.map +1 -1
- package/dist/supervision/stop-rows-delivery.d.ts +8 -0
- package/dist/supervision/stop-rows-delivery.d.ts.map +1 -1
- package/dist/supervision/stop-rows-delivery.js +31 -4
- package/dist/supervision/stop-rows-delivery.js.map +1 -1
- package/dist/supervision/team-work.d.ts.map +1 -1
- package/dist/supervision/team-work.js +1 -0
- package/dist/supervision/team-work.js.map +1 -1
- package/dist/supervision/verify-gate-stall.d.ts.map +1 -1
- package/dist/supervision/verify-gate-stall.js +1 -0
- package/dist/supervision/verify-gate-stall.js.map +1 -1
- package/dist/testing/fixtures/api-client.js +1 -1
- package/dist/testing/fixtures/completion-judge-stubs.d.ts.map +1 -1
- package/dist/testing/fixtures/completion-judge-stubs.js +1 -0
- package/dist/testing/fixtures/completion-judge-stubs.js.map +1 -1
- package/dist/testing/fixtures/escalation-store.d.ts +35 -0
- package/dist/testing/fixtures/escalation-store.d.ts.map +1 -0
- package/dist/testing/fixtures/escalation-store.js +86 -0
- package/dist/testing/fixtures/escalation-store.js.map +1 -0
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/testing/fixtures/merge-log-capture.d.ts.map +1 -1
- package/dist/testing/fixtures/merge-log-capture.js +1 -0
- package/dist/testing/fixtures/merge-log-capture.js.map +1 -1
- package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -1
- package/dist/testing/fixtures/pending-spawn-world.js +1 -0
- package/dist/testing/fixtures/pending-spawn-world.js.map +1 -1
- package/dist/testing/fixtures/recording-api-client.js +1 -1
- package/dist/testing/fixtures/review-exit-deps.js +1 -1
- package/dist/testing/fixtures/shortfall-rework-hold-deps.d.ts +22 -0
- package/dist/testing/fixtures/shortfall-rework-hold-deps.d.ts.map +1 -0
- package/dist/testing/fixtures/shortfall-rework-hold-deps.js +44 -0
- package/dist/testing/fixtures/shortfall-rework-hold-deps.js.map +1 -0
- package/dist/testing/fixtures/verification-feedback-deps.d.ts +7 -2
- package/dist/testing/fixtures/verification-feedback-deps.d.ts.map +1 -1
- package/dist/testing/fixtures/verification-feedback-deps.js +15 -19
- package/dist/testing/fixtures/verification-feedback-deps.js.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/issue-description-budget.d.ts.map +1 -1
- package/dist/types/issue-description-budget.js +1 -0
- package/dist/types/issue-description-budget.js.map +1 -1
- package/dist/types/issue-status.d.ts +17 -0
- package/dist/types/issue-status.d.ts.map +1 -1
- package/dist/types/issue-status.js +23 -1
- package/dist/types/issue-status.js.map +1 -1
- package/dist/verify/effect-reconciliation/pending-injection-stamp.d.ts.map +1 -1
- package/dist/verify/effect-reconciliation/pending-injection-stamp.js +1 -0
- package/dist/verify/effect-reconciliation/pending-injection-stamp.js.map +1 -1
- package/dist/verify/effect-reconciliation/verify-reconciliation.d.ts +18 -3
- package/dist/verify/effect-reconciliation/verify-reconciliation.d.ts.map +1 -1
- package/dist/verify/effect-reconciliation/verify-reconciliation.js +26 -6
- package/dist/verify/effect-reconciliation/verify-reconciliation.js.map +1 -1
- package/dist/verify/effect-reconciliation/verify-restatement.d.ts +8 -0
- package/dist/verify/effect-reconciliation/verify-restatement.d.ts.map +1 -1
- package/dist/verify/effect-reconciliation/verify-restatement.js +5 -2
- package/dist/verify/effect-reconciliation/verify-restatement.js.map +1 -1
- package/dist/verify/engine/verification-commit-sharing.d.ts +6 -0
- package/dist/verify/engine/verification-commit-sharing.d.ts.map +1 -1
- package/dist/verify/engine/verification-commit-sharing.js +34 -1
- package/dist/verify/engine/verification-commit-sharing.js.map +1 -1
- package/dist/verify/engine/verification-deps.js +1 -1
- package/dist/verify/engine/verification-engine.d.ts.map +1 -1
- package/dist/verify/engine/verification-engine.js +12 -3
- package/dist/verify/engine/verification-engine.js.map +1 -1
- package/dist/verify/gate-config/verification-config.js +1 -1
- package/dist/verify/gate-verdicts/commit-verdict-record.js +1 -1
- package/dist/verify/gate-verdicts/explicit-gate-outcome.d.ts.map +1 -1
- package/dist/verify/gate-verdicts/explicit-gate-outcome.js +2 -0
- package/dist/verify/gate-verdicts/explicit-gate-outcome.js.map +1 -1
- package/dist/verify/gate-verdicts/gate-run-registry.js +1 -1
- package/dist/verify/gate-verdicts/own-gate-verdict.d.ts +10 -0
- package/dist/verify/gate-verdicts/own-gate-verdict.d.ts.map +1 -1
- package/dist/verify/gate-verdicts/own-gate-verdict.js +3 -2
- package/dist/verify/gate-verdicts/own-gate-verdict.js.map +1 -1
- package/dist/verify/outcome-routing/shortfall-rework-issue.d.ts +101 -0
- package/dist/verify/outcome-routing/shortfall-rework-issue.d.ts.map +1 -0
- package/dist/verify/outcome-routing/shortfall-rework-issue.js +250 -0
- package/dist/verify/outcome-routing/shortfall-rework-issue.js.map +1 -0
- package/dist/verify/outcome-routing/verification-evidence-unavailable-feedback.d.ts.map +1 -1
- package/dist/verify/outcome-routing/verification-evidence-unavailable-feedback.js +4 -1
- package/dist/verify/outcome-routing/verification-evidence-unavailable-feedback.js.map +1 -1
- package/dist/verify/outcome-routing/verification-feedback.d.ts +38 -7
- package/dist/verify/outcome-routing/verification-feedback.d.ts.map +1 -1
- package/dist/verify/outcome-routing/verification-feedback.js +45 -46
- package/dist/verify/outcome-routing/verification-feedback.js.map +1 -1
- package/dist/verify/outcome-routing/verification-history-reset.d.ts +2 -1
- package/dist/verify/outcome-routing/verification-history-reset.d.ts.map +1 -1
- package/dist/verify/outcome-routing/verification-history-reset.js +5 -2
- package/dist/verify/outcome-routing/verification-history-reset.js.map +1 -1
- package/dist/verify/outcome-routing/verification-model-unavailable-hold.d.ts +2 -1
- package/dist/verify/outcome-routing/verification-model-unavailable-hold.d.ts.map +1 -1
- package/dist/verify/outcome-routing/verification-model-unavailable-hold.js +5 -1
- package/dist/verify/outcome-routing/verification-model-unavailable-hold.js.map +1 -1
- package/dist/verify/outcome-routing/verification-rework-issue.d.ts.map +1 -1
- package/dist/verify/outcome-routing/verification-rework-issue.js +4 -1
- package/dist/verify/outcome-routing/verification-rework-issue.js.map +1 -1
- package/dist/verify/outcome-routing/verification-rework-messages.d.ts +8 -2
- package/dist/verify/outcome-routing/verification-rework-messages.d.ts.map +1 -1
- package/dist/verify/outcome-routing/verification-rework-messages.js +18 -7
- package/dist/verify/outcome-routing/verification-rework-messages.js.map +1 -1
- package/dist/verify/run-selection/default-on-guards.d.ts +15 -0
- package/dist/verify/run-selection/default-on-guards.d.ts.map +1 -1
- package/dist/verify/run-selection/default-on-guards.js +18 -1
- package/dist/verify/run-selection/default-on-guards.js.map +1 -1
- package/dist/verify/run-selection/explicit-rearm.d.ts.map +1 -1
- package/dist/verify/run-selection/explicit-rearm.js +1 -0
- package/dist/verify/run-selection/explicit-rearm.js.map +1 -1
- package/dist/verify/run-selection/pre-review-gate-dispatch.d.ts.map +1 -1
- package/dist/verify/run-selection/pre-review-gate-dispatch.js +15 -6
- package/dist/verify/run-selection/pre-review-gate-dispatch.js.map +1 -1
- package/dist/verify/run-selection/reselection-log-line.d.ts +1 -1
- package/dist/verify/run-selection/reselection-log-line.d.ts.map +1 -1
- package/dist/verify/run-selection/reselection-log-line.js +6 -2
- package/dist/verify/run-selection/reselection-log-line.js.map +1 -1
- package/dist/verify/run-selection/unanswered-dispatch.d.ts +20 -0
- package/dist/verify/run-selection/unanswered-dispatch.d.ts.map +1 -0
- package/dist/verify/run-selection/unanswered-dispatch.js +85 -0
- package/dist/verify/run-selection/unanswered-dispatch.js.map +1 -0
- package/dist/verify/run-selection/verification-default-on.d.ts.map +1 -1
- package/dist/verify/run-selection/verification-default-on.js +2 -1
- package/dist/verify/run-selection/verification-default-on.js.map +1 -1
- package/dist/verify/shortfalls/delivery-commit-set.d.ts.map +1 -1
- package/dist/verify/shortfalls/delivery-commit-set.js +2 -1
- package/dist/verify/shortfalls/delivery-commit-set.js.map +1 -1
- package/dist/verify/shortfalls/latest-shortfall-judgment.d.ts +24 -0
- package/dist/verify/shortfalls/latest-shortfall-judgment.d.ts.map +1 -0
- package/dist/verify/shortfalls/latest-shortfall-judgment.js +94 -0
- package/dist/verify/shortfalls/latest-shortfall-judgment.js.map +1 -0
- package/dist/verify/shortfalls/parked-shortfall-reuse.d.ts.map +1 -1
- package/dist/verify/shortfalls/parked-shortfall-reuse.js +20 -6
- package/dist/verify/shortfalls/parked-shortfall-reuse.js.map +1 -1
- package/dist/verify/shortfalls/shortfall-judgment-log.d.ts +12 -0
- package/dist/verify/shortfalls/shortfall-judgment-log.d.ts.map +1 -0
- package/dist/verify/shortfalls/shortfall-judgment-log.js +56 -0
- package/dist/verify/shortfalls/shortfall-judgment-log.js.map +1 -0
- package/dist/verify/shortfalls/shortfall-park-escalation.d.ts.map +1 -1
- package/dist/verify/shortfalls/shortfall-park-escalation.js +6 -2
- package/dist/verify/shortfalls/shortfall-park-escalation.js.map +1 -1
- package/dist/verify/shortfalls/shortfall-park.d.ts +9 -0
- package/dist/verify/shortfalls/shortfall-park.d.ts.map +1 -1
- package/dist/verify/shortfalls/shortfall-park.js +23 -19
- package/dist/verify/shortfalls/shortfall-park.js.map +1 -1
- package/dist/verify/shortfalls/shortfall-repeat.d.ts +14 -0
- package/dist/verify/shortfalls/shortfall-repeat.d.ts.map +1 -1
- package/dist/verify/shortfalls/shortfall-repeat.js +15 -1
- package/dist/verify/shortfalls/shortfall-repeat.js.map +1 -1
- package/dist/verify/shortfalls/shortfall-rework-hold.d.ts +66 -0
- package/dist/verify/shortfalls/shortfall-rework-hold.d.ts.map +1 -0
- package/dist/verify/shortfalls/shortfall-rework-hold.js +230 -0
- package/dist/verify/shortfalls/shortfall-rework-hold.js.map +1 -0
- package/dist/verify/shortfalls/shortfall-rulings.d.ts +40 -10
- package/dist/verify/shortfalls/shortfall-rulings.d.ts.map +1 -1
- package/dist/verify/shortfalls/shortfall-rulings.js +59 -15
- package/dist/verify/shortfalls/shortfall-rulings.js.map +1 -1
- package/dist/worktree/focus-worktree-state.d.ts.map +1 -1
- package/dist/worktree/focus-worktree-state.js +1 -0
- package/dist/worktree/focus-worktree-state.js.map +1 -1
- package/dist/worktree/provision.d.ts.map +1 -1
- package/dist/worktree/provision.js +1 -0
- package/dist/worktree/provision.js.map +1 -1
- package/dist/worktree/safety.d.ts.map +1 -1
- package/dist/worktree/safety.js +1 -0
- package/dist/worktree/safety.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
+
// Pinned by: packages/daemon/src/completion/state-cascade/review-verify-judgment-gate.test.ts,
|
|
3
|
+
// packages/daemon/src/integration/review-opens-after-verify-judgment-regression.test.ts
|
|
4
|
+
// PINNED-BY-END
|
|
5
|
+
import { resolveGateReads } from '../../verify/gate-verdicts/own-gate-verdict.js';
|
|
6
|
+
import { shortfallParkRefusingRework } from '../../verify/shortfalls/shortfall-park.js';
|
|
7
|
+
import { createLogger } from '../../log/daemon-log.js';
|
|
8
|
+
const log = createLogger({ module: 'state-cascade' });
|
|
9
|
+
/** What keeps the window shut, most telling first: a recorded failure, a run in flight, a park, then no record. */
|
|
10
|
+
const PRECEDENCE = ['failed', 'in_flight', 'parked', 'unrecorded'];
|
|
11
|
+
/** Where verify stands on one verify delivery at `sha` (module header). */
|
|
12
|
+
async function readDeliveryVerifyJudgment(deps, subject, delivery, sha) {
|
|
13
|
+
if (deps.isGateRunSelected(delivery.id))
|
|
14
|
+
return 'in_flight';
|
|
15
|
+
// Parked: its recorded shortfall stands at the head the park fixed, and only a ruling or a new commit releases it --
|
|
16
|
+
// a review now would approve that head over the failure (module header, WHICH DELIVERIES).
|
|
17
|
+
if (shortfallParkRefusingRework(delivery) !== null)
|
|
18
|
+
return 'parked';
|
|
19
|
+
const resolution = await resolveGateReads(deps, {
|
|
20
|
+
...subject, deliveryId: delivery.id, injectionId: delivery.injectionId, gateState: delivery.gateState,
|
|
21
|
+
});
|
|
22
|
+
// No gate governs it: verify never judges it, so no outcome is coming to wait for.
|
|
23
|
+
if (!resolution?.configured)
|
|
24
|
+
return 'judged';
|
|
25
|
+
const explicit = deps.readDeliveryGateOutcome(delivery.id, sha, delivery.gateState, resolution.explicitGateKey);
|
|
26
|
+
if (explicit === 'failed')
|
|
27
|
+
return 'failed';
|
|
28
|
+
if (explicit === 'passed')
|
|
29
|
+
return 'judged';
|
|
30
|
+
return sha !== null && deps.readPassedSha(delivery.id) === sha ? 'judged' : 'unrecorded';
|
|
31
|
+
}
|
|
32
|
+
/** Read whether verify has finished judging the focus HEAD across its verify deliveries. */
|
|
33
|
+
export async function readFocusHeadVerifyJudgment(deps, subject, verifyDeliveries) {
|
|
34
|
+
const sha = deps.resolveJudgedCommit(subject.focusId);
|
|
35
|
+
const states = await Promise.all(verifyDeliveries.map((d) => readDeliveryVerifyJudgment(deps, subject, d, sha)));
|
|
36
|
+
for (const state of PRECEDENCE) {
|
|
37
|
+
const deliveryIds = verifyDeliveries.filter((_d, i) => states[i] === state).map((d) => d.id);
|
|
38
|
+
if (deliveryIds.length > 0)
|
|
39
|
+
return { state, sha, deliveryIds };
|
|
40
|
+
}
|
|
41
|
+
return { state: 'judged', sha, deliveryIds: [] };
|
|
42
|
+
}
|
|
43
|
+
/** True when the judgment lets the review window open. */
|
|
44
|
+
export function verifyJudgmentOpensReviewWindow(judgment) {
|
|
45
|
+
return judgment.state === 'judged';
|
|
46
|
+
}
|
|
47
|
+
/** focusId -> the reason, delivery set and HEAD its declined review request was last logged for (one line each, not per poll). */
|
|
48
|
+
const declineLogged = new Map();
|
|
49
|
+
/** Test-only: forget every logged decline. */
|
|
50
|
+
export function __resetReviewVerifyJudgmentGateForTests() {
|
|
51
|
+
declineLogged.clear();
|
|
52
|
+
}
|
|
53
|
+
/** Why the window stays shut, for the log. */
|
|
54
|
+
function describeDecline(judgment) {
|
|
55
|
+
const head = judgment.sha ? judgment.sha.slice(0, 8) : '(unreadable HEAD)';
|
|
56
|
+
const who = `delivery(ies) ${judgment.deliveryIds.join(', ')}`;
|
|
57
|
+
if (judgment.state === 'failed')
|
|
58
|
+
return `verify FAILED ${who} at ${head}; its rework is next, not a review.`;
|
|
59
|
+
if (judgment.state === 'parked') {
|
|
60
|
+
return `${who} parked on a repeating verify shortfall at ${head} or an earlier head; a review would approve a head its `
|
|
61
|
+
+ 'failure stands on -- a ruling on its nodes or a new delivery commit releases the park (its escalation names the ruling).';
|
|
62
|
+
}
|
|
63
|
+
if (judgment.state === 'in_flight') {
|
|
64
|
+
return `verify is still judging ${who} at ${head} (a run is selected and not finished); the window opens once its outcome is recorded.`;
|
|
65
|
+
}
|
|
66
|
+
return `no verify outcome is recorded yet for ${who} at ${head}; the verification tick judges it.`;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The review request waits on verify having finished judging the focus HEAD
|
|
70
|
+
* (module header). In flight or unrecorded: the verification tick answers it.
|
|
71
|
+
* Failed: that failure routes re-work, so no review is spawned. Parked: a ruling
|
|
72
|
+
* or a new delivery commit releases it. A read that
|
|
73
|
+
* throws holds the request (fail closed) and is retried next poll. An absent
|
|
74
|
+
* reader holds nothing.
|
|
75
|
+
*/
|
|
76
|
+
export async function declinesReviewBeforeVerifyJudged(focusId, verifyDeliveries, read) {
|
|
77
|
+
if (!read)
|
|
78
|
+
return false;
|
|
79
|
+
let judgment;
|
|
80
|
+
try {
|
|
81
|
+
judgment = await read(focusId, verifyDeliveries);
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
log.warn(`[state-cascade] Not opening a review window on focus ${focusId}: verify's judgment of its HEAD could not be read: ${err.message}`);
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
if (verifyJudgmentOpensReviewWindow(judgment)) {
|
|
88
|
+
declineLogged.delete(focusId);
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
const key = `${judgment.state}:${judgment.deliveryIds.join(',')}@${judgment.sha ?? 'unreadable'}`;
|
|
92
|
+
if (declineLogged.get(focusId) !== key) {
|
|
93
|
+
declineLogged.set(focusId, key);
|
|
94
|
+
log.info(`[state-cascade] Not opening a review window on focus ${focusId}: ${describeDecline(judgment)}`);
|
|
95
|
+
}
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=review-verify-judgment-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-verify-judgment-gate.js","sourceRoot":"","sources":["../../../src/completion/state-cascade/review-verify-judgment-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,8 @@ import { type CommitVerdictGateDeps } from '../review-exit-holds/review-exit-ver
|
|
|
10
10
|
import type { GateReads } from '../../verify/gate-verdicts/own-gate-verdict.js';
|
|
11
11
|
import { type ReviewHeadApproval } from './review-approved-head-gate.js';
|
|
12
12
|
import type { ReviewCensus } from '../review-exit/review-census-record.js';
|
|
13
|
-
import { type StrandedEscalationFiler } from './standing-approval-stranded.js';
|
|
13
|
+
import { type StrandedEscalationFiler, type StrandedEscalationResolver } from './standing-approval-stranded.js';
|
|
14
|
+
import type { ShortfallRulingsReader } from '../../verify/shortfalls/shortfall-rulings.js';
|
|
14
15
|
/** The focus a pass converges. */
|
|
15
16
|
export interface StandingApprovalFocus {
|
|
16
17
|
organizationId: string;
|
|
@@ -36,6 +37,10 @@ export interface StandingApprovalDeps extends GateReads, Pick<CommitVerdictGateD
|
|
|
36
37
|
externalHoldClock: () => string;
|
|
37
38
|
/** Files the one escalation for a delivery declined identically across polls (standing-approval-stranded.ts). */
|
|
38
39
|
fileStrandedEscalation?: StrandedEscalationFiler;
|
|
40
|
+
/** Resolves a delivery's open stranded filings once its stranding ended (standing-approval-stranded.ts). */
|
|
41
|
+
resolveStrandedEscalations?: StrandedEscalationResolver;
|
|
42
|
+
/** The delivery's active shortfall rulings: a failed verdict awaiting re-judgement on one is not stranded. */
|
|
43
|
+
readShortfallRulings?: ShortfallRulingsReader;
|
|
39
44
|
/** The focus's recorded concern ids (delivery/recorded-concerns.ts), read once per pass; fail-closed to empty. */
|
|
40
45
|
readRecordedConcernIds: RecordedConcernReader;
|
|
41
46
|
}
|
|
@@ -52,12 +57,16 @@ export interface StandingApprovalOutcome {
|
|
|
52
57
|
/**
|
|
53
58
|
* Whether a gate_state carries no hold or failure detail of any kind. Defensive over the JSONB. Pure.
|
|
54
59
|
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
60
|
+
* Two review-exit markers are NOT read here, for one reason: each only renders a
|
|
61
|
+
* hold this pass re-reads LIVE, fail-closed, before any done write, and nothing
|
|
62
|
+
* else clears it at an approved head -- the review exit wrote it and no review runs
|
|
63
|
+
* there -- so treating it as a hold would strand the delivery after its hold lifted.
|
|
64
|
+
* - `shortfallProposalIds` (the undisposed-proposal marker), re-read by
|
|
65
|
+
* resolveShortfallHold: an operator ruling may have disposed the proposals.
|
|
66
|
+
* - `operatorHold` (the open operator-escalation marker), re-read by
|
|
67
|
+
* resolveOperatorHold: the escalation may have been resolved. A released one
|
|
68
|
+
* is cleared by the end of the pass (doneWithheldBy).
|
|
69
|
+
* The done write clears gate_state, markers included.
|
|
61
70
|
*/
|
|
62
71
|
export declare function gateStateHoldsNothing(gateState: unknown): boolean;
|
|
63
72
|
/** Whether a delivery sits in verify with a durable verify PASS and no hold. Pure. */
|
|
@@ -73,7 +82,8 @@ export declare function censusCoversDelivery(censuses: readonly ReviewCensus[],
|
|
|
73
82
|
export declare function __resetStandingApprovalConvergenceForTests(): void;
|
|
74
83
|
/**
|
|
75
84
|
* Converge every covered, passed, unheld verify delivery of the focus on its
|
|
76
|
-
* standing approval (see the module header).
|
|
85
|
+
* standing approval, and examine every failed-verdict one (see the module header).
|
|
86
|
+
* Never throws.
|
|
77
87
|
*/
|
|
78
88
|
export declare function convergeOnStandingApproval(focus: StandingApprovalFocus, deliveries: readonly FocusDeliveryInfo[], deps: StandingApprovalDeps): Promise<StandingApprovalOutcome>;
|
|
79
89
|
//# sourceMappingURL=standing-approval-convergence.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standing-approval-convergence.d.ts","sourceRoot":"","sources":["../../../src/completion/state-cascade/standing-approval-convergence.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"standing-approval-convergence.d.ts","sourceRoot":"","sources":["../../../src/completion/state-cascade/standing-approval-convergence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
2
|
// Pinned by: packages/daemon/src/completion/state-cascade/standing-approval-convergence.test.ts,
|
|
3
|
+
// packages/daemon/src/completion/state-cascade/standing-approval-failed-verdict.test.ts,
|
|
3
4
|
// packages/daemon/src/completion/state-cascade/standing-approval-stranded.test.ts,
|
|
4
5
|
// packages/daemon/src/composition/review-holds-context.test.ts,
|
|
6
|
+
// packages/daemon/src/integration/approved-head-hold-release-completion-regression.test.ts,
|
|
7
|
+
// packages/daemon/src/integration/approved-head-hold-release-no-directive-regression.test.ts,
|
|
5
8
|
// packages/daemon/src/integration/approved-head-hold-release-regression.test.ts,
|
|
9
|
+
// packages/daemon/src/integration/failed-verdict-ruling-rejudge-regression.test.ts,
|
|
10
|
+
// packages/daemon/src/integration/last-shortfall-judgment-round-trip.test.ts,
|
|
6
11
|
// packages/daemon/src/integration/merge-back-approved-head-regression.test.ts,
|
|
7
12
|
// packages/daemon/src/integration/shortfall-ruling-disposes-proposals-regression.test.ts,
|
|
8
13
|
// packages/daemon/src/integration/standing-approval-release-regression.test.ts
|
|
@@ -65,6 +70,27 @@
|
|
|
65
70
|
* the identical reason across consecutive polls is reported ONCE, anchored to it
|
|
66
71
|
* (completion/state-cascade/standing-approval-stranded.ts).
|
|
67
72
|
*
|
|
73
|
+
* For the same reason a marker the review exit LEFT is not a hold here when this
|
|
74
|
+
* pass re-reads its hold live: an operator-hold marker (gate_state.operatorHold)
|
|
75
|
+
* does not keep a delivery out of candidacy. The review exit writes it when its
|
|
76
|
+
* approval stood beside an open operator escalation, and its only other clearer --
|
|
77
|
+
* the review park (spawn/review-hold-park.ts) -- runs only for a queued review
|
|
78
|
+
* spawn, which an approved head never has. The fail-closed live read
|
|
79
|
+
* (resolveOperatorHold) decides instead; when it reads the hold as released, the
|
|
80
|
+
* stale marker is gone by the end of the pass -- the done write clears gate_state,
|
|
81
|
+
* and a delivery another gate keeps in verify has it dropped by
|
|
82
|
+
* clearOperatorHoldGateState (delivery/operator-hold.ts), unless a verify run for
|
|
83
|
+
* it is in flight (that clear re-asserts `verify`; the run's outcome write is next).
|
|
84
|
+
*
|
|
85
|
+
* A FAILED verdict at the approved head is examined on the same poll, never
|
|
86
|
+
* converged (completion/state-cascade/standing-approval-failed-verdict.ts): a verify
|
|
87
|
+
* delivery whose latest verify judgment of the approved commit is a shortfall
|
|
88
|
+
* failure, with no verify run, park, new ruling or owed work answering for it, is
|
|
89
|
+
* declined `failed_verdict` and counted by the same stranded streak. Once a
|
|
90
|
+
* delivery's stranding ends -- this pass converged it, or it left verify -- its
|
|
91
|
+
* open stranded filing is resolved (standing-approval-stranded.ts
|
|
92
|
+
* resolveClearedStrands).
|
|
93
|
+
*
|
|
68
94
|
* FAILS CLOSED: an unreadable head, approval, census, issue list, workflow or hold
|
|
69
95
|
* leaves the delivery in verify; the next poll retries. A read failure is never
|
|
70
96
|
* converted into done.
|
|
@@ -80,29 +106,34 @@ import { DELIVERY_STATUS } from '@telora/daemon-core';
|
|
|
80
106
|
import { sameCommit } from '../../queries/focus-review/focus-review-approval.js';
|
|
81
107
|
import { resolveReconciledWrite } from '../../delivery/delivery-reconciler-apply.js';
|
|
82
108
|
import { toReconcilerIssues } from '../../delivery/recorded-concerns.js';
|
|
83
|
-
import { resolveOperatorHold, describeOperatorHold } from '../../delivery/operator-hold.js';
|
|
109
|
+
import { resolveOperatorHold, describeOperatorHold, clearOperatorHoldGateState } from '../../delivery/operator-hold.js';
|
|
84
110
|
import { resolveExternalHold, describeExternalHold } from '../../delivery/external-hold.js';
|
|
85
111
|
import { resolveShortfallHold, describeShortfallHold } from '../review-exit-holds/review-exit-shortfall.js';
|
|
86
112
|
import { readDoneRouteVerdict, verifyRunHoldsDone, } from '../review-exit-holds/review-exit-verdict-gate.js';
|
|
87
113
|
import { isHeadAlreadyApproved } from './review-approved-head-gate.js';
|
|
88
114
|
import { readShortfallPark } from '../../queries/delivery-gate-state/delivery-gate-state.js';
|
|
89
115
|
import { createLogger } from '../../log/daemon-log.js';
|
|
90
|
-
import { reportStandingApprovalDeclines, } from './standing-approval-stranded.js';
|
|
116
|
+
import { reportStandingApprovalDeclines, resolveClearedStrands, } from './standing-approval-stranded.js';
|
|
117
|
+
import { examineFailedVerdicts, failedVerdictCandidates, forgetFailedVerdictNotes, } from './standing-approval-failed-verdict.js';
|
|
91
118
|
const log = createLogger({ module: 'state-cascade' });
|
|
92
119
|
/** gate_state keys that record a verify failure or a hold (never a pass). */
|
|
93
120
|
const HOLD_OR_FAILURE_KEYS = [
|
|
94
121
|
'verification', 'shortfallReconciliation', 'evidenceUnavailable', 'modelUnavailable',
|
|
95
|
-
'
|
|
122
|
+
'externalHold', 'commitVerdictHold',
|
|
96
123
|
];
|
|
97
124
|
/**
|
|
98
125
|
* Whether a gate_state carries no hold or failure detail of any kind. Defensive over the JSONB. Pure.
|
|
99
126
|
*
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
127
|
+
* Two review-exit markers are NOT read here, for one reason: each only renders a
|
|
128
|
+
* hold this pass re-reads LIVE, fail-closed, before any done write, and nothing
|
|
129
|
+
* else clears it at an approved head -- the review exit wrote it and no review runs
|
|
130
|
+
* there -- so treating it as a hold would strand the delivery after its hold lifted.
|
|
131
|
+
* - `shortfallProposalIds` (the undisposed-proposal marker), re-read by
|
|
132
|
+
* resolveShortfallHold: an operator ruling may have disposed the proposals.
|
|
133
|
+
* - `operatorHold` (the open operator-escalation marker), re-read by
|
|
134
|
+
* resolveOperatorHold: the escalation may have been resolved. A released one
|
|
135
|
+
* is cleared by the end of the pass (doneWithheldBy).
|
|
136
|
+
* The done write clears gate_state, markers included.
|
|
106
137
|
*/
|
|
107
138
|
export function gateStateHoldsNothing(gateState) {
|
|
108
139
|
if (gateState == null)
|
|
@@ -140,6 +171,7 @@ const lastLoggedReason = new Map();
|
|
|
140
171
|
/** Test seam: forget logged hold reasons. */
|
|
141
172
|
export function __resetStandingApprovalConvergenceForTests() {
|
|
142
173
|
lastLoggedReason.clear();
|
|
174
|
+
forgetFailedVerdictNotes();
|
|
143
175
|
}
|
|
144
176
|
function logHeldOnce(focus, d, sha, reason) {
|
|
145
177
|
if (lastLoggedReason.get(d.id) === reason)
|
|
@@ -152,8 +184,14 @@ function logHeldOnce(focus, d, sha, reason) {
|
|
|
152
184
|
* Why the review exit's done gates withhold `d`, or null when every gate lets it
|
|
153
185
|
* through. `held.shortfall` (the focus-scoped proposal read) and `held.concernIds`
|
|
154
186
|
* (the recorded concerns) are taken once per pass.
|
|
187
|
+
*
|
|
188
|
+
* An operator hold read as released leaves no marker behind: when a later gate
|
|
189
|
+
* withholds done (or throws), the stale gate_state.operatorHold is cleared here --
|
|
190
|
+
* clearOperatorHoldGateState is a no-op without one -- and a delivery let through
|
|
191
|
+
* has it cleared by the done write. The one exception is a verify run still in
|
|
192
|
+
* flight for it, whose own outcome write is next.
|
|
155
193
|
*/
|
|
156
|
-
async function doneWithheldBy(deps, focus, d,
|
|
194
|
+
async function doneWithheldBy(deps, focus, d, approved, held) {
|
|
157
195
|
const { shortfall, concernIds } = held;
|
|
158
196
|
const issues = await deps.getDeliveryIssues(d.id);
|
|
159
197
|
const decision = resolveReconciledWrite({
|
|
@@ -172,6 +210,21 @@ async function doneWithheldBy(deps, focus, d, { approvedSha, advance }, held) {
|
|
|
172
210
|
const operatorHold = await resolveOperatorHold(deps, d.id, focus.focusId);
|
|
173
211
|
if (operatorHold.held)
|
|
174
212
|
return { kind: 'operator_hold', reason: describeOperatorHold(operatorHold) };
|
|
213
|
+
let converges = false;
|
|
214
|
+
try {
|
|
215
|
+
const withheld = await withheldPastOperatorHold(deps, focus, d, approved, shortfall);
|
|
216
|
+
converges = withheld === null;
|
|
217
|
+
return withheld;
|
|
218
|
+
}
|
|
219
|
+
finally {
|
|
220
|
+
// Not while a verify run for it is in flight: the clear re-asserts `verify`,
|
|
221
|
+
// which could undo that run's verify_failed route. The next pass clears it.
|
|
222
|
+
if (!converges && !verifyRunHoldsDone(deps, d.id))
|
|
223
|
+
await clearOperatorHoldGateState(deps, d.id, d.gateState);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/** The done gates after the operator hold, in the review exit's order (doneWithheldBy). */
|
|
227
|
+
async function withheldPastOperatorHold(deps, focus, d, { approvedSha, advance }, shortfall) {
|
|
175
228
|
const externalHold = await resolveExternalHold(deps, d.id, d.gateState, deps.evaluateExternalCondition, deps.externalHoldClock);
|
|
176
229
|
if (externalHold.held)
|
|
177
230
|
return { kind: 'external_hold', reason: describeExternalHold(externalHold) };
|
|
@@ -212,22 +265,23 @@ async function readApprovedHead(deps, focus) {
|
|
|
212
265
|
}
|
|
213
266
|
/**
|
|
214
267
|
* Converge every covered, passed, unheld verify delivery of the focus on its
|
|
215
|
-
* standing approval (see the module header).
|
|
268
|
+
* standing approval, and examine every failed-verdict one (see the module header).
|
|
269
|
+
* Never throws.
|
|
216
270
|
*/
|
|
217
271
|
export async function convergeOnStandingApproval(focus, deliveries, deps) {
|
|
218
272
|
const outcome = { converged: [], held: [] };
|
|
219
273
|
const candidates = deliveries.filter(isStandingApprovalCandidate);
|
|
274
|
+
const failed = failedVerdictCandidates(deliveries);
|
|
220
275
|
for (const d of deliveries)
|
|
221
276
|
if (!candidates.includes(d))
|
|
222
277
|
lastLoggedReason.delete(d.id);
|
|
223
278
|
const seen = deliveries.map((d) => d.id);
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
}
|
|
228
|
-
const approved = await readApprovedHead(deps, focus);
|
|
279
|
+
const approved = (candidates.length === 0 && failed.length === 0) || deps.isReviewSessionActive(focus.focusId)
|
|
280
|
+
? null
|
|
281
|
+
: await readApprovedHead(deps, focus);
|
|
229
282
|
if (approved === null) {
|
|
230
283
|
await reportStandingApprovalDeclines(focus, null, seen, [], deps.fileStrandedEscalation);
|
|
284
|
+
await resolveClearedStrands(focus, deliveries, [], null, deps.resolveStrandedEscalations);
|
|
231
285
|
return outcome;
|
|
232
286
|
}
|
|
233
287
|
const { approvedSha } = approved;
|
|
@@ -244,9 +298,20 @@ export async function convergeOnStandingApproval(focus, deliveries, deps) {
|
|
|
244
298
|
}
|
|
245
299
|
if (covered.length > 0)
|
|
246
300
|
await convergeCovered(focus, covered, deps, approved, outcome, decline);
|
|
301
|
+
if (failed.length > 0)
|
|
302
|
+
declines.push(...await examineFailed(focus, failed, deps, approved, outcome));
|
|
247
303
|
await reportStandingApprovalDeclines(focus, approvedSha, seen, declines, deps.fileStrandedEscalation);
|
|
304
|
+
await resolveClearedStrands(focus, deliveries, outcome.converged, approvedSha, deps.resolveStrandedEscalations);
|
|
248
305
|
return outcome;
|
|
249
306
|
}
|
|
307
|
+
/** Examine the failed-verdict candidates at the approved head; each counted one is also reported as held. */
|
|
308
|
+
async function examineFailed(focus, failed, deps, approved, outcome) {
|
|
309
|
+
const head = { approvedSha: approved.approvedSha, advanceHead: approved.advance?.head ?? null };
|
|
310
|
+
const declines = await examineFailedVerdicts(focus, failed, head, deps, () => deps.readRecordedConcernIds(focus.focusId));
|
|
311
|
+
for (const d of declines)
|
|
312
|
+
outcome.held.push({ deliveryId: d.deliveryId, reason: d.reason });
|
|
313
|
+
return declines;
|
|
314
|
+
}
|
|
250
315
|
/** Cross each census-covered candidate through the done gates, writing done for every one they let through. */
|
|
251
316
|
async function convergeCovered(focus, covered, deps, approved, outcome, decline) {
|
|
252
317
|
const shortfall = await resolveShortfallHold(deps, focus.focusId, focus.focusName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standing-approval-convergence.js","sourceRoot":"","sources":["../../../src/completion/state-cascade/standing-approval-convergence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standing-approval-convergence.js","sourceRoot":"","sources":["../../../src/completion/state-cascade/standing-approval-convergence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The standing-approval pass's BACKSTOP for a FAILED verdict: a verify delivery
|
|
3
|
+
* whose latest verify judgment of the already-approved focus head is a failure is
|
|
4
|
+
* examined on every cascade poll and, when nothing will move it, reported as a
|
|
5
|
+
* decline that the stranded counter files after the same
|
|
6
|
+
* STANDING_APPROVAL_STRANDED_POLLS identical polls as a passed one
|
|
7
|
+
* (completion/state-cascade/standing-approval-stranded.ts), naming each held node
|
|
8
|
+
* (completion/state-cascade/failed-verdict-stranded-filing.ts).
|
|
9
|
+
*
|
|
10
|
+
* WHY. completion/state-cascade/standing-approval-convergence.ts examined only a
|
|
11
|
+
* delivery whose recorded verify outcome is `passed`. A failed one at an approved
|
|
12
|
+
* head has no other mover: review does not reopen at that head
|
|
13
|
+
* (completion/state-cascade/review-approved-head-gate.ts), verify does not judge an
|
|
14
|
+
* unchanged commit again on its own, and an approval does not cover a failed
|
|
15
|
+
* verdict, so it never converges -- and the convergence's candidate filter dropped
|
|
16
|
+
* it before the stranded counter ever saw it, so nothing was filed either.
|
|
17
|
+
*
|
|
18
|
+
* WHAT IS READ AS "FAILED AT THE APPROVED HEAD", in order:
|
|
19
|
+
* 1. verify/shortfalls/latest-shortfall-judgment.ts readFailedShortfallJudgment:
|
|
20
|
+
* the delivery sits in verify, unparked; its row's verification_outcome is
|
|
21
|
+
* 'failed' or unrecorded (null -- the edge resets a failure on its re-work
|
|
22
|
+
* round trip); no deterministic-failure, blind-evidence or awaited-model
|
|
23
|
+
* detail stands live; and its latest shortfall judgment is the LIVE
|
|
24
|
+
* gate_state.shortfallReconciliation, else the KEPT
|
|
25
|
+
* verificationHistory.lastShortfallJudgment, naming at least one node;
|
|
26
|
+
* 2. that judgment's commit (its judgedSha: the commit its re-work writer
|
|
27
|
+
* stamped, else its gate verdict's sha) is the approved commit, or the head
|
|
28
|
+
* a foreign-only advance moved past it. A judgment naming no commit, or
|
|
29
|
+
* another commit, is not about this head (a later commit is judged at the
|
|
30
|
+
* focus's pre-review run).
|
|
31
|
+
* The row's outcome is never read alone: it names no commit.
|
|
32
|
+
*
|
|
33
|
+
* NEVER CONVERGES. A failed verdict is not covered by an approval; this pass only
|
|
34
|
+
* reports it. Its done gates are not crossed.
|
|
35
|
+
*
|
|
36
|
+
* NOT COUNTED -- something already answers for the delivery, and the identical-poll
|
|
37
|
+
* count starts over like any other change of state:
|
|
38
|
+
* - a verify run is selected or in flight for it (isGateRunSelected): verify is
|
|
39
|
+
* judging it now;
|
|
40
|
+
* - it is PARKED: the park filed its one escalation
|
|
41
|
+
* (verify/shortfalls/shortfall-park-escalation.ts) and a ruling releases it
|
|
42
|
+
* (rule 1 above reads no park);
|
|
43
|
+
* - a ruling the judgment did not apply is in force (shortfall-park.ts
|
|
44
|
+
* rulingRecordedSince against the fingerprint its repeat record carries): it
|
|
45
|
+
* awaits re-judgement, which the ruling re-arm selects
|
|
46
|
+
* (verify/shortfalls/shortfall-rulings.ts);
|
|
47
|
+
* - it owes open work (delivery/recorded-concerns.ts splitOpenWork over its work
|
|
48
|
+
* issues): a coding pass is next, and the live open-work pass routes it.
|
|
49
|
+
* An unreadable input (its issues, or its rulings) decides nothing: like the
|
|
50
|
+
* passed path's, the delivery is declined `read_failed`, counted and filed after
|
|
51
|
+
* the same polls -- still naming the held nodes -- so a read that never comes back
|
|
52
|
+
* does not hide it.
|
|
53
|
+
*
|
|
54
|
+
* THE SIGNATURE the streak compares is the approved commit, the row's outcome and
|
|
55
|
+
* the judgment (when it held, the commit it judged, and per node its id, its
|
|
56
|
+
* unjudged discriminator and its reason): a new head, a changed outcome or a new
|
|
57
|
+
* judgment starts the count over.
|
|
58
|
+
*
|
|
59
|
+
* History: docs/daemon/history-team-lifecycle.md (completion/state-cascade/standing-approval-failed-verdict.ts).
|
|
60
|
+
*
|
|
61
|
+
* @module completion/state-cascade/standing-approval-failed-verdict
|
|
62
|
+
*/
|
|
63
|
+
import type { FocusDeliveryInfo } from '../../types/index.js';
|
|
64
|
+
import type { getDeliveryIssues } from '../../queries/deliveries/issues.js';
|
|
65
|
+
import { type FailedShortfallJudgment } from '../../verify/shortfalls/latest-shortfall-judgment.js';
|
|
66
|
+
import type { ShortfallRulingsReader } from '../../verify/shortfalls/shortfall-rulings.js';
|
|
67
|
+
import type { StandingApprovalDecline } from './standing-approval-stranded.js';
|
|
68
|
+
/** The reads the examination takes (a slice of StandingApprovalDeps). */
|
|
69
|
+
export interface FailedVerdictDeps {
|
|
70
|
+
/** Whether a verify run for the delivery is selected or in flight. Absent: none is. */
|
|
71
|
+
isGateRunSelected?: (deliveryId: string) => boolean;
|
|
72
|
+
getDeliveryIssues: typeof getDeliveryIssues;
|
|
73
|
+
/** The delivery's active shortfall rulings and their fingerprint. Absent: none are known. */
|
|
74
|
+
readShortfallRulings?: ShortfallRulingsReader;
|
|
75
|
+
}
|
|
76
|
+
/** A verify delivery whose latest judgment is a shortfall failure, before its commit is compared with the head. */
|
|
77
|
+
export interface FailedVerdictCandidate {
|
|
78
|
+
delivery: FocusDeliveryInfo;
|
|
79
|
+
failed: FailedShortfallJudgment;
|
|
80
|
+
}
|
|
81
|
+
/** The approved commit, and the head a foreign-only advance moved past it (null when none). */
|
|
82
|
+
export interface FailedVerdictHead {
|
|
83
|
+
approvedSha: string;
|
|
84
|
+
advanceHead: string | null;
|
|
85
|
+
}
|
|
86
|
+
/** The focus the examination logs under. */
|
|
87
|
+
interface FailedVerdictFocus {
|
|
88
|
+
focusId: string;
|
|
89
|
+
focusName: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* The deliveries whose latest verify judgment is a shortfall failure (rule 1 of
|
|
93
|
+
* the module header); every other delivery's logged state is forgotten.
|
|
94
|
+
*/
|
|
95
|
+
export declare function failedVerdictCandidates(deliveries: readonly FocusDeliveryInfo[]): FailedVerdictCandidate[];
|
|
96
|
+
/** What the streak compares for a failed-verdict decline (module header, THE SIGNATURE). Pure. */
|
|
97
|
+
export declare function failedVerdictSignature(failed: FailedShortfallJudgment, approvedSha: string): string;
|
|
98
|
+
/** Forget every logged state (the convergence's test seam calls it). */
|
|
99
|
+
export declare function forgetFailedVerdictNotes(): void;
|
|
100
|
+
/**
|
|
101
|
+
* Examine each failed-verdict candidate at the approved head and return the
|
|
102
|
+
* declines to count (module header). `readConcernIds` is called at most once.
|
|
103
|
+
* Never throws: a read that fails is a `read_failed` decline.
|
|
104
|
+
*/
|
|
105
|
+
export declare function examineFailedVerdicts(focus: FailedVerdictFocus, candidates: readonly FailedVerdictCandidate[], head: FailedVerdictHead, deps: FailedVerdictDeps, readConcernIds: () => Promise<ReadonlySet<string>>): Promise<StandingApprovalDecline[]>;
|
|
106
|
+
export {};
|
|
107
|
+
//# sourceMappingURL=standing-approval-failed-verdict.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standing-approval-failed-verdict.d.ts","sourceRoot":"","sources":["../../../src/completion/state-cascade/standing-approval-failed-verdict.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAI5E,OAAO,EAA+B,KAAK,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAEjI,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAM/E,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IACpD,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,6FAA6F;IAC7F,oBAAoB,CAAC,EAAE,sBAAsB,CAAC;CAC/C;AAED,mHAAmH;AACnH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,uBAAuB,CAAC;CACjC;AAED,+FAA+F;AAC/F,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,4CAA4C;AAC5C,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,SAAS,iBAAiB,EAAE,GAAG,sBAAsB,EAAE,CAQ1G;AASD,kGAAkG;AAClG,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAGnG;AAED,wEAAwE;AACxE,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAkDD;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAE,SAAS,sBAAsB,EAAE,EAC7C,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,iBAAiB,EACvB,cAAc,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GACjD,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAgCpC"}
|