@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,250 @@
|
|
|
1
|
+
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
+
// Pinned by: packages/daemon/src/composition/runtime-delivery-advance-context.test.ts,
|
|
3
|
+
// packages/daemon/src/integration/advancement-path-parity.test.ts,
|
|
4
|
+
// packages/daemon/src/integration/last-shortfall-judgment-round-trip.test.ts,
|
|
5
|
+
// packages/daemon/src/integration/shortfall-park-incident-regression.test.ts,
|
|
6
|
+
// packages/daemon/src/integration/shortfall-rework-owner-regression.test.ts,
|
|
7
|
+
// packages/daemon/src/integration/verification-history-round-trip.test.ts,
|
|
8
|
+
// packages/daemon/src/verify/outcome-routing/shortfall-rework-issue.test.ts,
|
|
9
|
+
// packages/daemon/src/verify/shortfalls/shortfall-rework-hold.test.ts
|
|
10
|
+
// PINNED-BY-END
|
|
11
|
+
/**
|
|
12
|
+
* A verify SHORTFALL sent back to re-work files the work that closes it.
|
|
13
|
+
*
|
|
14
|
+
* A shortfall is a judgement, not a failing check: the gate passed on the commit
|
|
15
|
+
* and the reconciliation found that the diff does not deliver what the tree
|
|
16
|
+
* declares for a node. The re-work route carries that gap on gate_state -- and
|
|
17
|
+
* gate_state is not work. A delivery whose issues are all Done then has nothing a
|
|
18
|
+
* coding pass owns: no team is spawned for it, every advance path reads it as
|
|
19
|
+
* finished, and it returns to verify with nobody having seen the gap. So the gap
|
|
20
|
+
* itself becomes the issue: ONE Bug on the judged delivery naming every node, what
|
|
21
|
+
* was declared, what was achieved and why it falls short, filed BEFORE the route
|
|
22
|
+
* (verify/outcome-routing/verification-feedback.ts requeueShortfallAsRework), so
|
|
23
|
+
* the re-work re-entry finds open owed work and an armed focus spawns a coding
|
|
24
|
+
* pass holding it.
|
|
25
|
+
*
|
|
26
|
+
* WHOSE: always the judged delivery's. A shortfall is rendered per delivery, on
|
|
27
|
+
* that delivery's own declared targets, so there is no owner to attribute -- unlike
|
|
28
|
+
* a branch-level gate red (verify/outcome-routing/verification-rework-issue.ts).
|
|
29
|
+
*
|
|
30
|
+
* WHICH JUDGEMENT a Bug is for is in its title: the judged commit and a digest of
|
|
31
|
+
* the shortfall's signature (verify/shortfalls/shortfall-repeat.ts: the nodes and
|
|
32
|
+
* their declared claims, never the model-worded reason). That prefix is the Bug's
|
|
33
|
+
* FAMILY. A different commit or a different gap is a different family and files
|
|
34
|
+
* its own first Bug.
|
|
35
|
+
*
|
|
36
|
+
* HOW MANY: a judgement can be rendered again on the same commit set, so the gate
|
|
37
|
+
* rework convention (one Bug per commit, never filed again) does not fit. Within a
|
|
38
|
+
* family: while an attempt is OPEN nothing is filed; once every earlier attempt is
|
|
39
|
+
* closed and the same judgement stands again, the next attempt is filed, numbered.
|
|
40
|
+
* The open one is always the newest, and the count of closed attempts says how
|
|
41
|
+
* often the gap came back unanswered. "Open" is the one owed-work definition
|
|
42
|
+
* (delivery/recorded-concerns.ts splitOpenWork), so a Bug the filing calls open is
|
|
43
|
+
* a Bug the spawn and advance paths call owed.
|
|
44
|
+
*
|
|
45
|
+
* Its title prefix is its own (types/issue-status.ts SHORTFALL_REWORK_TITLE_PREFIX):
|
|
46
|
+
* the gate prefix is keyed on by readers that would take a shortfall Bug for the
|
|
47
|
+
* rework of a red at the same commit. It is never a recorded review concern.
|
|
48
|
+
*
|
|
49
|
+
* The description is built under ISSUE_DESCRIPTION_BUDGET
|
|
50
|
+
* (types/issue-description-budget.ts): the instructions are fixed text written
|
|
51
|
+
* first and never cut, and the gaps are filled into what is left -- every one
|
|
52
|
+
* shown, shown with clipped fields, or counted.
|
|
53
|
+
*
|
|
54
|
+
* Best-effort: a read or create failure is logged and files nothing -- it must
|
|
55
|
+
* never block the route it rides with. The filing is then OWED, and the poll pass
|
|
56
|
+
* retries it and holds the delivery until an owner exists
|
|
57
|
+
* (verify/shortfalls/shortfall-rework-hold.ts).
|
|
58
|
+
*
|
|
59
|
+
* History: docs/daemon/history-verify.md (verify/outcome-routing/shortfall-rework-issue.ts).
|
|
60
|
+
*
|
|
61
|
+
* @module verify/outcome-routing/shortfall-rework-issue
|
|
62
|
+
*/
|
|
63
|
+
import { createHash } from 'node:crypto';
|
|
64
|
+
import { parseShortfallRepeat, readShortfallPark, readVerificationHistory, } from '../../queries/delivery-gate-state/delivery-gate-state.js';
|
|
65
|
+
import { CONTEXT_GROUP_TYPE, SHORTFALL_REWORK_TITLE_PREFIX } from '../../types/issue-status.js';
|
|
66
|
+
import { NO_RECORDED_CONCERNS, splitOpenWork } from '../../delivery/recorded-concerns.js';
|
|
67
|
+
import { ISSUE_DESCRIPTION_BUDGET, ISSUE_DESCRIPTION_FIELD_CAP, linesCost, } from '../../types/issue-description-budget.js';
|
|
68
|
+
import { buildGateVerdictLines, gateVerdictFromGateState, HELD_BY_SHORTFALL } from '../../prompt-sections/gate-verdict-section.js';
|
|
69
|
+
import { shortfallReconciliationFromGateState } from '../../prompt-sections/prompt-listing.js';
|
|
70
|
+
import { shortfallGapLines, unjudgedGapNote } from '../../prompt-sections/shortfall-gap-lines.js';
|
|
71
|
+
import { normalizeShortfallSignature, shortfallDetailSignature } from '../shortfalls/shortfall-repeat.js';
|
|
72
|
+
import { createLogger } from '../../log/daemon-log.js';
|
|
73
|
+
const log = createLogger({ module: 'verification' });
|
|
74
|
+
/**
|
|
75
|
+
* The shortfall re-work a delivery's gate_state carries LIVE, or null. Null for a
|
|
76
|
+
* PARK (the unclearable-claim hold, or a standing park record: verify's own
|
|
77
|
+
* terminal state, released by a ruling, never re-worked), for a gate with no
|
|
78
|
+
* shortfall detail, and for one whose only shortfall trace is the repeat a later
|
|
79
|
+
* rejection carries under its history -- that delivery is another gate's.
|
|
80
|
+
* Defensive over the loosely typed JSONB. Pure.
|
|
81
|
+
*/
|
|
82
|
+
export function readLiveShortfallRework(gateState) {
|
|
83
|
+
const shortfalls = shortfallReconciliationFromGateState(gateState);
|
|
84
|
+
if (shortfalls === null || readShortfallPark(gateState) !== null)
|
|
85
|
+
return null;
|
|
86
|
+
const detail = gateState.shortfallReconciliation;
|
|
87
|
+
if (detail.unclearableClaim === true)
|
|
88
|
+
return null;
|
|
89
|
+
const repeat = parseShortfallRepeat(detail.repeat);
|
|
90
|
+
return {
|
|
91
|
+
sha: readVerificationHistory(gateState).judgedCommit?.sha ?? null,
|
|
92
|
+
shortfalls,
|
|
93
|
+
gateVerdict: gateVerdictFromGateState(gateState, ['shortfallReconciliation']),
|
|
94
|
+
commitSet: repeat?.commitSet ?? null,
|
|
95
|
+
rulingsFingerprint: repeat?.rulingsFingerprint,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/** A short, stable digest of the judgement's shortfall signature (its nodes and declared claims). Pure. */
|
|
99
|
+
function gapDigest(shortfalls) {
|
|
100
|
+
const signature = normalizeShortfallSignature(shortfallDetailSignature(shortfalls));
|
|
101
|
+
return createHash('sha256').update(signature).digest('hex').slice(0, 8);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* The title prefix every Bug filed for this judgement shares -- its FAMILY (module
|
|
105
|
+
* header): the judged commit and the gap's digest. Pure.
|
|
106
|
+
*/
|
|
107
|
+
export function shortfallReworkFamily(judgment) {
|
|
108
|
+
const at = judgment.sha ? judgment.sha.slice(0, 12) : 'an unrecorded commit';
|
|
109
|
+
return `${SHORTFALL_REWORK_TITLE_PREFIX} ${at} [gap ${gapDigest(judgment.shortfalls)}]:`;
|
|
110
|
+
}
|
|
111
|
+
/** The title of a family's first Bug; a later attempt appends its number. Pure. */
|
|
112
|
+
export function shortfallReworkTitle(judgment) {
|
|
113
|
+
const nodes = new Set(judgment.shortfalls.map((s) => s.nodeId)).size;
|
|
114
|
+
return `${shortfallReworkFamily(judgment)} close the declared-vs-achieved gap on ${nodes} node(s)`;
|
|
115
|
+
}
|
|
116
|
+
/** The Bugs a delivery's issues hold for this judgement, and which of them are open. Pure. */
|
|
117
|
+
export function shortfallReworkFamilyState(issues, judgment) {
|
|
118
|
+
const family = shortfallReworkFamily(judgment);
|
|
119
|
+
const filed = issues.filter((i) => i.issueType !== CONTEXT_GROUP_TYPE && i.title.startsWith(family));
|
|
120
|
+
// A shortfall Bug is never a recorded concern, so open IS owed.
|
|
121
|
+
const open = splitOpenWork(filed.map((issue) => ({ id: issue.id ?? '', status: issue.status, issue })), NO_RECORDED_CONCERNS)
|
|
122
|
+
.open.map((entry) => entry.issue);
|
|
123
|
+
return { filed, open };
|
|
124
|
+
}
|
|
125
|
+
/** The least room one of a gap's texts is clipped into; below it the gap is counted, not shown. */
|
|
126
|
+
const MIN_GAP_FIELD = 80;
|
|
127
|
+
/** One gap as the description lists it (a node with no judgment says so), each text clipped to `cap`. Pure. */
|
|
128
|
+
function gapLines(gap, cap) {
|
|
129
|
+
return shortfallGapLines(gap, '', cap);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* The gaps rendered into `budget` characters: every gap at the widest field cap
|
|
133
|
+
* that fits, and -- only when even the narrowest readable cap overruns -- as many
|
|
134
|
+
* as fit, with the rest counted and pointed at the delivery's gate_state. Pure.
|
|
135
|
+
*/
|
|
136
|
+
function budgetedGapLines(gaps, budget) {
|
|
137
|
+
const more = (n) => `- ... and ${n} more node(s) -- read them on the delivery's gate_state (shortfallReconciliation)`;
|
|
138
|
+
for (let shown = gaps.length; shown > 0; shown--) {
|
|
139
|
+
const omitted = gaps.length - shown;
|
|
140
|
+
for (const cap of [ISSUE_DESCRIPTION_FIELD_CAP, ISSUE_DESCRIPTION_FIELD_CAP / 2, MIN_GAP_FIELD]) {
|
|
141
|
+
const lines = [...gaps.slice(0, shown).flatMap((g) => gapLines(g, cap)), ...(omitted > 0 ? [more(omitted)] : [])];
|
|
142
|
+
if (linesCost(lines) <= budget)
|
|
143
|
+
return { lines, omitted };
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return { lines: [more(gaps.length)], omitted: gaps.length };
|
|
147
|
+
}
|
|
148
|
+
/** `lines` followed by a blank line, or nothing when there are none. Pure. */
|
|
149
|
+
function withBlankAfter(lines) {
|
|
150
|
+
return lines.length > 0 ? [...lines, ''] : [];
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* The Bug's description, within ISSUE_DESCRIPTION_BUDGET whatever the gaps hold
|
|
154
|
+
* (module header). The instructions come first and are never cut: what the hold
|
|
155
|
+
* is, what closes it, what a team that disputes the judgement does, and -- when
|
|
156
|
+
* some node carries no judgment -- that it is not a gap in the diff. Pure.
|
|
157
|
+
*/
|
|
158
|
+
export function shortfallReworkDescription(deliveryId, judgment) {
|
|
159
|
+
const verdict = buildGateVerdictLines(judgment.gateVerdict, { heldBy: HELD_BY_SHORTFALL });
|
|
160
|
+
const head = [
|
|
161
|
+
`Verify held this delivery on a declared-vs-achieved gap${judgment.sha ? ` at commit ${judgment.sha}` : ''}: the diff does not ` +
|
|
162
|
+
'deliver what the reality tree declares for the node(s) below. This is NOT a failing check -- the gap, not a test, holds ' +
|
|
163
|
+
'the delivery -- and no open issue carried it, so the daemon filed this one.',
|
|
164
|
+
'',
|
|
165
|
+
...(verdict.length > 0 ? [...verdict, ''] : []),
|
|
166
|
+
`TO CLOSE IT: close the gap in the diff, commit with the trailer \`Telora-Delivery: ${deliveryId}\`, and move this issue to ` +
|
|
167
|
+
'Done. The daemon re-judges the delivery on the new commit -- do not replay the gate by hand.',
|
|
168
|
+
'',
|
|
169
|
+
'IF YOU BELIEVE THE JUDGEMENT IS WRONG: a coding session cannot rule a node met. Move this issue to Done stating why. ' +
|
|
170
|
+
'Verify then judges the unchanged commits again, and a shortfall that repeats on an unchanged commit set parks the ' +
|
|
171
|
+
'delivery and asks an operator to rule its nodes.',
|
|
172
|
+
'',
|
|
173
|
+
// A node the judge rendered no judgment for is not a gap in the team's diff: say so before the list.
|
|
174
|
+
...withBlankAfter(unjudgedGapNote(judgment.shortfalls, '', 'this issue')),
|
|
175
|
+
];
|
|
176
|
+
const count = (omitted) => `Declared-vs-achieved gap(s): ${judgment.shortfalls.length} total, ${omitted} omitted from this list:`;
|
|
177
|
+
const gaps = budgetedGapLines(judgment.shortfalls, ISSUE_DESCRIPTION_BUDGET - linesCost(head) - count(judgment.shortfalls.length).length - 1);
|
|
178
|
+
return [...head, count(gaps.omitted), ...gaps.lines].join('\n');
|
|
179
|
+
}
|
|
180
|
+
/** The title of the Bug that carries the gap after a filing, or null when none does. Pure. */
|
|
181
|
+
export function shortfallReworkIssueTitleOf(outcome) {
|
|
182
|
+
return outcome.filed || outcome.reason === 'already_open' ? outcome.title : null;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* File the judgement's Bug on `deliveryId` unless an attempt of its family is
|
|
186
|
+
* open (module header): the family's first Bug, or -- every earlier attempt
|
|
187
|
+
* closed -- the next numbered one. Never throws.
|
|
188
|
+
*/
|
|
189
|
+
export async function fileShortfallReworkIssue(deliveryId, judgment, deps) {
|
|
190
|
+
let issues;
|
|
191
|
+
try {
|
|
192
|
+
issues = await deps.getDeliveryIssues(deliveryId);
|
|
193
|
+
}
|
|
194
|
+
catch (err) {
|
|
195
|
+
log.warn(`[verification] shortfall rework issue: issues read failed for delivery ${deliveryId} (the filing is owed; retried):`, err.message);
|
|
196
|
+
return { filed: false, reason: 'read_failed' };
|
|
197
|
+
}
|
|
198
|
+
const family = shortfallReworkFamilyState(issues, judgment);
|
|
199
|
+
const open = family.open[0];
|
|
200
|
+
if (open)
|
|
201
|
+
return { filed: false, reason: 'already_open', title: open.title };
|
|
202
|
+
const attempt = family.filed.length + 1;
|
|
203
|
+
const base = shortfallReworkTitle(judgment);
|
|
204
|
+
const title = attempt === 1 ? base : `${base} (attempt ${attempt})`;
|
|
205
|
+
try {
|
|
206
|
+
const issueId = await deps.createIssue(deliveryId, title, shortfallReworkDescription(deliveryId, judgment), 'Bug', 'P0');
|
|
207
|
+
log.info(`[verification] filed shortfall rework Bug "${title}" on delivery ${deliveryId} (issue ${issueId})`);
|
|
208
|
+
return { filed: true, issueId, title, attempt };
|
|
209
|
+
}
|
|
210
|
+
catch (err) {
|
|
211
|
+
log.warn(`[verification] shortfall rework issue: create failed for delivery ${deliveryId} (the filing is owed; retried):`, err.message);
|
|
212
|
+
return { filed: false, reason: 'create_failed' };
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Whether a delivery carries a live shortfall re-work for which NO Bug was ever
|
|
217
|
+
* filed -- the filing failed, so the gap has no owner and no team was handed it.
|
|
218
|
+
* A family that holds a Bug, open or closed, is owned: a team was given the gap,
|
|
219
|
+
* and what it did with it is verify's to judge. Pure.
|
|
220
|
+
*/
|
|
221
|
+
export function shortfallReworkUnowned(gateState, issues) {
|
|
222
|
+
const rework = readLiveShortfallRework(gateState);
|
|
223
|
+
return rework !== null && shortfallReworkFamilyState(issues, rework).filed.length === 0;
|
|
224
|
+
}
|
|
225
|
+
/** deliveryId -> the judgement whose unowned hold was last logged (one line each, not one per exit). */
|
|
226
|
+
const unownedLogged = new Map();
|
|
227
|
+
/**
|
|
228
|
+
* The team-path half of the owner rule: a delivery whose shortfall has no Bug yet
|
|
229
|
+
* (shortfallReworkUnowned) is not returned to verify by a team's exit or a lead's
|
|
230
|
+
* turn end -- the poll pass files the owed Bug first
|
|
231
|
+
* (verify/shortfalls/shortfall-rework-hold.ts). Once a Bug of the judgement
|
|
232
|
+
* exists, open or closed, the team paths return the delivery as before: that is
|
|
233
|
+
* what lets a shortfall no re-work can move repeat up to its park. Logs once per
|
|
234
|
+
* judgement.
|
|
235
|
+
*/
|
|
236
|
+
export function holdsUnownedShortfallRework(delivery, issues) {
|
|
237
|
+
const rework = readLiveShortfallRework(delivery.gateState);
|
|
238
|
+
if (rework === null || shortfallReworkFamilyState(issues, rework).filed.length > 0) {
|
|
239
|
+
unownedLogged.delete(delivery.id);
|
|
240
|
+
return false;
|
|
241
|
+
}
|
|
242
|
+
const family = shortfallReworkFamily(rework);
|
|
243
|
+
if (unownedLogged.get(delivery.id) !== family) {
|
|
244
|
+
unownedLogged.set(delivery.id, family);
|
|
245
|
+
log.info(`[verification] delivery "${delivery.name}" (${delivery.id}) is not returned to verify: its verify shortfall has no rework Bug yet `
|
|
246
|
+
+ '(the filing is owed), so no team was handed the gap');
|
|
247
|
+
}
|
|
248
|
+
return true;
|
|
249
|
+
}
|
|
250
|
+
//# sourceMappingURL=shortfall-rework-issue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shortfall-rework-issue.js","sourceRoot":"","sources":["../../../src/verify/outcome-routing/shortfall-rework-issue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-evidence-unavailable-feedback.d.ts","sourceRoot":"","sources":["../../../src/verify/outcome-routing/verification-evidence-unavailable-feedback.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verification-evidence-unavailable-feedback.d.ts","sourceRoot":"","sources":["../../../src/verify/outcome-routing/verification-evidence-unavailable-feedback.ts"],"names":[],"mappings":"AAgCA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAE/B,MAAM,0DAA0D,CAAC;AAElE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAItF,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAA4C,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAExG,OAAO,EAA+B,KAAK,eAAe,EAAE,MAAM,gCAAgC,CAAC;AASnG,4GAA4G;AAC5G,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,yBAAyB,GAAG,iBAAiB,CAOtG;AAED,sGAAsG;AACtG,wBAAgB,qCAAqC,CACnD,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,yBAAyB,GAChC,MAAM,CA8DR;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,kCAAkC,CACtD,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC,EACzH,KAAK,EAAE,IAAI,CAAC,yBAAyB,EAAE,QAAQ,CAAC,EAChD,cAAc,EAAE,MAAM,EACtB,CAAC,EAAE,oBAAoB,GAAG,eAAe,EACzC,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,yBAAyB,CAAA;CAAE,CAAC,CAsE1F"}
|
|
@@ -1,9 +1,12 @@
|
|
|
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/git/merge-sha-observation-fault.test.ts,
|
|
3
|
+
// packages/daemon/src/integration/last-shortfall-judgment-round-trip.test.ts,
|
|
4
|
+
// packages/daemon/src/integration/shortfall-rework-owner-regression.test.ts,
|
|
3
5
|
// packages/daemon/src/integration/verification-history-round-trip.test.ts,
|
|
4
6
|
// packages/daemon/src/verify/attribution/misattributed-hold.test.ts,
|
|
5
7
|
// packages/daemon/src/verify/outcome-routing/verify-evidence-unavailable.test.ts,
|
|
6
|
-
// packages/daemon/src/verify/run-selection/verification-default-on.test.ts
|
|
8
|
+
// packages/daemon/src/verify/run-selection/verification-default-on.test.ts,
|
|
9
|
+
// packages/daemon/src/verify/shortfalls/shortfall-rework-hold.test.ts
|
|
7
10
|
// PINNED-BY-END
|
|
8
11
|
/**
|
|
9
12
|
* Evidence-unavailable instrument-fault feedback: bounded re-work re-entry.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-evidence-unavailable-feedback.js","sourceRoot":"","sources":["../../../src/verify/outcome-routing/verification-evidence-unavailable-feedback.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0EAA0E;AAC1E,6EAA6E;AAC7E,uEAAuE;AACvE,oFAAoF;AACpF,
|
|
1
|
+
{"version":3,"file":"verification-evidence-unavailable-feedback.js","sourceRoot":"","sources":["../../../src/verify/outcome-routing/verification-evidence-unavailable-feedback.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0EAA0E;AAC1E,gFAAgF;AAChF,+EAA+E;AAC/E,6EAA6E;AAC7E,uEAAuE;AACvE,oFAAoF;AACpF,8EAA8E;AAC9E,wEAAwE;AACxE,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAGL,wBAAwB,GACzB,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uDAAuD,CAAC;AAEnG,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AACpG,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AACnH,OAAO,EACL,4BAA4B,GAE7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAA0B,MAAM,sBAAsB,CAAC;AACxG,OAAO,EAAE,8BAA8B,EAAE,MAAM,wDAAwD,CAAC;AACxG,OAAO,EAAE,2BAA2B,EAAwB,MAAM,gCAAgC,CAAC;AAEnG,wEAAwE;AACxE,SAAS,WAAW,CAAC,KAAe;IAClC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;AAErD,4GAA4G;AAC5G,MAAM,UAAU,iCAAiC,CAAC,MAAiC;IACjF,OAAO;QACL,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACpE,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,mBAAmB,EAAE,MAAM;KAC5B,CAAC;AACJ,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,qCAAqC,CACnD,YAAoB,EACpB,MAAiC;IAEjC,8EAA8E;IAC9E,4EAA4E;IAC5E,mEAAmE;IACnE,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,WAAW,GAAG,wBAAwB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACxE,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW;QACxC,CAAC,CAAC,uBAAuB,MAAM,CAAC,WAAW,CAAC,KAAK,sBAAsB,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG;YACjG,6CAA6C,MAAM,CAAC,WAAW,CAAC,UAAU,kBAAkB;YAC5F,gGAAgG;YAChG,kFAAkF;YAClF,6FAA6F;QAC/F,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ;QAClC,CAAC,CAAC,kCAAkC,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,UAAU;YAC/F,0FAA0F;QAC5F,CAAC,CAAC,IAAI,CAAC;IACT,8EAA8E;IAC9E,0EAA0E;IAC1E,8EAA8E;IAC9E,UAAU;IACV,MAAM,gBAAgB,GAAG,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;QACtF,CAAC,CAAC,CAAC,EAAE,EAAE,gDAAgD;YACpD,GAAG,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC,CAAC;IACxG,OAAO;QACL,sCAAsC,YAAY,+CAA+C;YACjG,0FAA0F;QAC1F,EAAE;QACF,wFAAwF;YACxF,mGAAmG;YACnG,gGAAgG;YAChG,oCAAoC;QACpC,EAAE;QACF,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,qBAAqB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,6BAA6B,EAAE;QACjF,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,gBAAgB;QACnB,GAAG,WAAW,CAAC,8BAA8B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACpE,gFAAgF;QAChF,iFAAiF;QACjF,mFAAmF;QACnF,GAAG,CAAC,MAAM,CAAC,WAAW;YACpB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,MAAM,CAAC,YAAY,GAAG,CAAC;oBACrB,CAAC,CAAC,iBAAiB,MAAM,CAAC,YAAY,mFAAmF;oBACzH,CAAC,CAAC,0GAA0G;aAC/G,CAAC;QACN,EAAE;QACF,2FAA2F;YAC3F,+FAA+F;YAC/F,2FAA2F;YAC3F,gGAAgG;YAChG,+FAA+F;YAC/F,0FAA0F;KAC3F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,CAAyH,EACzH,KAAgD,EAChD,cAAsB,EACtB,CAAyC,EACzC,OAA0B,EAAE;IAE5B,8EAA8E;IAC9E,gFAAgF;IAChF,8EAA8E;IAC9E,qCAAqC;IACrC,MAAM,WAAW,GAAG,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,MAAM,GAA8B,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACjH,wEAAwE;IACxE,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,cAAc,GAAG,MAAM,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,mBAAmB,CACnC,wBAAwB,CAAC,cAAc,EAAE,iCAAiC,CAAC,MAAM,CAAC,CAAC,EACnF,IAAI,EACJ,MAAM,CAAC,MAAM,CACd,CAAC;IAEF,kFAAkF;IAClF,0GAA0G;IAC1G,sFAAsF;IACtF,IAAI,KAAK,CAAC,kBAAkB,EAAE,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC1D,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC;QAC9C,MAAM,2BAA2B,CAAC,CAAC,CAAC,UAAU,EAAE;YAC9C,GAAG,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI;YACtE,YAAY,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE;SAClE,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC,sBAAsB,CAAC;QACxC,KAAK,EAAE;YACL,aAAa,EAAE,eAAe,CAAC,MAAM;YACrC,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE;YACrC,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE;gBACX,OAAO,EAAE,YAAY;gBACrB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,KAAK;gBACnB,WAAW,EAAE,QAAQ;gBACrB,SAAS,EAAE,KAAK;aACjB;SACF;KACF,CAAC,CAAC;IAEH,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE;YACnE,cAAc;YACd,UAAU,EAAE,eAAe,CAAC,MAAM;SACnC,CAAC,CAAC;QACH,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC,UAAU,GAAG,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;IACtH,CAAC;IAED,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC/C,yEAAyE;QACzE,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACH,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC7F,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,OAAO,GAAG,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;YAC1G,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC5C,CAAC"}
|
|
@@ -13,7 +13,12 @@
|
|
|
13
13
|
* 2. injects the failure context into the live team session when one is
|
|
14
14
|
* running (reusing the same leadStdin channel the directive inject uses),
|
|
15
15
|
* 3. leaves the failure in gate_state so the requeue/respawn prompt can carry
|
|
16
|
-
* it when no team is live (rendered by the wake/resume prompt builders)
|
|
16
|
+
* it when no team is live (rendered by the wake/resume prompt builders),
|
|
17
|
+
* 4. files the failure as OPEN WORK before the route -- a gate red its rework
|
|
18
|
+
* Bug (verification-rework-issue.ts), a shortfall its own
|
|
19
|
+
* (shortfall-rework-issue.ts) -- because gate_state is not work: with every
|
|
20
|
+
* issue Done nothing would spawn a coding pass or keep the delivery from
|
|
21
|
+
* walking back to verify unseen.
|
|
17
22
|
*
|
|
18
23
|
* The deterministic-failure, shortfall, and instrument-fault re-queues all cross
|
|
19
24
|
* verify -> verify_failed through the same resolveReconciledWrite choke point
|
|
@@ -30,6 +35,7 @@ import type { resolveReconciledWrite } from '../../delivery/delivery-reconciler-
|
|
|
30
35
|
import type { getActiveTeams } from '../../daemon-state/focus-team-state.js';
|
|
31
36
|
import type { FileEscalationIdempotentParams, FileEscalationIdempotentResult } from '../../supervision/escalation-suppression.js';
|
|
32
37
|
import { type ReworkIssueDeps } from './verification-rework-issue.js';
|
|
38
|
+
import { type ShortfallReworkIssueDeps, type ShortfallReworkIssueOutcome } from './shortfall-rework-issue.js';
|
|
33
39
|
import type { StrategyResult } from '../deterministic-gate/verification-deterministic.js';
|
|
34
40
|
import { type FailureSignatureDeps } from './failure-signature.js';
|
|
35
41
|
import type { ShortfallRepeat } from '../shortfalls/shortfall-repeat.js';
|
|
@@ -123,6 +129,12 @@ export declare function deliverVerificationFailureFeedback(v: Pick<PendingVerifi
|
|
|
123
129
|
injected: boolean;
|
|
124
130
|
detail: VerificationFailureDetail;
|
|
125
131
|
}>;
|
|
132
|
+
/**
|
|
133
|
+
* The gate_state entries for a judgment's shortfalls: each node's declared /
|
|
134
|
+
* achieved / reason, the diff citation when cited, and `unjudged` when the node
|
|
135
|
+
* was not judged. The one mapping every shortfall writer uses. Pure.
|
|
136
|
+
*/
|
|
137
|
+
export declare function shortfallDetailEntries(shortfalls: readonly TargetShortfall[]): ShortfallReconciliationDetail['shortfalls'];
|
|
126
138
|
/** Build the gate_state for a verify-shortfall reconciliation hold. Pure -- exported for testing. */
|
|
127
139
|
export declare function buildShortfallGateState(detail: ShortfallReconciliationDetail): DeliveryGateState;
|
|
128
140
|
/**
|
|
@@ -162,6 +174,8 @@ export interface ShortfallRequeueDeps extends VerificationFeedbackDeps {
|
|
|
162
174
|
*/
|
|
163
175
|
readGateVerdict: (target: JudgedCommitTarget) => GateVerdictSummary | null;
|
|
164
176
|
}
|
|
177
|
+
/** The shortfall re-work re-entry's deps: the shared re-entry machinery plus the filing of the gap as a Bug. */
|
|
178
|
+
export type ShortfallReworkDeps = ShortfallRequeueDeps & ShortfallReworkIssueDeps;
|
|
165
179
|
/**
|
|
166
180
|
* Read the prior gate_state; null (logged) when the read fails. A read we could
|
|
167
181
|
* not perform must not crash the tick or mislabel a repeat. It degrades to "no
|
|
@@ -190,17 +204,29 @@ export declare function readPriorGateStateBestEffort(d: Pick<ShortfallRequeueDep
|
|
|
190
204
|
* blocking open work; that is why it reached verify).
|
|
191
205
|
*
|
|
192
206
|
* The declared/achieved/reason detail rides in gate_state (shortfall guard) so
|
|
193
|
-
* the re-queued team's resume
|
|
194
|
-
* coding team is still live we also inject it immediately (best-effort fast
|
|
195
|
-
* path).
|
|
207
|
+
* the re-queued team's spawn, resume and wake prompts carry the specific gap; when
|
|
208
|
+
* a coding team is still live we also inject it immediately (best-effort fast
|
|
209
|
+
* path).
|
|
210
|
+
*
|
|
211
|
+
* THE GAP IS FILED AS A BUG BEFORE THE ROUTE (shortfall-rework-issue.ts), on the
|
|
212
|
+
* judged delivery, whether or not a team is live: gate_state is not work, and a
|
|
213
|
+
* delivery whose issues are all Done would otherwise re-enter with nothing a
|
|
214
|
+
* coding pass owns -- no team spawned for it, and the gap unseen. The reconciler
|
|
215
|
+
* input below still says `issues: []`: the decision is verify's (gaps_found), and
|
|
216
|
+
* the Bug is what the re-work finds once it lands.
|
|
217
|
+
*
|
|
218
|
+
* Best-effort throughout -- a feedback failure must never crash the tick. A
|
|
219
|
+
* filing that fails is owed and retried by the poll pass, which holds the
|
|
220
|
+
* delivery until it lands (verify/shortfalls/shortfall-rework-hold.ts).
|
|
196
221
|
*/
|
|
197
|
-
export declare function requeueShortfallAsRework(v: Pick<PendingVerification, 'deliveryId' | 'deliveryName' | 'focusId'> & Partial<Pick<PendingVerification, 'productId'>>, shortfalls: readonly TargetShortfall[], organizationId: string, d:
|
|
222
|
+
export declare function requeueShortfallAsRework(v: Pick<PendingVerification, 'deliveryId' | 'deliveryName' | 'focusId'> & Partial<Pick<PendingVerification, 'productId'>>, shortfalls: readonly TargetShortfall[], organizationId: string, d: ShortfallReworkDeps, opts?: ReworkRunJudgment & MisattributedOpt & {
|
|
198
223
|
repeat?: ShortfallRepeat;
|
|
199
224
|
priorGateState?: DeliveryGateState | null;
|
|
200
225
|
}): Promise<{
|
|
201
226
|
transitioned: boolean;
|
|
202
227
|
injected: boolean;
|
|
203
228
|
detail: ShortfallReconciliationDetail;
|
|
229
|
+
filing: ShortfallReworkIssueOutcome;
|
|
204
230
|
}>;
|
|
205
231
|
/** Injected IO for the unclearable-shortfall escalation path. */
|
|
206
232
|
export interface UnclearableShortfallDeps extends VerificationFeedbackDeps {
|
|
@@ -236,8 +262,13 @@ export declare function escalateUnclearableShortfall(v: Pick<PendingVerification
|
|
|
236
262
|
injected: boolean;
|
|
237
263
|
detail: ShortfallReconciliationDetail;
|
|
238
264
|
}>;
|
|
239
|
-
/**
|
|
240
|
-
|
|
265
|
+
/**
|
|
266
|
+
* Injected IO for shortfall routing; unions the re-work + escalation deps (the
|
|
267
|
+
* prior-state read comes with the re-work deps) and the filing of a re-worked gap
|
|
268
|
+
* as a Bug. The PARK branch files nothing: a park is released by a ruling, not
|
|
269
|
+
* worked by a team.
|
|
270
|
+
*/
|
|
271
|
+
export interface ShortfallRouteDeps extends ShortfallRequeueDeps, UnclearableShortfallDeps, ShortfallReworkIssueDeps {
|
|
241
272
|
/** Override the park limit for tests; defaults to SHORTFALL_PARK_REPEAT_LIMIT. */
|
|
242
273
|
threshold?: number;
|
|
243
274
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-feedback.d.ts","sourceRoot":"","sources":["../../../src/verify/outcome-routing/verification-feedback.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verification-feedback.d.ts","sourceRoot":"","sources":["../../../src/verify/outcome-routing/verification-feedback.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,5 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by: packages/daemon/src/
|
|
3
|
-
// packages/daemon/src/integration/explicit-verdict-reuse.test.ts,
|
|
4
|
-
// packages/daemon/src/integration/focus-commit-verdict-scenario.test.ts,
|
|
5
|
-
// packages/daemon/src/integration/review-verdict-ruling-release.test.ts,
|
|
6
|
-
// packages/daemon/src/integration/shortfall-park-incident-regression.test.ts,
|
|
7
|
-
// packages/daemon/src/integration/shortfall-ruling-disposes-proposals-regression.test.ts,
|
|
8
|
-
// packages/daemon/src/integration/shortfall-ruling-release.test.ts,
|
|
9
|
-
// packages/daemon/src/integration/verification-history-round-trip.test.ts,
|
|
10
|
-
// packages/daemon/src/integration/verification-rework-resume-verdict.test.ts,
|
|
11
|
-
// packages/daemon/src/integration/verify-failure-rework-route.test.ts,
|
|
12
|
-
// packages/daemon/src/supervision/stall-detectors.test.ts,
|
|
13
|
-
// packages/daemon/src/verify/attribution/misattributed-hold.test.ts,
|
|
14
|
-
// packages/daemon/src/verify/engine/verification-commit-sharing.test.ts,
|
|
15
|
-
// packages/daemon/src/verify/outcome-routing/verification-feedback.test.ts,
|
|
16
|
-
// packages/daemon/src/verify/outcome-routing/verify-evidence-unavailable.test.ts,
|
|
17
|
-
// packages/daemon/src/verify/run-selection/verification-default-on.test.ts,
|
|
18
|
-
// packages/daemon/src/verify/shortfalls/parked-shortfall-reuse.test.ts,
|
|
19
|
-
// packages/daemon/src/verify/shortfalls/shortfall-park-escalation.test.ts,
|
|
20
|
-
// packages/daemon/src/verify/shortfalls/shortfall-routing.test.ts
|
|
2
|
+
// Pinned by: 26 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/verify/outcome-routing/verification-feedback.ts
|
|
21
3
|
// PINNED-BY-END
|
|
22
4
|
/**
|
|
23
5
|
* Verification-failure feedback loop.
|
|
@@ -34,7 +16,12 @@
|
|
|
34
16
|
* 2. injects the failure context into the live team session when one is
|
|
35
17
|
* running (reusing the same leadStdin channel the directive inject uses),
|
|
36
18
|
* 3. leaves the failure in gate_state so the requeue/respawn prompt can carry
|
|
37
|
-
* it when no team is live (rendered by the wake/resume prompt builders)
|
|
19
|
+
* it when no team is live (rendered by the wake/resume prompt builders),
|
|
20
|
+
* 4. files the failure as OPEN WORK before the route -- a gate red its rework
|
|
21
|
+
* Bug (verification-rework-issue.ts), a shortfall its own
|
|
22
|
+
* (shortfall-rework-issue.ts) -- because gate_state is not work: with every
|
|
23
|
+
* issue Done nothing would spawn a coding pass or keep the delivery from
|
|
24
|
+
* walking back to verify unseen.
|
|
38
25
|
*
|
|
39
26
|
* The deterministic-failure, shortfall, and instrument-fault re-queues all cross
|
|
40
27
|
* verify -> verify_failed through the same resolveReconciledWrite choke point
|
|
@@ -51,6 +38,7 @@ import { carryVerificationHistory, judgedFailedSha, } from '../../queries/delive
|
|
|
51
38
|
import { DETERMINISTIC_VERIFICATION_GUARD, SHORTFALL_RECONCILIATION_GUARD, UNCLEARABLE_SHORTFALL_GUARD, } from '../../queries/delivery-gate-state/verify-own-holds.js';
|
|
52
39
|
import { describeParseFailure, parseFailingTests } from '../deterministic-gate/verification-failure-parser.js';
|
|
53
40
|
import { fileVerificationReworkIssue } from './verification-rework-issue.js';
|
|
41
|
+
import { fileShortfallReworkIssue, shortfallReworkIssueTitleOf, } from './shortfall-rework-issue.js';
|
|
54
42
|
import { failedRunVerdictPath } from '../gate-verdicts/commit-verdict-record.js';
|
|
55
43
|
import { computeFailureSignatureRecord, } from './failure-signature.js';
|
|
56
44
|
import { classifyShortfallPark, commitSetFingerprint, withShortfallPark } from '../shortfalls/shortfall-park.js';
|
|
@@ -210,6 +198,21 @@ export async function deliverVerificationFailureFeedback(v, result, organization
|
|
|
210
198
|
// ---------------------------------------------------------------------------
|
|
211
199
|
// Shortfall-reconciliation gate hold (distinct origin from a deterministic run)
|
|
212
200
|
// ---------------------------------------------------------------------------
|
|
201
|
+
/**
|
|
202
|
+
* The gate_state entries for a judgment's shortfalls: each node's declared /
|
|
203
|
+
* achieved / reason, the diff citation when cited, and `unjudged` when the node
|
|
204
|
+
* was not judged. The one mapping every shortfall writer uses. Pure.
|
|
205
|
+
*/
|
|
206
|
+
export function shortfallDetailEntries(shortfalls) {
|
|
207
|
+
return shortfalls.map((s) => ({
|
|
208
|
+
nodeId: s.nodeId,
|
|
209
|
+
declared: s.declaredStatement,
|
|
210
|
+
achieved: s.achievedStatement,
|
|
211
|
+
reason: s.reason,
|
|
212
|
+
...(s.diffCitation ? { diffCitation: s.diffCitation } : {}),
|
|
213
|
+
...(s.unjudged ? { unjudged: s.unjudged } : {}),
|
|
214
|
+
}));
|
|
215
|
+
}
|
|
213
216
|
/** Build the gate_state for a verify-shortfall reconciliation hold. Pure -- exported for testing. */
|
|
214
217
|
export function buildShortfallGateState(detail) {
|
|
215
218
|
return {
|
|
@@ -229,13 +232,7 @@ export function buildShortfallGateState(detail) {
|
|
|
229
232
|
export async function deliverShortfallFailureFeedback(v, shortfalls, organizationId, d) {
|
|
230
233
|
const detail = {
|
|
231
234
|
heldAt: d.now(),
|
|
232
|
-
shortfalls: shortfalls
|
|
233
|
-
nodeId: s.nodeId,
|
|
234
|
-
declared: s.declaredStatement,
|
|
235
|
-
achieved: s.achievedStatement,
|
|
236
|
-
reason: s.reason,
|
|
237
|
-
...(s.diffCitation ? { diffCitation: s.diffCitation } : {}),
|
|
238
|
-
})),
|
|
235
|
+
shortfalls: shortfallDetailEntries(shortfalls),
|
|
239
236
|
};
|
|
240
237
|
const gateState = buildShortfallGateState(detail);
|
|
241
238
|
let gateWritten = false;
|
|
@@ -298,9 +295,20 @@ export async function readPriorGateStateBestEffort(d, deliveryId) {
|
|
|
298
295
|
* blocking open work; that is why it reached verify).
|
|
299
296
|
*
|
|
300
297
|
* The declared/achieved/reason detail rides in gate_state (shortfall guard) so
|
|
301
|
-
* the re-queued team's resume
|
|
302
|
-
* coding team is still live we also inject it immediately (best-effort fast
|
|
303
|
-
* path).
|
|
298
|
+
* the re-queued team's spawn, resume and wake prompts carry the specific gap; when
|
|
299
|
+
* a coding team is still live we also inject it immediately (best-effort fast
|
|
300
|
+
* path).
|
|
301
|
+
*
|
|
302
|
+
* THE GAP IS FILED AS A BUG BEFORE THE ROUTE (shortfall-rework-issue.ts), on the
|
|
303
|
+
* judged delivery, whether or not a team is live: gate_state is not work, and a
|
|
304
|
+
* delivery whose issues are all Done would otherwise re-enter with nothing a
|
|
305
|
+
* coding pass owns -- no team spawned for it, and the gap unseen. The reconciler
|
|
306
|
+
* input below still says `issues: []`: the decision is verify's (gaps_found), and
|
|
307
|
+
* the Bug is what the re-work finds once it lands.
|
|
308
|
+
*
|
|
309
|
+
* Best-effort throughout -- a feedback failure must never crash the tick. A
|
|
310
|
+
* filing that fails is owed and retried by the poll pass, which holds the
|
|
311
|
+
* delivery until it lands (verify/shortfalls/shortfall-rework-hold.ts).
|
|
304
312
|
*/
|
|
305
313
|
export async function requeueShortfallAsRework(v, shortfalls, organizationId, d, opts = {}) {
|
|
306
314
|
// Usually a pass: a shortfall is judged only after the gate passed. Carried so
|
|
@@ -310,13 +318,7 @@ export async function requeueShortfallAsRework(v, shortfalls, organizationId, d,
|
|
|
310
318
|
const detail = {
|
|
311
319
|
...(gateVerdict ? { gateVerdict } : {}),
|
|
312
320
|
heldAt: d.now(),
|
|
313
|
-
shortfalls: shortfalls
|
|
314
|
-
nodeId: s.nodeId,
|
|
315
|
-
declared: s.declaredStatement,
|
|
316
|
-
achieved: s.achievedStatement,
|
|
317
|
-
reason: s.reason,
|
|
318
|
-
...(s.diffCitation ? { diffCitation: s.diffCitation } : {}),
|
|
319
|
-
})),
|
|
321
|
+
shortfalls: shortfallDetailEntries(shortfalls),
|
|
320
322
|
// Persist the cross-iteration repeat state so the NEXT verify iteration can
|
|
321
323
|
// compare against it and tell a changing (genuine) shortfall from an
|
|
322
324
|
// identical (unclearable) one.
|
|
@@ -327,6 +329,9 @@ export async function requeueShortfallAsRework(v, shortfalls, organizationId, d,
|
|
|
327
329
|
// its own repeat); the judged commit is replaced by this run's, with its verdict.
|
|
328
330
|
// A shortfall sent back to re-work is not parked: any standing park is dropped.
|
|
329
331
|
const gateState = withShortfallPark(stampReworkJudgment(carryVerificationHistory(opts.priorGateState ?? null, buildShortfallGateState(detail)), opts, detail.heldAt), null);
|
|
332
|
+
// The gap becomes open work BEFORE the route, so the re-work re-entry finds an
|
|
333
|
+
// issue a coding pass owns and an armed focus spawns one for it.
|
|
334
|
+
const filing = await fileShortfallReworkIssue(v.deliveryId, { sha: opts.judgedSha ?? null, shortfalls: detail.shortfalls, gateVerdict }, d);
|
|
330
335
|
const decision = d.resolveReconciledWrite({
|
|
331
336
|
input: {
|
|
332
337
|
currentStatus: DELIVERY_STATUS.VERIFY,
|
|
@@ -359,7 +364,7 @@ export async function requeueShortfallAsRework(v, shortfalls, organizationId, d,
|
|
|
359
364
|
// Do not retask a live review team (parity with directive inject guard).
|
|
360
365
|
if (team && team.leadStdin && team.sessionType !== 'review') {
|
|
361
366
|
try {
|
|
362
|
-
d.sendMessage(team.leadStdin, buildShortfallInjectMessage(v.deliveryName, detail));
|
|
367
|
+
d.sendMessage(team.leadStdin, buildShortfallInjectMessage(v.deliveryName, detail, shortfallReworkIssueTitleOf(filing)));
|
|
363
368
|
injected = true;
|
|
364
369
|
}
|
|
365
370
|
catch (err) {
|
|
@@ -367,7 +372,7 @@ export async function requeueShortfallAsRework(v, shortfalls, organizationId, d,
|
|
|
367
372
|
}
|
|
368
373
|
}
|
|
369
374
|
}
|
|
370
|
-
return { transitioned, injected, detail };
|
|
375
|
+
return { transitioned, injected, detail, filing };
|
|
371
376
|
}
|
|
372
377
|
/** Build the terminal-hold gate_state for an unclearable-claim shortfall. Pure -- exported for testing. */
|
|
373
378
|
export function buildUnclearableShortfallGateState(detail) {
|
|
@@ -398,13 +403,7 @@ export function buildUnclearableShortfallGateState(detail) {
|
|
|
398
403
|
export async function escalateUnclearableShortfall(v, shortfalls, repeat, organizationId, d, opts = {}) {
|
|
399
404
|
const detail = {
|
|
400
405
|
heldAt: d.now(),
|
|
401
|
-
shortfalls: shortfalls
|
|
402
|
-
nodeId: s.nodeId,
|
|
403
|
-
declared: s.declaredStatement,
|
|
404
|
-
achieved: s.achievedStatement,
|
|
405
|
-
reason: s.reason,
|
|
406
|
-
...(s.diffCitation ? { diffCitation: s.diffCitation } : {}),
|
|
407
|
-
})),
|
|
406
|
+
shortfalls: shortfallDetailEntries(shortfalls),
|
|
408
407
|
repeat,
|
|
409
408
|
unclearableClaim: true,
|
|
410
409
|
...misattributedField(opts.misattributed),
|