@telora/daemon 0.22.97 → 0.22.131
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 +4 -3
- package/dist/cli/verify-setup-config.d.ts +4 -3
- package/dist/cli/verify-setup-config.d.ts.map +1 -1
- package/dist/cli/verify-setup-config.js.map +1 -1
- package/dist/completion/commit-verdict-release.d.ts +49 -0
- package/dist/completion/commit-verdict-release.d.ts.map +1 -0
- package/dist/completion/commit-verdict-release.js +240 -0
- package/dist/completion/commit-verdict-release.js.map +1 -0
- package/dist/completion/completion-phase-registry.d.ts +10 -4
- package/dist/completion/completion-phase-registry.d.ts.map +1 -1
- package/dist/completion/completion-phase-registry.js +19 -7
- package/dist/completion/completion-phase-registry.js.map +1 -1
- package/dist/completion/detector.d.ts.map +1 -1
- package/dist/completion/detector.js +1 -0
- package/dist/completion/detector.js.map +1 -1
- package/dist/completion/event-entry-phases.d.ts +6 -3
- package/dist/completion/event-entry-phases.d.ts.map +1 -1
- package/dist/completion/event-entry-phases.js +135 -76
- package/dist/completion/event-entry-phases.js.map +1 -1
- package/dist/completion/event-phases.d.ts +24 -3
- package/dist/completion/event-phases.d.ts.map +1 -1
- package/dist/completion/event-phases.js +9 -9
- package/dist/completion/event-phases.js.map +1 -1
- package/dist/completion/event.d.ts +8 -0
- package/dist/completion/event.d.ts.map +1 -1
- package/dist/completion/event.js +47 -21
- package/dist/completion/event.js.map +1 -1
- package/dist/completion/exit-classification.d.ts.map +1 -1
- package/dist/completion/exit-classification.js +1 -0
- package/dist/completion/exit-classification.js.map +1 -1
- package/dist/completion/merge-phase.d.ts +21 -9
- package/dist/completion/merge-phase.d.ts.map +1 -1
- package/dist/completion/merge-phase.js +35 -10
- package/dist/completion/merge-phase.js.map +1 -1
- package/dist/completion/review-auto-approval-record.d.ts +19 -0
- package/dist/completion/review-auto-approval-record.d.ts.map +1 -0
- package/dist/completion/review-auto-approval-record.js +102 -0
- package/dist/completion/review-auto-approval-record.js.map +1 -0
- package/dist/completion/review-cycle-cap.d.ts +62 -0
- package/dist/completion/review-cycle-cap.d.ts.map +1 -0
- package/dist/completion/review-cycle-cap.js +180 -0
- package/dist/completion/review-cycle-cap.js.map +1 -0
- package/dist/completion/review-exit-deps.d.ts +17 -2
- package/dist/completion/review-exit-deps.d.ts.map +1 -1
- package/dist/completion/review-exit-deps.js +19 -2
- package/dist/completion/review-exit-deps.js.map +1 -1
- package/dist/completion/review-exit-escalations.d.ts +45 -23
- package/dist/completion/review-exit-escalations.d.ts.map +1 -1
- package/dist/completion/review-exit-escalations.js +15 -74
- package/dist/completion/review-exit-escalations.js.map +1 -1
- package/dist/completion/review-exit-evidence.d.ts +9 -0
- package/dist/completion/review-exit-evidence.d.ts.map +1 -1
- package/dist/completion/review-exit-evidence.js +4 -1
- package/dist/completion/review-exit-evidence.js.map +1 -1
- package/dist/completion/review-exit-foreign-findings.d.ts +151 -0
- package/dist/completion/review-exit-foreign-findings.d.ts.map +1 -0
- package/dist/completion/review-exit-foreign-findings.js +474 -0
- package/dist/completion/review-exit-foreign-findings.js.map +1 -0
- package/dist/completion/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit-phase.js +71 -64
- package/dist/completion/review-exit-phase.js.map +1 -1
- package/dist/completion/review-exit-progress.d.ts +20 -0
- package/dist/completion/review-exit-progress.d.ts.map +1 -1
- package/dist/completion/review-exit-progress.js +28 -19
- package/dist/completion/review-exit-progress.js.map +1 -1
- package/dist/completion/review-exit-rehoming.d.ts +5 -0
- package/dist/completion/review-exit-rehoming.d.ts.map +1 -1
- package/dist/completion/review-exit-rehoming.js.map +1 -1
- package/dist/completion/review-exit-verdict-gate.d.ts +202 -0
- package/dist/completion/review-exit-verdict-gate.d.ts.map +1 -0
- package/dist/completion/review-exit-verdict-gate.js +228 -0
- package/dist/completion/review-exit-verdict-gate.js.map +1 -0
- package/dist/completion/review-next-step.d.ts +62 -0
- package/dist/completion/review-next-step.d.ts.map +1 -0
- package/dist/completion/review-next-step.js +63 -0
- package/dist/completion/review-next-step.js.map +1 -0
- package/dist/completion/session-hold-sweep-deps.d.ts +17 -0
- package/dist/completion/session-hold-sweep-deps.d.ts.map +1 -0
- package/dist/completion/session-hold-sweep-deps.js +89 -0
- package/dist/completion/session-hold-sweep-deps.js.map +1 -0
- package/dist/completion/session-hold.d.ts +180 -0
- package/dist/completion/session-hold.d.ts.map +1 -0
- package/dist/completion/session-hold.js +238 -0
- package/dist/completion/session-hold.js.map +1 -0
- package/dist/completion/state-cascade.d.ts +19 -0
- package/dist/completion/state-cascade.d.ts.map +1 -1
- package/dist/completion/state-cascade.js +85 -31
- package/dist/completion/state-cascade.js.map +1 -1
- package/dist/completion/team-lifecycle.d.ts +35 -2
- package/dist/completion/team-lifecycle.d.ts.map +1 -1
- package/dist/completion/team-lifecycle.js +165 -94
- package/dist/completion/team-lifecycle.js.map +1 -1
- package/dist/completion/team-phase.d.ts +27 -15
- package/dist/completion/team-phase.d.ts.map +1 -1
- package/dist/completion/team-phase.js +34 -15
- package/dist/completion/team-phase.js.map +1 -1
- package/dist/delivery/commit-verdict-hold.d.ts +55 -0
- package/dist/delivery/commit-verdict-hold.d.ts.map +1 -0
- package/dist/delivery/commit-verdict-hold.js +118 -0
- package/dist/delivery/commit-verdict-hold.js.map +1 -0
- package/dist/directive/directive-dispatch.d.ts.map +1 -1
- package/dist/directive/directive-dispatch.js +10 -3
- package/dist/directive/directive-dispatch.js.map +1 -1
- package/dist/directive/directive-executor.d.ts.map +1 -1
- package/dist/directive/directive-executor.js +1 -0
- package/dist/directive/directive-executor.js.map +1 -1
- package/dist/directive/directive-queue.d.ts.map +1 -1
- package/dist/directive/directive-queue.js +6 -1
- package/dist/directive/directive-queue.js.map +1 -1
- package/dist/directive/phase-sync.d.ts +29 -2
- package/dist/directive/phase-sync.d.ts.map +1 -1
- package/dist/directive/phase-sync.js +30 -6
- package/dist/directive/phase-sync.js.map +1 -1
- package/dist/drift/artifact-ref-shape.d.ts +34 -0
- package/dist/drift/artifact-ref-shape.d.ts.map +1 -0
- package/dist/drift/artifact-ref-shape.js +94 -0
- package/dist/drift/artifact-ref-shape.js.map +1 -0
- package/dist/drift/drift-eval-loop.d.ts +7 -0
- package/dist/drift/drift-eval-loop.d.ts.map +1 -1
- package/dist/drift/drift-eval-loop.js +34 -5
- package/dist/drift/drift-eval-loop.js.map +1 -1
- package/dist/drift/drift-evaluator.d.ts.map +1 -1
- package/dist/drift/drift-evaluator.js +8 -3
- package/dist/drift/drift-evaluator.js.map +1 -1
- package/dist/focus/awaiting-slot.d.ts +34 -0
- package/dist/focus/awaiting-slot.d.ts.map +1 -0
- package/dist/focus/awaiting-slot.js +26 -0
- package/dist/focus/awaiting-slot.js.map +1 -0
- package/dist/focus/focus-lifecycle.js +2 -2
- package/dist/focus/focus-lifecycle.js.map +1 -1
- package/dist/focus/focus-phase.d.ts.map +1 -1
- package/dist/focus/focus-phase.js +3 -1
- package/dist/focus/focus-phase.js.map +1 -1
- package/dist/focus/focus-spawn-decision.d.ts +62 -0
- package/dist/focus/focus-spawn-decision.d.ts.map +1 -0
- package/dist/focus/focus-spawn-decision.js +41 -0
- package/dist/focus/focus-spawn-decision.js.map +1 -0
- package/dist/focus/focus-team-state.d.ts.map +1 -1
- package/dist/focus/focus-team-state.js +1 -13
- package/dist/focus/focus-team-state.js.map +1 -1
- package/dist/focus/listener-spawn.d.ts +16 -55
- package/dist/focus/listener-spawn.d.ts.map +1 -1
- package/dist/focus/listener-spawn.js +102 -64
- package/dist/focus/listener-spawn.js.map +1 -1
- package/dist/focus/listener-state.d.ts.map +1 -1
- package/dist/focus/listener-state.js +4 -1
- package/dist/focus/listener-state.js.map +1 -1
- package/dist/focus/listener.d.ts +41 -2
- package/dist/focus/listener.d.ts.map +1 -1
- package/dist/focus/listener.js +135 -83
- package/dist/focus/listener.js.map +1 -1
- package/dist/focus/pending-spawn-pass-deps.d.ts +69 -0
- package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -0
- package/dist/focus/pending-spawn-pass-deps.js +34 -0
- package/dist/focus/pending-spawn-pass-deps.js.map +1 -0
- package/dist/focus/pending-spawn-review-next-step.d.ts +83 -0
- package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -0
- package/dist/focus/pending-spawn-review-next-step.js +325 -0
- package/dist/focus/pending-spawn-review-next-step.js.map +1 -0
- package/dist/focus/review-cycle-cap-hold.d.ts +132 -0
- package/dist/focus/review-cycle-cap-hold.d.ts.map +1 -0
- package/dist/focus/review-cycle-cap-hold.js +178 -0
- package/dist/focus/review-cycle-cap-hold.js.map +1 -0
- package/dist/focus/team-actionable-work.js +2 -2
- package/dist/focus/verify-open-issues.d.ts +22 -0
- package/dist/focus/verify-open-issues.d.ts.map +1 -1
- package/dist/focus/verify-open-issues.js +118 -57
- package/dist/focus/verify-open-issues.js.map +1 -1
- package/dist/focus/verify-routing-passes.d.ts +32 -0
- package/dist/focus/verify-routing-passes.d.ts.map +1 -0
- package/dist/focus/verify-routing-passes.js +18 -0
- package/dist/focus/verify-routing-passes.js.map +1 -0
- package/dist/git/exec.d.ts.map +1 -1
- package/dist/git/exec.js +2 -1
- package/dist/git/exec.js.map +1 -1
- package/dist/git/index.d.ts.map +1 -1
- package/dist/git/index.js +9 -5
- package/dist/git/index.js.map +1 -1
- package/dist/merge/focus-merge.d.ts +16 -2
- package/dist/merge/focus-merge.d.ts.map +1 -1
- package/dist/merge/focus-merge.js +53 -30
- package/dist/merge/focus-merge.js.map +1 -1
- package/dist/merge/merge-back-loop.d.ts +5 -0
- package/dist/merge/merge-back-loop.d.ts.map +1 -1
- package/dist/merge/merge-back-loop.js +17 -8
- package/dist/merge/merge-back-loop.js.map +1 -1
- package/dist/merge/merge-gate-coverage.d.ts +94 -0
- package/dist/merge/merge-gate-coverage.d.ts.map +1 -0
- package/dist/merge/merge-gate-coverage.js +217 -0
- package/dist/merge/merge-gate-coverage.js.map +1 -0
- package/dist/prompt/focus-prompt-builder.d.ts.map +1 -1
- package/dist/prompt/focus-prompt-builder.js +6 -0
- package/dist/prompt/focus-prompt-builder.js.map +1 -1
- package/dist/prompt/prompt-listing.d.ts.map +1 -1
- package/dist/prompt/prompt-listing.js +8 -0
- package/dist/prompt/prompt-listing.js.map +1 -1
- package/dist/prompt/team-prompt-base.d.ts.map +1 -1
- package/dist/prompt/team-prompt-base.js +5 -1
- package/dist/prompt/team-prompt-base.js.map +1 -1
- package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
- package/dist/prompt-sections/execution-sections.js +14 -39
- package/dist/prompt-sections/execution-sections.js.map +1 -1
- package/dist/prompt-sections/gate-ownership.d.ts +36 -0
- package/dist/prompt-sections/gate-ownership.d.ts.map +1 -0
- package/dist/prompt-sections/gate-ownership.js +68 -0
- package/dist/prompt-sections/gate-ownership.js.map +1 -0
- package/dist/prompt-sections/gate-verdict-section.d.ts +58 -0
- package/dist/prompt-sections/gate-verdict-section.d.ts.map +1 -0
- package/dist/prompt-sections/gate-verdict-section.js +88 -0
- package/dist/prompt-sections/gate-verdict-section.js.map +1 -0
- 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 +35 -11
- package/dist/prompt-sections/persona-sections.js.map +1 -1
- package/dist/prompt-sections/shared.js +1 -1
- package/dist/prompt-sections/shared.js.map +1 -1
- package/dist/queries/agent-resolvable-promotion.d.ts +6 -3
- package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
- package/dist/queries/agent-resolvable-promotion.js +20 -9
- package/dist/queries/agent-resolvable-promotion.js.map +1 -1
- package/dist/queries/deliveries.d.ts +46 -4
- package/dist/queries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries.js +69 -16
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/delivery-gate-state.d.ts +159 -1
- package/dist/queries/delivery-gate-state.d.ts.map +1 -1
- package/dist/queries/delivery-gate-state.js +95 -14
- package/dist/queries/delivery-gate-state.js.map +1 -1
- package/dist/queries/delivery-write-discipline.d.ts +65 -0
- package/dist/queries/delivery-write-discipline.d.ts.map +1 -0
- package/dist/queries/delivery-write-discipline.js +101 -0
- package/dist/queries/delivery-write-discipline.js.map +1 -0
- package/dist/queries/escalation-consumption.d.ts +11 -0
- package/dist/queries/escalation-consumption.d.ts.map +1 -1
- package/dist/queries/escalation-consumption.js +22 -0
- package/dist/queries/escalation-consumption.js.map +1 -1
- package/dist/queries/escalation-spool.d.ts +75 -0
- package/dist/queries/escalation-spool.d.ts.map +1 -0
- package/dist/queries/escalation-spool.js +232 -0
- package/dist/queries/escalation-spool.js.map +1 -0
- package/dist/queries/escalation-suppression.d.ts.map +1 -1
- package/dist/queries/escalation-suppression.js +2 -0
- package/dist/queries/escalation-suppression.js.map +1 -1
- package/dist/queries/escalations.js +1 -1
- package/dist/queries/filing-observation.d.ts.map +1 -1
- package/dist/queries/filing-observation.js +2 -0
- package/dist/queries/filing-observation.js.map +1 -1
- package/dist/queries/focus-discovery.d.ts +4 -4
- package/dist/queries/focus-discovery.d.ts.map +1 -1
- package/dist/queries/focus-discovery.js +1 -0
- package/dist/queries/focus-discovery.js.map +1 -1
- package/dist/queries/focus-review-approval.d.ts +84 -0
- package/dist/queries/focus-review-approval.d.ts.map +1 -0
- package/dist/queries/focus-review-approval.js +158 -0
- package/dist/queries/focus-review-approval.js.map +1 -0
- package/dist/queries/focuses.d.ts +6 -5
- package/dist/queries/focuses.d.ts.map +1 -1
- package/dist/queries/focuses.js +9 -5
- package/dist/queries/focuses.js.map +1 -1
- package/dist/queries/incident-correlation.d.ts +5 -4
- package/dist/queries/incident-correlation.d.ts.map +1 -1
- package/dist/queries/incident-correlation.js +11 -5
- package/dist/queries/incident-correlation.js.map +1 -1
- package/dist/queries/issues.d.ts.map +1 -1
- package/dist/queries/issues.js +2 -1
- package/dist/queries/issues.js.map +1 -1
- package/dist/queries/loop-refusal-observation.d.ts +64 -0
- package/dist/queries/loop-refusal-observation.d.ts.map +1 -0
- package/dist/queries/loop-refusal-observation.js +137 -0
- package/dist/queries/loop-refusal-observation.js.map +1 -0
- package/dist/queries/schemas.d.ts +9 -0
- package/dist/queries/schemas.d.ts.map +1 -1
- package/dist/queries/schemas.js +11 -3
- package/dist/queries/schemas.js.map +1 -1
- package/dist/queries/shared.js +1 -1
- package/dist/queries/verification.d.ts +15 -0
- package/dist/queries/verification.d.ts.map +1 -1
- package/dist/queries/verification.js +1 -14
- package/dist/queries/verification.js.map +1 -1
- package/dist/queries/wire-contract.generated.d.ts +3 -0
- package/dist/queries/wire-contract.generated.d.ts.map +1 -1
- package/dist/queries/wire-contract.generated.js +3 -0
- package/dist/queries/wire-contract.generated.js.map +1 -1
- package/dist/resolvers/assembly-engine.d.ts.map +1 -1
- package/dist/resolvers/assembly-engine.js +3 -1
- package/dist/resolvers/assembly-engine.js.map +1 -1
- package/dist/resolvers/git-diff-against-base.d.ts +5 -2
- package/dist/resolvers/git-diff-against-base.d.ts.map +1 -1
- package/dist/resolvers/git-diff-against-base.js +121 -39
- package/dist/resolvers/git-diff-against-base.js.map +1 -1
- package/dist/resolvers/shared/git-diff.d.ts +2 -0
- package/dist/resolvers/shared/git-diff.d.ts.map +1 -1
- package/dist/resolvers/shared/git-diff.js +5 -1
- package/dist/resolvers/shared/git-diff.js.map +1 -1
- package/dist/resolvers/shared/review-window-commits.d.ts +96 -0
- package/dist/resolvers/shared/review-window-commits.d.ts.map +1 -0
- package/dist/resolvers/shared/review-window-commits.js +262 -0
- package/dist/resolvers/shared/review-window-commits.js.map +1 -0
- package/dist/session/session-lineage.d.ts.map +1 -1
- package/dist/session/session-lineage.js +4 -1
- package/dist/session/session-lineage.js.map +1 -1
- package/dist/shell/config.d.ts.map +1 -1
- package/dist/shell/config.js +10 -9
- package/dist/shell/config.js.map +1 -1
- package/dist/shell/fail-stop.d.ts +18 -0
- package/dist/shell/fail-stop.d.ts.map +1 -0
- package/dist/shell/fail-stop.js +53 -0
- package/dist/shell/fail-stop.js.map +1 -0
- package/dist/shell/graceful-shutdown.d.ts +48 -0
- package/dist/shell/graceful-shutdown.d.ts.map +1 -0
- package/dist/shell/graceful-shutdown.js +152 -0
- package/dist/shell/graceful-shutdown.js.map +1 -0
- package/dist/shell/heartbeat.d.ts.map +1 -1
- package/dist/shell/heartbeat.js +5 -4
- package/dist/shell/heartbeat.js.map +1 -1
- package/dist/shell/log.d.ts.map +1 -1
- package/dist/shell/log.js +4 -1
- package/dist/shell/log.js.map +1 -1
- package/dist/shell/stop-request.d.ts.map +1 -1
- package/dist/shell/stop-request.js +2 -1
- package/dist/shell/stop-request.js.map +1 -1
- package/dist/shell/unified-shell-status.d.ts +6 -0
- package/dist/shell/unified-shell-status.d.ts.map +1 -1
- package/dist/shell/unified-shell-status.js +9 -2
- package/dist/shell/unified-shell-status.js.map +1 -1
- package/dist/shell/unified-shell.d.ts.map +1 -1
- package/dist/shell/unified-shell.js +41 -114
- package/dist/shell/unified-shell.js.map +1 -1
- package/dist/spawn/lifecycle.d.ts +12 -0
- package/dist/spawn/lifecycle.d.ts.map +1 -1
- package/dist/spawn/lifecycle.js +25 -21
- package/dist/spawn/lifecycle.js.map +1 -1
- package/dist/spawn/prompt-assembly.d.ts +19 -1
- package/dist/spawn/prompt-assembly.d.ts.map +1 -1
- package/dist/spawn/prompt-assembly.js +70 -21
- 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 +18 -8
- package/dist/spawn/review-hold-park.js.map +1 -1
- package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
- package/dist/spawn/spawn-cooldown.js +4 -0
- package/dist/spawn/spawn-cooldown.js.map +1 -1
- package/dist/spawn/spawn-decision.d.ts.map +1 -1
- package/dist/spawn/spawn-decision.js +2 -1
- package/dist/spawn/spawn-decision.js.map +1 -1
- package/dist/spawn/worktree-session.d.ts +6 -0
- package/dist/spawn/worktree-session.d.ts.map +1 -1
- package/dist/spawn/worktree-session.js +15 -2
- package/dist/spawn/worktree-session.js.map +1 -1
- package/dist/testing/fixtures/index.d.ts +10 -1
- package/dist/testing/fixtures/index.d.ts.map +1 -1
- package/dist/testing/fixtures/index.js +59 -1
- package/dist/testing/fixtures/index.js.map +1 -1
- package/dist/testing/fixtures/pending-spawn-world.d.ts +34 -0
- package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -0
- package/dist/testing/fixtures/pending-spawn-world.js +92 -0
- package/dist/testing/fixtures/pending-spawn-world.js.map +1 -0
- package/dist/types/config.d.ts +9 -6
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/verify/commit-gate-configured.d.ts +86 -0
- package/dist/verify/commit-gate-configured.d.ts.map +1 -0
- package/dist/verify/commit-gate-configured.js +234 -0
- package/dist/verify/commit-gate-configured.js.map +1 -0
- package/dist/verify/commit-verdict-record.d.ts +98 -0
- package/dist/verify/commit-verdict-record.d.ts.map +1 -0
- package/dist/verify/commit-verdict-record.js +297 -0
- package/dist/verify/commit-verdict-record.js.map +1 -0
- package/dist/verify/explicit-gate-outcome.d.ts +161 -0
- package/dist/verify/explicit-gate-outcome.d.ts.map +1 -0
- package/dist/verify/explicit-gate-outcome.js +215 -0
- package/dist/verify/explicit-gate-outcome.js.map +1 -0
- package/dist/verify/explicit-rearm.d.ts +27 -0
- package/dist/verify/explicit-rearm.d.ts.map +1 -0
- package/dist/verify/explicit-rearm.js +161 -0
- package/dist/verify/explicit-rearm.js.map +1 -0
- package/dist/verify/explicit-run-ledger.d.ts +26 -0
- package/dist/verify/explicit-run-ledger.d.ts.map +1 -0
- package/dist/verify/explicit-run-ledger.js +93 -0
- package/dist/verify/explicit-run-ledger.js.map +1 -0
- package/dist/verify/failure-signature.d.ts.map +1 -1
- package/dist/verify/failure-signature.js +5 -1
- package/dist/verify/failure-signature.js.map +1 -1
- package/dist/verify/gate-run-registry.d.ts +105 -0
- package/dist/verify/gate-run-registry.d.ts.map +1 -0
- package/dist/verify/gate-run-registry.js +111 -0
- package/dist/verify/gate-run-registry.js.map +1 -0
- package/dist/verify/gate-verdict-source.d.ts +68 -0
- package/dist/verify/gate-verdict-source.d.ts.map +1 -0
- package/dist/verify/gate-verdict-source.js +143 -0
- package/dist/verify/gate-verdict-source.js.map +1 -0
- package/dist/verify/judged-commit-gate.d.ts +11 -0
- package/dist/verify/judged-commit-gate.d.ts.map +1 -0
- package/dist/verify/judged-commit-gate.js +48 -0
- package/dist/verify/judged-commit-gate.js.map +1 -0
- package/dist/verify/rework-judgment.d.ts +58 -0
- package/dist/verify/rework-judgment.d.ts.map +1 -0
- package/dist/verify/rework-judgment.js +54 -0
- package/dist/verify/rework-judgment.js.map +1 -0
- package/dist/verify/verification-attribution.d.ts +105 -0
- package/dist/verify/verification-attribution.d.ts.map +1 -0
- package/dist/verify/verification-attribution.js +322 -0
- package/dist/verify/verification-attribution.js.map +1 -0
- package/dist/verify/verification-baseline-run.d.ts +123 -0
- package/dist/verify/verification-baseline-run.d.ts.map +1 -0
- package/dist/verify/verification-baseline-run.js +386 -0
- package/dist/verify/verification-baseline-run.js.map +1 -0
- package/dist/verify/verification-baseline.d.ts +117 -28
- package/dist/verify/verification-baseline.d.ts.map +1 -1
- package/dist/verify/verification-baseline.js +147 -120
- package/dist/verify/verification-baseline.js.map +1 -1
- package/dist/verify/verification-checkout.d.ts +32 -6
- package/dist/verify/verification-checkout.d.ts.map +1 -1
- package/dist/verify/verification-checkout.js +132 -8
- package/dist/verify/verification-checkout.js.map +1 -1
- package/dist/verify/verification-commit-sharing.d.ts +84 -0
- package/dist/verify/verification-commit-sharing.d.ts.map +1 -0
- package/dist/verify/verification-commit-sharing.js +416 -0
- package/dist/verify/verification-commit-sharing.js.map +1 -0
- package/dist/verify/verification-config.d.ts +76 -0
- package/dist/verify/verification-config.d.ts.map +1 -1
- package/dist/verify/verification-config.js +112 -14
- package/dist/verify/verification-config.js.map +1 -1
- package/dist/verify/verification-default-on.d.ts +102 -19
- package/dist/verify/verification-default-on.d.ts.map +1 -1
- package/dist/verify/verification-default-on.js +307 -38
- package/dist/verify/verification-default-on.js.map +1 -1
- package/dist/verify/verification-deps-default.d.ts.map +1 -1
- package/dist/verify/verification-deps-default.js +50 -43
- package/dist/verify/verification-deps-default.js.map +1 -1
- package/dist/verify/verification-deps.d.ts +86 -7
- package/dist/verify/verification-deps.d.ts.map +1 -1
- package/dist/verify/verification-deterministic.d.ts +56 -2
- package/dist/verify/verification-deterministic.d.ts.map +1 -1
- package/dist/verify/verification-deterministic.js +44 -25
- package/dist/verify/verification-deterministic.js.map +1 -1
- package/dist/verify/verification-diagnostics.d.ts +16 -0
- package/dist/verify/verification-diagnostics.d.ts.map +1 -0
- package/dist/verify/verification-diagnostics.js +219 -0
- package/dist/verify/verification-diagnostics.js.map +1 -0
- package/dist/verify/verification-engine.d.ts +12 -8
- package/dist/verify/verification-engine.d.ts.map +1 -1
- package/dist/verify/verification-engine.js +118 -102
- package/dist/verify/verification-engine.js.map +1 -1
- package/dist/verify/verification-evidence-unavailable-feedback.d.ts +2 -1
- package/dist/verify/verification-evidence-unavailable-feedback.d.ts.map +1 -1
- package/dist/verify/verification-evidence-unavailable-feedback.js +19 -5
- package/dist/verify/verification-evidence-unavailable-feedback.js.map +1 -1
- package/dist/verify/verification-feedback.d.ts +21 -34
- package/dist/verify/verification-feedback.d.ts.map +1 -1
- package/dist/verify/verification-feedback.js +37 -88
- package/dist/verify/verification-feedback.js.map +1 -1
- package/dist/verify/verification-gate-stages.d.ts +110 -0
- package/dist/verify/verification-gate-stages.d.ts.map +1 -0
- package/dist/verify/verification-gate-stages.js +179 -0
- package/dist/verify/verification-gate-stages.js.map +1 -0
- package/dist/verify/verification-history-reset.d.ts +61 -0
- package/dist/verify/verification-history-reset.d.ts.map +1 -0
- package/dist/verify/verification-history-reset.js +90 -0
- package/dist/verify/verification-history-reset.js.map +1 -0
- package/dist/verify/verification-manifest.d.ts.map +1 -1
- package/dist/verify/verification-manifest.js +3 -1
- package/dist/verify/verification-manifest.js.map +1 -1
- package/dist/verify/verification-rework-messages.d.ts +19 -0
- package/dist/verify/verification-rework-messages.d.ts.map +1 -0
- package/dist/verify/verification-rework-messages.js +52 -0
- package/dist/verify/verification-rework-messages.js.map +1 -0
- package/dist/verify/verification-timeout-fault.d.ts +147 -0
- package/dist/verify/verification-timeout-fault.d.ts.map +1 -0
- package/dist/verify/verification-timeout-fault.js +211 -0
- package/dist/verify/verification-timeout-fault.js.map +1 -0
- package/dist/verify/verify-gate-stall.d.ts +5 -1
- package/dist/verify/verify-gate-stall.d.ts.map +1 -1
- package/dist/verify/verify-gate-stall.js +10 -1
- package/dist/verify/verify-gate-stall.js.map +1 -1
- package/dist/worktree/install-inputs.d.ts +89 -0
- package/dist/worktree/install-inputs.d.ts.map +1 -0
- package/dist/worktree/install-inputs.js +625 -0
- package/dist/worktree/install-inputs.js.map +1 -0
- package/dist/worktree/install-script-effects.d.ts +30 -0
- package/dist/worktree/install-script-effects.d.ts.map +1 -0
- package/dist/worktree/install-script-effects.js +524 -0
- package/dist/worktree/install-script-effects.js.map +1 -0
- package/dist/worktree/install-script-tokens.d.ts +57 -0
- package/dist/worktree/install-script-tokens.d.ts.map +1 -0
- package/dist/worktree/install-script-tokens.js +299 -0
- package/dist/worktree/install-script-tokens.js.map +1 -0
- package/dist/worktree/provision.d.ts +27 -4
- package/dist/worktree/provision.d.ts.map +1 -1
- package/dist/worktree/provision.js +46 -7
- package/dist/worktree/provision.js.map +1 -1
- package/dist/worktree/safety.d.ts +11 -0
- package/dist/worktree/safety.d.ts.map +1 -1
- package/dist/worktree/safety.js +20 -3
- package/dist/worktree/safety.js.map +1 -1
- package/dist/worktree/verify-interlock.d.ts.map +1 -1
- package/dist/worktree/verify-interlock.js +3 -1
- package/dist/worktree/verify-interlock.js.map +1 -1
- package/dist/worktree/worktree-package-provisioning.d.ts +75 -0
- package/dist/worktree/worktree-package-provisioning.d.ts.map +1 -0
- package/dist/worktree/worktree-package-provisioning.js +362 -0
- package/dist/worktree/worktree-package-provisioning.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by:
|
|
2
|
+
// Pinned by: packages/daemon/src/integration/explicit-gate-outcome-restart.test.ts,
|
|
3
|
+
// packages/daemon/src/integration/explicit-verdict-invalidation-restart.test.ts
|
|
3
4
|
// PINNED-BY-END
|
|
4
5
|
/**
|
|
5
6
|
* Default wiring for the verification engine's injectable dependency surface.
|
|
@@ -22,7 +23,7 @@
|
|
|
22
23
|
* @module verification-deps-default
|
|
23
24
|
*/
|
|
24
25
|
import { runDeterministicStrategy } from './verification-deterministic.js';
|
|
25
|
-
import { getPendingVerifications,
|
|
26
|
+
import { getPendingVerifications, verifyInjectionOnPass, emitInwardDriftProposals, } from '../queries/verification.js';
|
|
26
27
|
import { configForProduct } from '../shell/config.js';
|
|
27
28
|
import { authorTargetRestatements as defaultAuthorTargetRestatements } from './verify-restatement.js';
|
|
28
29
|
import { fileEscalation as defaultFileEscalation } from '../completion/escalations.js';
|
|
@@ -30,27 +31,18 @@ import { getCommitsAhead, filterCommitsByDelivery, selectDeliveryCommitsAcrossBa
|
|
|
30
31
|
import { getActiveFocuses } from '../queries/focus-discovery.js';
|
|
31
32
|
import { resolveDefaultVerification as defaultResolveDefaultVerification } from './verification-config.js';
|
|
32
33
|
import { getFocusDeliveries } from '../queries/focuses.js';
|
|
33
|
-
import { deliverVerificationFailureFeedback,
|
|
34
|
+
import { deliverVerificationFailureFeedback, routeShortfallOutcome, } from './verification-feedback.js';
|
|
35
|
+
import { recordOutcomeResettingVerificationHistory } from './verification-history-reset.js';
|
|
34
36
|
import { requeueEvidenceUnavailableAsRework } from './verification-evidence-unavailable-feedback.js';
|
|
35
37
|
import { buildDefaultAttributeFailures, buildResolveVerificationCwd } from './verification-baseline.js';
|
|
38
|
+
import { readCommitVerdict, writeCommitVerdict } from './commit-verdict-record.js';
|
|
39
|
+
import { invalidateExplicitGateOutcome, persistExplicitGateOutcome } from './explicit-gate-outcome.js';
|
|
36
40
|
import { resolveAiInspectionInputs as defaultResolveAiInspectionInputs } from './ai-inspection-context.js';
|
|
37
41
|
import { runAiInspection as defaultRunAiInspection } from './ai-inspection-runner.js';
|
|
38
42
|
import { buildDefaultSecurityFindingGateDeps } from '../security/security-finding-gate.js';
|
|
39
43
|
import { callApi } from '../queries/shared.js';
|
|
40
44
|
import { recordedMergeShaForVerify as recordedMergeShaForVerifyImpl } from './verification-evidence.js';
|
|
41
45
|
import { getRecordedCommitShasForMerge, getAllRecordedCommitShasForFocus, getRecordedPreMergeRefForMerge, evidenceValueOr, } from '../queries/deliveries.js';
|
|
42
|
-
/**
|
|
43
|
-
* Record the verification outcome. A PASSED verify cleared the gate, so the
|
|
44
|
-
* delivery's verification history is reset: the failure-signature run and the
|
|
45
|
-
* shortfall repeat, both carried on gate_state. The next rejection then starts a
|
|
46
|
-
* fresh count instead of extending one from before the pass. The reset is
|
|
47
|
-
* best-effort and never throws.
|
|
48
|
-
*/
|
|
49
|
-
async function recordOutcomeResettingVerificationHistory(deliveryId, outcome) {
|
|
50
|
-
await recordDeliveryVerificationOutcome(deliveryId, outcome);
|
|
51
|
-
if (outcome === 'passed')
|
|
52
|
-
await resetVerificationHistoryOnPass(deliveryId);
|
|
53
|
-
}
|
|
54
46
|
async function defaultEmitDriftProposal(payload) {
|
|
55
47
|
await callApi('crt_drift_proposal_create', {
|
|
56
48
|
focusId: payload.focusId,
|
|
@@ -61,19 +53,48 @@ async function defaultEmitDriftProposal(payload) {
|
|
|
61
53
|
proposedCorrection: payload.observation.suggestedCorrection,
|
|
62
54
|
});
|
|
63
55
|
}
|
|
56
|
+
/** The repo a product's verification reads: its product-scoped repoPath, else the top-level one. */
|
|
57
|
+
function resolveProductRepoPath(config, productId) {
|
|
58
|
+
const product = productId ? config.products.find(p => p.id === productId) : undefined;
|
|
59
|
+
return product ? configForProduct(config, product).repoPath : config.repoPath;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Probe whether the durable record could be READ at all. An `undetermined`
|
|
63
|
+
* lookup (the focus_merge_list API unreachable) is the instrument fault the gate
|
|
64
|
+
* must report DISTINCTLY from an honest empty record: it names the seam so a blind
|
|
65
|
+
* gate is diagnosable, rather than collapsing "could not determine" into "there is
|
|
66
|
+
* nothing here". Gated identically to the commit-set lookup -- an unmerged
|
|
67
|
+
* delivery has no record to read and is not a fault. Needs no config, so it lives
|
|
68
|
+
* outside defaultDeps.
|
|
69
|
+
*/
|
|
70
|
+
const resolveEvidenceInstrumentFault = async (v) => {
|
|
71
|
+
const sha = recordedMergeShaForVerifyImpl(v);
|
|
72
|
+
if (!sha || !v.focusId)
|
|
73
|
+
return null;
|
|
74
|
+
const history = await getAllRecordedCommitShasForFocus(v.focusId);
|
|
75
|
+
if (history.state === 'undetermined') {
|
|
76
|
+
return { seam: 'focus_merges (whole-history commit set)', reason: history.reason };
|
|
77
|
+
}
|
|
78
|
+
return null;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* The durable writers of an explicit-method run's verdict (verify/explicit-gate-outcome.ts).
|
|
82
|
+
* invalidateExplicitGateOutcome is called when an explicit run is selected, before it
|
|
83
|
+
* can start: the previous run's verdict is removed durably. persistExplicitGateOutcome
|
|
84
|
+
* is called after recordOutcome's pass reset: the run's own verdict, durable across a
|
|
85
|
+
* restart. Needs no config, so it lives outside defaultDeps.
|
|
86
|
+
*/
|
|
87
|
+
const explicitGateOutcomeWriters = {
|
|
88
|
+
invalidateExplicitGateOutcome,
|
|
89
|
+
persistExplicitGateOutcome,
|
|
90
|
+
};
|
|
64
91
|
export const defaultDeps = (config) => {
|
|
65
|
-
const resolveCwd = (productId) =>
|
|
66
|
-
if (!productId)
|
|
67
|
-
return config.repoPath;
|
|
68
|
-
const product = config.products.find(p => p.id === productId);
|
|
69
|
-
if (!product)
|
|
70
|
-
return config.repoPath;
|
|
71
|
-
return configForProduct(config, product).repoPath;
|
|
72
|
-
};
|
|
92
|
+
const resolveCwd = (productId) => resolveProductRepoPath(config, productId);
|
|
73
93
|
const resolveVerificationCwd = buildResolveVerificationCwd(resolveCwd);
|
|
74
94
|
return {
|
|
75
95
|
getPendingVerifications,
|
|
76
96
|
recordOutcome: recordOutcomeResettingVerificationHistory,
|
|
97
|
+
...explicitGateOutcomeWriters,
|
|
77
98
|
verifyInjection: verifyInjectionOnPass,
|
|
78
99
|
authorTargetRestatements: (injectionNodeId, focusId, evidence, evidenceIncomplete) => defaultAuthorTargetRestatements(injectionNodeId, focusId, evidence, {}, evidenceIncomplete),
|
|
79
100
|
fileEscalation: defaultFileEscalation,
|
|
@@ -90,12 +111,12 @@ export const defaultDeps = (config) => {
|
|
|
90
111
|
resolveCwd,
|
|
91
112
|
integrationBranch: config.integrationBranch,
|
|
92
113
|
securityFindingGate: buildDefaultSecurityFindingGateDeps(),
|
|
93
|
-
resolveDefaultVerification: (c) => defaultResolveDefaultVerification(c),
|
|
114
|
+
resolveDefaultVerification: (c, readManifest) => defaultResolveDefaultVerification(c, undefined, readManifest),
|
|
94
115
|
getActiveFocuses,
|
|
95
116
|
getFocusDeliveries,
|
|
96
117
|
deliverFailureFeedback: (v, result) => deliverVerificationFailureFeedback(v, result, config.organizationId).then(() => undefined),
|
|
97
|
-
deliverShortfallFeedback: (v, shortfalls) => routeShortfallOutcome(v, shortfalls, config.organizationId).then(() => undefined),
|
|
98
|
-
requeueEvidenceUnavailableAsRework: (v, fault) => requeueEvidenceUnavailableAsRework(v, fault, config.organizationId).then(() => undefined),
|
|
118
|
+
deliverShortfallFeedback: (v, shortfalls, judgedSha, runVerdict) => routeShortfallOutcome(v, shortfalls, config.organizationId, {}, { judgedSha, runVerdict }).then(() => undefined),
|
|
119
|
+
requeueEvidenceUnavailableAsRework: (v, fault, judgedSha, runVerdict) => requeueEvidenceUnavailableAsRework(v, fault, config.organizationId, {}, { judgedSha, runVerdict }).then(() => undefined),
|
|
99
120
|
resolveVerificationCwd,
|
|
100
121
|
resolveCommitsAhead: (v) => getCommitsAhead(resolveVerificationCwd(v), config.integrationBranch),
|
|
101
122
|
resolveRecordedCommitShas: async (v) => {
|
|
@@ -194,24 +215,10 @@ export const defaultDeps = (config) => {
|
|
|
194
215
|
return null; // genuine legacy single-delivery batch
|
|
195
216
|
return { batch: batch.length, deliveries: deliveries.length };
|
|
196
217
|
},
|
|
197
|
-
resolveEvidenceInstrumentFault
|
|
198
|
-
// Probe whether the durable record could be READ at all. An `undetermined`
|
|
199
|
-
// lookup (the focus_merge_list API unreachable) is the instrument fault the
|
|
200
|
-
// gate must report DISTINCTLY from an honest empty record: it names the seam
|
|
201
|
-
// so a blind gate is diagnosable, rather than collapsing "could not
|
|
202
|
-
// determine" into "there is nothing here". Gated identically to the
|
|
203
|
-
// commit-set lookup -- an unmerged delivery has no record to read and is not
|
|
204
|
-
// a fault.
|
|
205
|
-
const sha = recordedMergeShaForVerifyImpl(v);
|
|
206
|
-
if (!sha || !v.focusId)
|
|
207
|
-
return null;
|
|
208
|
-
const history = await getAllRecordedCommitShasForFocus(v.focusId);
|
|
209
|
-
if (history.state === 'undetermined') {
|
|
210
|
-
return { seam: 'focus_merges (whole-history commit set)', reason: history.reason };
|
|
211
|
-
}
|
|
212
|
-
return null;
|
|
213
|
-
},
|
|
218
|
+
resolveEvidenceInstrumentFault,
|
|
214
219
|
attributeFailures: buildDefaultAttributeFailures(config),
|
|
220
|
+
recordCommitVerdict: (verdict) => { writeCommitVerdict(verdict); },
|
|
221
|
+
readCommitVerdict: (productId, focusId, sha, gate) => readCommitVerdict(productId, focusId, sha, { gate }),
|
|
215
222
|
};
|
|
216
223
|
};
|
|
217
224
|
//# sourceMappingURL=verification-deps-default.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-deps-default.js","sourceRoot":"","sources":["../../src/verify/verification-deps-default.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,
|
|
1
|
+
{"version":3,"file":"verification-deps-default.js","sourceRoot":"","sources":["../../src/verify/verification-deps-default.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,20 +17,30 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import type { StrategyResult } from './verification-deterministic.js';
|
|
19
19
|
import type { runDeterministicStrategy } from './verification-deterministic.js';
|
|
20
|
+
import type { CommitVerdictReader, CommitVerdictRecorder } from './commit-verdict-record.js';
|
|
20
21
|
import type { VerifyCheckout } from './verification-checkout.js';
|
|
22
|
+
import type { WorktreeProvisioningStatus } from '../worktree/worktree-package-provisioning.js';
|
|
21
23
|
import type { getPendingVerifications, PendingVerification, VerificationOutcome } from '../queries/verification.js';
|
|
22
24
|
import type { NodeWriteback } from '../reality/reality-writeback.js';
|
|
23
25
|
import type { ReconcileTargetsResult, TargetRestatement, TargetShortfall, VerifyEvidence } from './verify-restatement.js';
|
|
24
26
|
import type { FileEscalationInput } from '../completion/escalations.js';
|
|
25
|
-
import type { EvidenceUnavailableDetail } from '../queries/delivery-gate-state.js';
|
|
27
|
+
import type { EvidenceUnavailableDetail, GateVerdictSummary } from '../queries/delivery-gate-state.js';
|
|
26
28
|
import type { DaemonConfig } from '../types/index.js';
|
|
27
|
-
import type { ResolvedDefaultVerification } from './verification-config.js';
|
|
29
|
+
import type { AppliedVerificationConfig, ResolvedDefaultVerification } from './verification-config.js';
|
|
30
|
+
import type { VerifyManifestReader } from './verification-manifest.js';
|
|
31
|
+
import type { JudgedCommitRead } from './verification-default-on.js';
|
|
28
32
|
import type { getActiveFocuses } from '../queries/focus-discovery.js';
|
|
29
33
|
import type { getFocusDeliveries } from '../queries/focuses.js';
|
|
30
34
|
import type { AiInspectionInputs } from './ai-inspection-context.js';
|
|
31
35
|
import type { runAiInspection as defaultRunAiInspection } from './ai-inspection-runner.js';
|
|
32
36
|
import type { SecurityFindingGateDeps } from '../security/security-finding-gate.js';
|
|
33
37
|
import type { FailureClassification } from './verification-baseline.js';
|
|
38
|
+
import type { GateSegment } from './verification-gate-stages.js';
|
|
39
|
+
/**
|
|
40
|
+
* Run the gate stages that never ran after a pre-existing red (a parsed run's
|
|
41
|
+
* continuation segments) at the commit `head` judged, returning that run's result.
|
|
42
|
+
*/
|
|
43
|
+
export type StageContinuationRunner = (v: PendingVerification, segments: readonly GateSegment[], head: StrategyResult) => Promise<StrategyResult>;
|
|
34
44
|
export interface DriftProposalCreatePayload {
|
|
35
45
|
focusId: string | null;
|
|
36
46
|
productId: string | null;
|
|
@@ -44,7 +54,12 @@ export interface DriftProposalCreatePayload {
|
|
|
44
54
|
}
|
|
45
55
|
export interface VerificationDeps {
|
|
46
56
|
getPendingVerifications: typeof getPendingVerifications;
|
|
47
|
-
|
|
57
|
+
/**
|
|
58
|
+
* Record the outcome. `judgedSha` is the commit the run judged (null when it
|
|
59
|
+
* judged none): a pass keeps a judged commit stamped for that very sha
|
|
60
|
+
* (verify/verification-history-reset.ts).
|
|
61
|
+
*/
|
|
62
|
+
recordOutcome: (deliveryId: string, outcome: VerificationOutcome, judgedSha?: string | null) => Promise<void>;
|
|
48
63
|
/**
|
|
49
64
|
* Retire the injection + promote its FRT overlay. `evidence` (when supplied)
|
|
50
65
|
* is stamped onto the injection node before the flip so a verification-retired
|
|
@@ -103,9 +118,11 @@ export interface VerificationDeps {
|
|
|
103
118
|
/**
|
|
104
119
|
* Resolve the default-on deterministic verification config (env > file >
|
|
105
120
|
* default). When it yields `enabled: false` (no command configured) the
|
|
106
|
-
* default-on scan
|
|
121
|
+
* default-on scan arms only from judged commits. `readManifest` replaces the
|
|
122
|
+
* repo-manifest read (the tick passes a silent one to set a malformed repoPath
|
|
123
|
+
* manifest aside); omitted, the real file is read.
|
|
107
124
|
*/
|
|
108
|
-
resolveDefaultVerification: (config: DaemonConfig) => ResolvedDefaultVerification;
|
|
125
|
+
resolveDefaultVerification: (config: DaemonConfig, readManifest?: VerifyManifestReader) => ResolvedDefaultVerification;
|
|
109
126
|
/** Enumerate active focuses for a product (default-on candidate discovery). */
|
|
110
127
|
getActiveFocuses: typeof getActiveFocuses;
|
|
111
128
|
/** Fetch a focus's deliveries (default-on candidate discovery). */
|
|
@@ -119,8 +136,13 @@ export interface VerificationDeps {
|
|
|
119
136
|
* of a human inbox, and live-inject the gap into a running coding team.
|
|
120
137
|
* Distinct from deliverFailureFeedback so a shortfall hold never reports under
|
|
121
138
|
* the deterministic guard. Optional; defaultDeps provides it (requeueShortfallAsRework).
|
|
139
|
+
* `judgedSha` is the commit the run behind this verdict judged (null when it
|
|
140
|
+
* judged none), and `runVerdict` the verdict that run rendered for it
|
|
141
|
+
* (rework-judgment.ts runVerdictOf; null when it rendered none): the re-work
|
|
142
|
+
* shows it and persists it beside the judged commit, so a resume reads the
|
|
143
|
+
* delivery's own verdict without a record read.
|
|
122
144
|
*/
|
|
123
|
-
deliverShortfallFeedback?: (v: PendingVerification, shortfalls: readonly TargetShortfall[]) => Promise<void>;
|
|
145
|
+
deliverShortfallFeedback?: (v: PendingVerification, shortfalls: readonly TargetShortfall[], judgedSha?: string | null, runVerdict?: GateVerdictSummary | null) => Promise<void>;
|
|
124
146
|
/**
|
|
125
147
|
* Instrument-fault re-work re-entry: the verify path was handed no evidence it
|
|
126
148
|
* could judge the work against (an empty bundle). Routes the delivery
|
|
@@ -132,8 +154,9 @@ export interface VerificationDeps {
|
|
|
132
154
|
* perform, so an empty bundle never reaches a human inbox
|
|
133
155
|
* (verify_gate_unclearable, from the iteration cap, is the sole residue).
|
|
134
156
|
* Optional; defaultDeps provides it (requeueEvidenceUnavailableAsRework).
|
|
157
|
+
* `judgedSha` and `runVerdict` as for deliverShortfallFeedback.
|
|
135
158
|
*/
|
|
136
|
-
requeueEvidenceUnavailableAsRework?: (v: PendingVerification, fault: Omit<EvidenceUnavailableDetail, 'heldAt'
|
|
159
|
+
requeueEvidenceUnavailableAsRework?: (v: PendingVerification, fault: Omit<EvidenceUnavailableDetail, 'heldAt'>, judgedSha?: string | null, runVerdict?: GateVerdictSummary | null) => Promise<void>;
|
|
137
160
|
/** cwd for the HEAD run -- the focus worktree. Optional; dispatch falls back to resolveCwd. */
|
|
138
161
|
resolveVerificationCwd?: (v: PendingVerification) => string;
|
|
139
162
|
/**
|
|
@@ -144,8 +167,24 @@ export interface VerificationDeps {
|
|
|
144
167
|
resolveFocusWorktreePath?: (v: PendingVerification) => string | null;
|
|
145
168
|
/** Detached-checkout factory for a deterministic run. Optional; defaults to createVerifyCheckout. */
|
|
146
169
|
createVerifyCheckout?: (focusWorktreePath: string, checkoutKey: string) => VerifyCheckout | null;
|
|
170
|
+
/**
|
|
171
|
+
* Whether the focus worktree's nested package installs are current; not ready
|
|
172
|
+
* -> the run reports checkoutUnavailable. Optional; defaults to
|
|
173
|
+
* readWorktreeProvisioning (worktree/worktree-package-provisioning.ts).
|
|
174
|
+
*/
|
|
175
|
+
readWorktreeProvisioning?: (focusWorktreePath: string) => WorktreeProvisioningStatus;
|
|
176
|
+
/**
|
|
177
|
+
* Re-resolve a DEFAULT-ON candidate's command + timeout from the code a run
|
|
178
|
+
* executes in (`runPath`, the detached checkout), with the product repoPath
|
|
179
|
+
* manifest as a recorded fallback. Throws on a malformed manifest in that code.
|
|
180
|
+
* Never consulted for explicit-method rows or in-place runs. Optional; defaults
|
|
181
|
+
* to the real resolver over process.env (verify/verification-checkout.ts).
|
|
182
|
+
*/
|
|
183
|
+
resolveRunVerificationConfig?: (v: PendingVerification, runPath: string) => AppliedVerificationConfig;
|
|
147
184
|
/** Focus worktree HEAD sha (default-on HEAD re-verify guard). Optional; null never suppresses. */
|
|
148
185
|
resolveFocusHeadSha?: (focusId: string) => string | null;
|
|
186
|
+
/** The telora.verify.json a focus's judged commit ships (default-on arming). Optional; defaults to a git read. */
|
|
187
|
+
readJudgedCommitManifest?: (focusId: string) => JudgedCommitRead | null;
|
|
149
188
|
/**
|
|
150
189
|
* Count of commits the delivery branch is ahead of the integration base.
|
|
151
190
|
* Used by the evidence-integrity guard to tell a broken diff MEASUREMENT
|
|
@@ -203,5 +242,45 @@ export interface VerificationDeps {
|
|
|
203
242
|
} | null>;
|
|
204
243
|
/** Baseline-diff attribution; null => no baseline resolvable (gate all). Optional. */
|
|
205
244
|
attributeFailures?: (v: PendingVerification, result: StrategyResult) => Promise<FailureClassification | null>;
|
|
245
|
+
/**
|
|
246
|
+
* Continue a gate after a red the focus base shares: run the stages that never
|
|
247
|
+
* ran, at the judged commit, so they are judged before any pass. Optional;
|
|
248
|
+
* defaults to a fixed-commit run pinned to the HEAD run's verifiedSha
|
|
249
|
+
* (verify/verification-attribution.ts).
|
|
250
|
+
*/
|
|
251
|
+
runStageContinuation?: StageContinuationRunner;
|
|
252
|
+
/**
|
|
253
|
+
* Record the verdict a deterministic run rendered for its judged commit
|
|
254
|
+
* (verify/commit-verdict-record.ts). Optional: absent, nothing is recorded;
|
|
255
|
+
* defaultDeps writes the durable per-commit record.
|
|
256
|
+
*/
|
|
257
|
+
recordCommitVerdict?: CommitVerdictRecorder;
|
|
258
|
+
/**
|
|
259
|
+
* Read the verdict recorded for a focus commit under a gate, so a deterministic
|
|
260
|
+
* delivery -- default-on, or an explicit row under its own gate -- judged on an
|
|
261
|
+
* already-judged commit takes it instead of running the gate again
|
|
262
|
+
* (verify/verification-commit-sharing.ts). Optional: absent, every
|
|
263
|
+
* candidate runs; defaultDeps reads the durable per-commit record.
|
|
264
|
+
*/
|
|
265
|
+
readCommitVerdict?: CommitVerdictReader;
|
|
266
|
+
/**
|
|
267
|
+
* Record an explicit-method run's verdict, under the gate it applied, on its
|
|
268
|
+
* delivery's gate_state, where a daemon restart keeps it
|
|
269
|
+
* (verify/explicit-gate-outcome.ts). Called for an explicit row that routes,
|
|
270
|
+
* after recordOutcome, with the run id its selection named (undefined when none
|
|
271
|
+
* did). Optional: absent, the verdict is kept in process only; defaultDeps writes
|
|
272
|
+
* the durable record.
|
|
273
|
+
*/
|
|
274
|
+
persistExplicitGateOutcome?: (deliveryId: string, result: StrategyResult, gateKey: string, runId: string | undefined) => Promise<unknown>;
|
|
275
|
+
/**
|
|
276
|
+
* Name `runId` the explicit-method delivery's current run, voiding every verdict
|
|
277
|
+
* an older run recorded (verify/explicit-run-ledger.ts), and durably remove that
|
|
278
|
+
* verdict from its gate_state, before the run can start
|
|
279
|
+
* (verify/explicit-gate-outcome.ts). Resolves false when either did not land, or
|
|
280
|
+
* when the delivery is not found or stopped cycling (done, cancelled), and the tick
|
|
281
|
+
* then neither starts that run nor routes a verdict. Optional: absent, every candidate starts
|
|
282
|
+
* and nothing durable is removed; defaultDeps does both.
|
|
283
|
+
*/
|
|
284
|
+
invalidateExplicitGateOutcome?: (deliveryId: string, runId: string) => Promise<boolean>;
|
|
206
285
|
}
|
|
207
286
|
//# sourceMappingURL=verification-deps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-deps.d.ts","sourceRoot":"","sources":["../../src/verify/verification-deps.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EACV,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"verification-deps.d.ts","sourceRoot":"","sources":["../../src/verify/verification-deps.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAC/F,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EACV,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,IAAI,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,CACpC,CAAC,EAAE,mBAAmB,EACtB,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,IAAI,EAAE,cAAc,KACjB,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE;QACX,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,IAAI,EAAE,kBAAkB,GAAG,UAAU,GAAG,aAAa,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;QAC9F,QAAQ,EAAE,MAAM,CAAC;QACjB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD;;;;OAIG;IACH,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9G;;;;OAIG;IACH,eAAe,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,iBAAiB,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnH;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAE,CACzB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,QAAQ,EAAE,cAAc;IACxB;;;;OAIG;IACH,kBAAkB,EAAE,OAAO,KACxB,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACrC;;;;;OAKG;IACH,cAAc,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,uCAAuC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,iBAAiB,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E;;;;;;;OAOG;IACH,eAAe,EAAE,CACf,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,SAAS,aAAa,EAAE,EACpC,aAAa,CAAC,EAAE,MAAM,KACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,gBAAgB,EAAE,OAAO,wBAAwB,CAAC;IAClD,eAAe,EAAE,OAAO,sBAAsB,CAAC;IAC/C,yBAAyB,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IAC1F,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC;IACjD,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,mBAAmB,EAAE,uBAAuB,CAAC;IAE7C;;;;;;OAMG;IACH,0BAA0B,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,oBAAoB,KAAK,2BAA2B,CAAC;IACvH,+EAA+E;IAC/E,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,mEAAmE;IACnE,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,yFAAyF;IACzF,sBAAsB,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3F;;;;;;;;;;;;OAYG;IACH,wBAAwB,CAAC,EAAE,CACzB,CAAC,EAAE,mBAAmB,EACtB,UAAU,EAAE,SAAS,eAAe,EAAE,EACtC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EACzB,UAAU,CAAC,EAAE,kBAAkB,GAAG,IAAI,KACnC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,kCAAkC,CAAC,EAAE,CACnC,CAAC,EAAE,mBAAmB,EACtB,KAAK,EAAE,IAAI,CAAC,yBAAyB,EAAE,QAAQ,CAAC,EAChD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EACzB,UAAU,CAAC,EAAE,kBAAkB,GAAG,IAAI,KACnC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,+FAA+F;IAC/F,sBAAsB,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,MAAM,CAAC;IAC5D;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,MAAM,GAAG,IAAI,CAAC;IACrE,qGAAqG;IACrG,oBAAoB,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI,CAAC;IACjG;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,0BAA0B,CAAC;IACrF;;;;;;OAMG;IACH,4BAA4B,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,KAAK,yBAAyB,CAAC;IACtG,kGAAkG;IAClG,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACzD,kHAAkH;IAClH,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,gBAAgB,GAAG,IAAI,CAAC;IACxE;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,MAAM,CAAC;IACzD;;;;;;;OAOG;IACH,yBAAyB,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1E;;;;;;;;OAQG;IACH,0BAA0B,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChF;;;;;;;;;;OAUG;IACH,yBAAyB,CAAC,EAAE,CAC1B,CAAC,EAAE,mBAAmB,KACnB,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC3D;;;;;;;;;OASG;IACH,8BAA8B,CAAC,EAAE,CAC/B,CAAC,EAAE,mBAAmB,KACnB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACtD,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IAC9G;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,uBAAuB,CAAC;IAC/C;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,qBAAqB,CAAC;IAC5C;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC;;;;;;;OAOG;IACH,0BAA0B,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1I;;;;;;;;OAQG;IACH,6BAA6B,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACzF"}
|
|
@@ -6,8 +6,9 @@ import type { VerificationOutcome } from '../queries/verification.js';
|
|
|
6
6
|
* the "per-delivery gate runs the whole repo" focus, the per-delivery gate
|
|
7
7
|
* (verify:gate) is the CHEAP dev-loop check -- linters + both ratchets +
|
|
8
8
|
* typecheck + the TARGETED tests for the changed files, low single-digit minutes
|
|
9
|
-
* -- and the whole-repo suite
|
|
10
|
-
*
|
|
9
|
+
* -- and the whole-repo suite is enforced one altitude up, by the CI ci job on
|
|
10
|
+
* every push to integration and main (no daemon code runs it). The 30-min
|
|
11
|
+
* ceiling still earns its place: telora.verify.json sets an
|
|
11
12
|
* explicit 30-min timeoutMs, and a focus MAY point the manifest at a heavier
|
|
12
13
|
* command whose honest runtime approaches it.
|
|
13
14
|
*
|
|
@@ -39,6 +40,18 @@ export interface StrategyResult {
|
|
|
39
40
|
newFailures?: string[];
|
|
40
41
|
/** Baseline-diff attribution: pre-existing base failures (recorded, non-blocking). */
|
|
41
42
|
preExisting?: string[];
|
|
43
|
+
/**
|
|
44
|
+
* Stage attribution (verify/verification-attribution.ts): the gate stage whose
|
|
45
|
+
* red is charged to the delivery, when the outcome is 'failed' on a stage the
|
|
46
|
+
* run's log identifies.
|
|
47
|
+
*/
|
|
48
|
+
failedStage?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Stage attribution: gate stages whose red also fails the same way on the focus
|
|
51
|
+
* base -- recorded, non-blocking. The stages after each were still run and
|
|
52
|
+
* judged at the same commit before any pass.
|
|
53
|
+
*/
|
|
54
|
+
preExistingStages?: string[];
|
|
42
55
|
/**
|
|
43
56
|
* True when the run was KILLED by the deterministic timeout (SIGKILL on the
|
|
44
57
|
* timer), as opposed to exiting on its own. A timed-out run died before it
|
|
@@ -47,6 +60,15 @@ export interface StrategyResult {
|
|
|
47
60
|
* zero-parse output be laundered into a differential pass.
|
|
48
61
|
*/
|
|
49
62
|
timedOut?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* The test runner's own totals line(s), found in a TIMED-OUT run's output
|
|
65
|
+
* (verify/verification-timeout-fault.ts). Present only when the runner got as
|
|
66
|
+
* far as printing them: the kill then landed after that runner finished (in
|
|
67
|
+
* teardown, a lingering handle, or a later stage of the command), not mid-suite,
|
|
68
|
+
* and the descriptions say so. Descriptive only -- the run stays timedOut and
|
|
69
|
+
* failed; a printed summary is never a pass verdict.
|
|
70
|
+
*/
|
|
71
|
+
runnerSummary?: string[];
|
|
50
72
|
/**
|
|
51
73
|
* The commit the run judged: the focus HEAD sha of the detached checkout the
|
|
52
74
|
* command ran in (verify/verification-checkout.ts). Undefined for an in-place
|
|
@@ -60,6 +82,38 @@ export interface StrategyResult {
|
|
|
60
82
|
* verdict was discarded. The tick retries next pass.
|
|
61
83
|
*/
|
|
62
84
|
checkoutUnavailable?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* The command + timeout the run applied, and where they were read. A default-on
|
|
87
|
+
* run on a detached checkout re-resolves both from the telora.verify.json IN THE
|
|
88
|
+
* CHECKOUT (the code under verification), so a value committed on the verified
|
|
89
|
+
* branch applies to its next run; `manifestFallback` records that the checkout
|
|
90
|
+
* shipped none and the product repoPath manifest was used. An explicit-method
|
|
91
|
+
* row carries its row values; an in-place run carries the tick-resolved values.
|
|
92
|
+
* Set by verify/verification-checkout.ts; the baseline run sizes itself from it.
|
|
93
|
+
*/
|
|
94
|
+
appliedConfig?: {
|
|
95
|
+
command: string;
|
|
96
|
+
timeoutMs: number;
|
|
97
|
+
/**
|
|
98
|
+
* Where `timeoutMs` was read, as a formatVerifyConfigSource label (an env var,
|
|
99
|
+
* daemon.json, a manifest path or its recorded fallback, the typed default, or
|
|
100
|
+
* the delivery's own config), so a timed-out run can say which layer to change.
|
|
101
|
+
*/
|
|
102
|
+
timeoutSource: string;
|
|
103
|
+
/** The manifest the values were read from, when one was read. */
|
|
104
|
+
manifestPath?: string;
|
|
105
|
+
/** True when the verified code shipped no manifest and the repoPath manifest was applied. */
|
|
106
|
+
manifestFallback?: boolean;
|
|
107
|
+
/** Where the verified code's manifest was looked for (read first). */
|
|
108
|
+
verifiedManifestPath?: string;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* True when the command was NOT run because its config could not be resolved
|
|
112
|
+
* from the verified code (a malformed manifest there). No run output exists to
|
|
113
|
+
* attribute, so baseline attribution is skipped and the rationale -- naming the
|
|
114
|
+
* manifest and the problem -- stands.
|
|
115
|
+
*/
|
|
116
|
+
configUnresolved?: boolean;
|
|
63
117
|
}
|
|
64
118
|
/**
|
|
65
119
|
* The worktree whose verify interlock a run holds, and the delivery it judges.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-deterministic.d.ts","sourceRoot":"","sources":["../../src/verify/verification-deterministic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verification-deterministic.d.ts","sourceRoot":"","sources":["../../src/verify/verification-deterministic.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAQtE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,+BAA+B,QAAiB,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB;;;;WAIG;QACH,aAAa,EAAE,MAAM,CAAC;QACtB,iEAAiE;QACjE,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,6FAA6F;QAC7F,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,sEAAsE;QACtE,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACtC,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,uBAAuB,EACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,IAAI,CAAC,EAAE,gBAAgB,GACtB,OAAO,CAAC,cAAc,CAAC,CA8HzB"}
|
|
@@ -1,5 +1,13 @@
|
|
|
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/
|
|
2
|
+
// Pinned by: packages/daemon/src/integration/explicit-gate-outcome-restart.test.ts,
|
|
3
|
+
// packages/daemon/src/integration/explicit-verdict-departure-during-removal.test.ts,
|
|
4
|
+
// packages/daemon/src/integration/explicit-verdict-invalidation-restart.test.ts,
|
|
5
|
+
// packages/daemon/src/integration/explicit-verdict-reuse.test.ts,
|
|
6
|
+
// packages/daemon/src/integration/focus-commit-verdict-scenario.test.ts,
|
|
7
|
+
// packages/daemon/src/verify/commit-verdict-record.test.ts,
|
|
8
|
+
// packages/daemon/src/verify/verification-attribution.test.ts,
|
|
9
|
+
// packages/daemon/src/verify/verification-checkout.test.ts,
|
|
10
|
+
// packages/daemon/src/verify/verification-commit-sharing.test.ts,
|
|
3
11
|
// packages/daemon/src/verify/verification-deterministic.test.ts,
|
|
4
12
|
// packages/daemon/src/worktree/verify-interlock.test.ts
|
|
5
13
|
// PINNED-BY-END
|
|
@@ -21,6 +29,7 @@ import { resolve as resolvePath } from 'node:path';
|
|
|
21
29
|
import { resolveGlobalStateDir } from '../shell/daemon-process.js';
|
|
22
30
|
import { acquireVerifyHold } from '../worktree/verify-interlock.js';
|
|
23
31
|
import { createLogger } from '../shell/log.js';
|
|
32
|
+
import { createRunnerSummaryTracker, describeTimeout } from './verification-timeout-fault.js';
|
|
24
33
|
const log = createLogger({ module: 'verification' });
|
|
25
34
|
/**
|
|
26
35
|
* Default deterministic timeout when the config sets none: 30 minutes.
|
|
@@ -29,8 +38,9 @@ const log = createLogger({ module: 'verification' });
|
|
|
29
38
|
* the "per-delivery gate runs the whole repo" focus, the per-delivery gate
|
|
30
39
|
* (verify:gate) is the CHEAP dev-loop check -- linters + both ratchets +
|
|
31
40
|
* typecheck + the TARGETED tests for the changed files, low single-digit minutes
|
|
32
|
-
* -- and the whole-repo suite
|
|
33
|
-
*
|
|
41
|
+
* -- and the whole-repo suite is enforced one altitude up, by the CI ci job on
|
|
42
|
+
* every push to integration and main (no daemon code runs it). The 30-min
|
|
43
|
+
* ceiling still earns its place: telora.verify.json sets an
|
|
34
44
|
* explicit 30-min timeoutMs, and a focus MAY point the manifest at a heavier
|
|
35
45
|
* command whose honest runtime approaches it.
|
|
36
46
|
*
|
|
@@ -79,6 +89,7 @@ export async function runDeterministicStrategy(config, cwd, logContext, extraEnv
|
|
|
79
89
|
};
|
|
80
90
|
}
|
|
81
91
|
const timeoutMs = typeof config.timeoutMs === 'number' && config.timeoutMs > 0 ? config.timeoutMs : DEFAULT_VERIFICATION_TIMEOUT_MS;
|
|
92
|
+
const timeoutSource = typeof config.timeoutSource === 'string' ? config.timeoutSource : undefined; // named in a timeout rationale
|
|
82
93
|
// Open a persistent full-log sink under the state dir (best-effort). The
|
|
83
94
|
// 4000-char tails stay as inline evidence; the file captures the WHOLE run
|
|
84
95
|
// so a failure discovered later has the complete output to point at.
|
|
@@ -125,21 +136,8 @@ export async function runDeterministicStrategy(config, cwd, logContext, extraEnv
|
|
|
125
136
|
});
|
|
126
137
|
return;
|
|
127
138
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
const tail = (buf, max = 4000) => buf.length <= max ? buf : buf.slice(buf.length - max);
|
|
131
|
-
child.stdout?.on('data', (chunk) => {
|
|
132
|
-
const text = chunk.toString('utf8');
|
|
133
|
-
logStream?.write(text);
|
|
134
|
-
stdout += text;
|
|
135
|
-
stdout = tail(stdout);
|
|
136
|
-
});
|
|
137
|
-
child.stderr?.on('data', (chunk) => {
|
|
138
|
-
const text = chunk.toString('utf8');
|
|
139
|
-
logStream?.write(text);
|
|
140
|
-
stderr += text;
|
|
141
|
-
stderr = tail(stderr);
|
|
142
|
-
});
|
|
139
|
+
const stdout = captureStream(child.stdout, logStream);
|
|
140
|
+
const stderr = captureStream(child.stderr, logStream);
|
|
143
141
|
const finish = (result) => {
|
|
144
142
|
// Release the verify interlock the instant the process has exited (clean,
|
|
145
143
|
// killed, or abnormal -- every exit path calls finish). Idempotent, so an
|
|
@@ -178,8 +176,8 @@ export async function runDeterministicStrategy(config, cwd, logContext, extraEnv
|
|
|
178
176
|
finish({
|
|
179
177
|
outcome: 'failed',
|
|
180
178
|
rationale: `deterministic spawn error: ${err.message}`,
|
|
181
|
-
stdoutTail: stdout,
|
|
182
|
-
stderrTail: stderr,
|
|
179
|
+
stdoutTail: stdout.tail(),
|
|
180
|
+
stderrTail: stderr.tail(),
|
|
183
181
|
});
|
|
184
182
|
});
|
|
185
183
|
child.on('close', (code) => {
|
|
@@ -187,10 +185,10 @@ export async function runDeterministicStrategy(config, cwd, logContext, extraEnv
|
|
|
187
185
|
if (timedOut) {
|
|
188
186
|
finish({
|
|
189
187
|
outcome: 'failed',
|
|
190
|
-
|
|
188
|
+
...describeTimeout(timeoutMs, stdout.tail(), stderr.tail(), timeoutSource, stdout.summary() ?? stderr.summary()),
|
|
191
189
|
exitCode: code,
|
|
192
|
-
stdoutTail: stdout,
|
|
193
|
-
stderrTail: stderr,
|
|
190
|
+
stdoutTail: stdout.tail(),
|
|
191
|
+
stderrTail: stderr.tail(),
|
|
194
192
|
timedOut: true,
|
|
195
193
|
});
|
|
196
194
|
return;
|
|
@@ -202,10 +200,31 @@ export async function runDeterministicStrategy(config, cwd, logContext, extraEnv
|
|
|
202
200
|
? 'deterministic check passed (exit 0)'
|
|
203
201
|
: `deterministic check failed (exit ${code})`,
|
|
204
202
|
exitCode: code,
|
|
205
|
-
stdoutTail: stdout,
|
|
206
|
-
stderrTail: stderr,
|
|
203
|
+
stdoutTail: stdout.tail(),
|
|
204
|
+
stderrTail: stderr.tail(),
|
|
207
205
|
});
|
|
208
206
|
});
|
|
209
207
|
});
|
|
210
208
|
}
|
|
209
|
+
/** Chars of each stream kept inline on the result (the full run is in the log file). */
|
|
210
|
+
const STREAM_TAIL_CHARS = 4000;
|
|
211
|
+
/**
|
|
212
|
+
* Capture one output stream: tee it to the log sink, keep its last
|
|
213
|
+
* STREAM_TAIL_CHARS as inline evidence, and track the runner summary it printed.
|
|
214
|
+
* The summary is tracked BEFORE each cut, because a gate that keeps printing
|
|
215
|
+
* after its tests evicts the summary from the tail before a timeout lands.
|
|
216
|
+
*/
|
|
217
|
+
function captureStream(readable, logStream) {
|
|
218
|
+
let buffer = '';
|
|
219
|
+
const tracker = createRunnerSummaryTracker();
|
|
220
|
+
readable?.on('data', (chunk) => {
|
|
221
|
+
const text = chunk.toString('utf8');
|
|
222
|
+
logStream?.write(text);
|
|
223
|
+
buffer += text;
|
|
224
|
+
tracker.observe(buffer, text);
|
|
225
|
+
if (buffer.length > STREAM_TAIL_CHARS)
|
|
226
|
+
buffer = buffer.slice(buffer.length - STREAM_TAIL_CHARS);
|
|
227
|
+
});
|
|
228
|
+
return { tail: () => buffer, summary: () => tracker.latest() };
|
|
229
|
+
}
|
|
211
230
|
//# sourceMappingURL=verification-deterministic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-deterministic.js","sourceRoot":"","sources":["../../src/verify/verification-deterministic.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,
|
|
1
|
+
{"version":3,"file":"verification-deterministic.js","sourceRoot":"","sources":["../../src/verify/verification-deterministic.ts"],"names":[],"mappings":"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"}
|