@telora/daemon 0.22.104 → 0.22.132
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/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/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 +151 -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.map +1 -1
- package/dist/queries/verification.js +1 -15
- 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/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.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/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 +79 -33
- package/dist/verify/verification-baseline.d.ts.map +1 -1
- package/dist/verify/verification-baseline.js +99 -106
- package/dist/verify/verification-baseline.js.map +1 -1
- package/dist/verify/verification-checkout.d.ts +13 -0
- package/dist/verify/verification-checkout.d.ts.map +1 -1
- package/dist/verify/verification-checkout.js +39 -2
- 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.map +1 -1
- package/dist/verify/verification-config.js +12 -2
- package/dist/verify/verification-config.js.map +1 -1
- package/dist/verify/verification-default-on.d.ts +27 -11
- package/dist/verify/verification-default-on.d.ts.map +1 -1
- package/dist/verify/verification-default-on.js +159 -29
- 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 +49 -42
- package/dist/verify/verification-deps-default.js.map +1 -1
- package/dist/verify/verification-deps.d.ts +69 -4
- package/dist/verify/verification-deps.d.ts.map +1 -1
- package/dist/verify/verification-deterministic.d.ts +15 -2
- package/dist/verify/verification-deterministic.d.ts.map +1 -1
- package/dist/verify/verification-deterministic.js +12 -3
- 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 +110 -92
- 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 +14 -4
- package/dist/verify/verification-evidence-unavailable-feedback.js.map +1 -1
- package/dist/verify/verification-failure-parser.d.ts +37 -3
- package/dist/verify/verification-failure-parser.d.ts.map +1 -1
- package/dist/verify/verification-failure-parser.js +66 -3
- package/dist/verify/verification-failure-parser.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 +2 -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/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,6 +1,14 @@
|
|
|
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/integration/
|
|
2
|
+
// Pinned by: packages/daemon/src/integration/delivery-gate-write-interleaving.test.ts,
|
|
3
|
+
// packages/daemon/src/integration/explicit-gate-outcome-restart.test.ts,
|
|
4
|
+
// packages/daemon/src/integration/explicit-verdict-departure-during-removal.test.ts,
|
|
5
|
+
// packages/daemon/src/integration/explicit-verdict-invalidation-restart.test.ts,
|
|
6
|
+
// packages/daemon/src/integration/explicit-verdict-reuse.test.ts,
|
|
7
|
+
// packages/daemon/src/integration/focus-commit-verdict-scenario.test.ts,
|
|
8
|
+
// packages/daemon/src/integration/verification-history-round-trip.test.ts,
|
|
9
|
+
// packages/daemon/src/integration/verification-rework-resume-verdict.test.ts,
|
|
3
10
|
// packages/daemon/src/verify/shortfall-routing.test.ts, packages/daemon/src/verify/stall-detectors.test.ts,
|
|
11
|
+
// packages/daemon/src/verify/verification-commit-sharing.test.ts,
|
|
4
12
|
// packages/daemon/src/verify/verification-default-on.test.ts,
|
|
5
13
|
// packages/daemon/src/verify/verification-feedback.test.ts,
|
|
6
14
|
// packages/daemon/src/verify/verify-evidence-unavailable.test.ts
|
|
@@ -32,8 +40,8 @@
|
|
|
32
40
|
* @module verification-feedback
|
|
33
41
|
*/
|
|
34
42
|
import { DELIVERY_STATUS, ESCALATION_REASONS, ESCALATION_DISPOSITIONS, sendMessage, withRetry, } from '@telora/daemon-core';
|
|
35
|
-
import {
|
|
36
|
-
import { carryVerificationHistory,
|
|
43
|
+
import { getDeliveryGateState, updateDeliveryStatus, } from '../queries/deliveries.js';
|
|
44
|
+
import { carryVerificationHistory, judgedFailedSha, } from '../queries/delivery-gate-state.js';
|
|
37
45
|
import { resolveReconciledWrite } from '../delivery/delivery-reconciler-apply.js';
|
|
38
46
|
import { getActiveTeams } from '../focus/focus-team-state.js';
|
|
39
47
|
import { fileEscalationIdempotent as defaultFileEscalationIdempotent, } from '../queries/escalation-suppression.js';
|
|
@@ -43,6 +51,9 @@ import { parseFailingTests } from './verification-failure-parser.js';
|
|
|
43
51
|
import { computeFailureSignatureRecord, defaultFailureSignatureDeps, } from './failure-signature.js';
|
|
44
52
|
import { classifyShortfallRepeat, } from './shortfall-repeat.js';
|
|
45
53
|
import { createLogger } from '../shell/log.js';
|
|
54
|
+
import { gateVerdictFromRun, judgedShaOfRun, readJudgedCommitGateVerdict, } from './gate-verdict-source.js';
|
|
55
|
+
import { reworkDetailVerdict, stampReworkJudgment } from './rework-judgment.js';
|
|
56
|
+
import { buildFailureInjectMessage, buildShortfallInjectMessage } from './verification-rework-messages.js';
|
|
46
57
|
/**
|
|
47
58
|
* escalation_kind for an unclearable shortfall. REUSES the iteration-cap
|
|
48
59
|
* detector's kind + per-delivery cause key on purpose: both say "this delivery's
|
|
@@ -72,29 +83,6 @@ export function buildVerificationFailureGateState(detail) {
|
|
|
72
83
|
verification: detail,
|
|
73
84
|
};
|
|
74
85
|
}
|
|
75
|
-
/** Build the failure message injected into a live team session. Pure -- exported for testing. */
|
|
76
|
-
export function buildFailureInjectMessage(deliveryName, detail) {
|
|
77
|
-
const lines = [
|
|
78
|
-
`VERIFICATION FAILED for delivery "${deliveryName}".`,
|
|
79
|
-
'',
|
|
80
|
-
detail.exitCode != null ? `Exit code: ${detail.exitCode}` : 'Exit code: (unknown)',
|
|
81
|
-
detail.logPath ? `Full log: ${detail.logPath}` : 'Full log: (not captured)',
|
|
82
|
-
];
|
|
83
|
-
if (detail.failingTests.length > 0) {
|
|
84
|
-
lines.push('', `Failing tests (${detail.failingTests.length}):`);
|
|
85
|
-
for (const t of detail.failingTests.slice(0, 50))
|
|
86
|
-
lines.push(`- ${t}`);
|
|
87
|
-
if (detail.failingTests.length > 50) {
|
|
88
|
-
lines.push(`- ... and ${detail.failingTests.length - 50} more (see full log)`);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
lines.push('', 'Failing tests could not be parsed from the run output -- read the full log.');
|
|
93
|
-
}
|
|
94
|
-
lines.push('', 'Fix the failing tests for the files you changed, then commit. The daemon re-verifies ' +
|
|
95
|
-
'at the coding -> verify edge -- do NOT run the whole-repo suite yourself.');
|
|
96
|
-
return lines.join('\n');
|
|
97
|
-
}
|
|
98
86
|
const defaultDeps = () => ({
|
|
99
87
|
writeGateState: async (deliveryId, gateState, organizationId) => {
|
|
100
88
|
// Write gate_state WITHOUT changing execution_status (stays verify) -- same
|
|
@@ -145,6 +133,7 @@ export async function deliverVerificationFailureFeedback(v, result, organization
|
|
|
145
133
|
const priorGateState = await readPriorGateStateBestEffort(d, v.deliveryId);
|
|
146
134
|
const signature = computeFailureSignatureRecord(v.deliveryId, result, failingTests, priorGateState, d);
|
|
147
135
|
const failedAtSha = judgedFailedSha(result); // durable key of the HEAD re-verify guard
|
|
136
|
+
const gateVerdict = gateVerdictFromRun(result); // what the re-work message shows the team
|
|
148
137
|
const detail = {
|
|
149
138
|
failingTests,
|
|
150
139
|
...(result.preExisting ? { preExisting: result.preExisting } : {}),
|
|
@@ -154,8 +143,11 @@ export async function deliverVerificationFailureFeedback(v, result, organization
|
|
|
154
143
|
failureSignature: signature.failureSignature,
|
|
155
144
|
signatureRun: signature.signatureRun,
|
|
156
145
|
...(failedAtSha ? { failedAtSha } : {}),
|
|
146
|
+
...(gateVerdict ? { gateVerdict } : {}),
|
|
157
147
|
};
|
|
158
|
-
|
|
148
|
+
// The judged commit rides the history with THIS run's own verdict beside it, so a
|
|
149
|
+
// later resume shows that verdict without reading any record (rework-judgment.ts).
|
|
150
|
+
const gateState = stampReworkJudgment(carryVerificationHistory(priorGateState, buildVerificationFailureGateState(detail)), { judgedSha: judgedShaOfRun(result), runVerdict: gateVerdict }, detail.failedAt);
|
|
159
151
|
// Route verify -> verify_failed through the reconciler (gaps_found +
|
|
160
152
|
// fromStatus 'verify'), the SAME choke point the shortfall path uses.
|
|
161
153
|
const decision = d.resolveReconciledWrite({
|
|
@@ -212,24 +204,6 @@ export function buildShortfallGateState(detail) {
|
|
|
212
204
|
shortfallReconciliation: detail,
|
|
213
205
|
};
|
|
214
206
|
}
|
|
215
|
-
/** Build the message injected into a live team for a shortfall hold. Pure -- exported for testing. */
|
|
216
|
-
export function buildShortfallInjectMessage(deliveryName, detail) {
|
|
217
|
-
const lines = [
|
|
218
|
-
`VERIFY HELD for delivery "${deliveryName}": the achieved outcome falls short of the declared desired effect.`,
|
|
219
|
-
'',
|
|
220
|
-
'This is NOT a failing-test failure -- the deterministic check is not the blocker. The verify ' +
|
|
221
|
-
'reconciliation compared what your diff delivered against the declared intent for each targeted ' +
|
|
222
|
-
'node and found a gap. Close the gap in the diff, then commit.',
|
|
223
|
-
'',
|
|
224
|
-
`Declared-vs-achieved gap(s) (${detail.shortfalls.length}):`,
|
|
225
|
-
];
|
|
226
|
-
for (const s of detail.shortfalls) {
|
|
227
|
-
lines.push(`- node ${s.nodeId}`, ` declared: ${s.declared}`, ` achieved: ${s.achieved}`, ` shortfall: ${s.reason}`);
|
|
228
|
-
if (s.diffCitation)
|
|
229
|
-
lines.push(` diff citation: ${s.diffCitation}`);
|
|
230
|
-
}
|
|
231
|
-
return lines.join('\n');
|
|
232
|
-
}
|
|
233
207
|
/**
|
|
234
208
|
* Deliver failure feedback for a verify-SHORTFALL reconciliation hold: write
|
|
235
209
|
* gate_state under the shortfall guard (never the deterministic guard) and
|
|
@@ -281,6 +255,7 @@ export const defaultRequeueDeps = () => ({
|
|
|
281
255
|
},
|
|
282
256
|
resolveReconciledWrite,
|
|
283
257
|
readPriorGateState: (deliveryId) => getDeliveryGateState(deliveryId),
|
|
258
|
+
readGateVerdict: (target) => readJudgedCommitGateVerdict(target),
|
|
284
259
|
});
|
|
285
260
|
/**
|
|
286
261
|
* Read the prior gate_state; null (logged) when the read fails. A read we could
|
|
@@ -324,7 +299,12 @@ export async function readPriorGateStateBestEffort(d, deliveryId) {
|
|
|
324
299
|
*/
|
|
325
300
|
export async function requeueShortfallAsRework(v, shortfalls, organizationId, deps = {}, opts = {}) {
|
|
326
301
|
const d = { ...defaultRequeueDeps(), ...deps };
|
|
302
|
+
// Usually a pass: a shortfall is judged only after the gate passed. Carried so
|
|
303
|
+
// the team is told the checks passed and the gap, not a check, holds it: the
|
|
304
|
+
// verdict THIS shortfall's run rendered for the commit it judged, never the HEAD's.
|
|
305
|
+
const gateVerdict = reworkDetailVerdict(d, v, opts);
|
|
327
306
|
const detail = {
|
|
307
|
+
...(gateVerdict ? { gateVerdict } : {}),
|
|
328
308
|
heldAt: d.now(),
|
|
329
309
|
shortfalls: shortfalls.map((s) => ({
|
|
330
310
|
nodeId: s.nodeId,
|
|
@@ -338,8 +318,9 @@ export async function requeueShortfallAsRework(v, shortfalls, organizationId, de
|
|
|
338
318
|
// identical (unclearable) one.
|
|
339
319
|
...(opts.repeat ? { repeat: opts.repeat } : {}),
|
|
340
320
|
};
|
|
341
|
-
// Carry the prior failure-signature run forward (the shortfall supersedes only
|
|
342
|
-
|
|
321
|
+
// Carry the prior failure-signature run forward (the shortfall supersedes only
|
|
322
|
+
// its own repeat); the judged commit is replaced by this run's, with its verdict.
|
|
323
|
+
const gateState = stampReworkJudgment(carryVerificationHistory(opts.priorGateState ?? null, buildShortfallGateState(detail)), opts, detail.heldAt);
|
|
343
324
|
const decision = d.resolveReconciledWrite({
|
|
344
325
|
input: {
|
|
345
326
|
currentStatus: DELIVERY_STATUS.VERIFY,
|
|
@@ -458,7 +439,7 @@ export async function escalateUnclearableShortfall(v, shortfalls, repeat, organi
|
|
|
458
439
|
repeat,
|
|
459
440
|
unclearableClaim: true,
|
|
460
441
|
};
|
|
461
|
-
const gateState = carryVerificationHistory(opts.priorGateState ?? null, buildUnclearableShortfallGateState(detail));
|
|
442
|
+
const gateState = stampReworkJudgment(carryVerificationHistory(opts.priorGateState ?? null, buildUnclearableShortfallGateState(detail)), opts, detail.heldAt);
|
|
462
443
|
// Hold the delivery in verify under the blocking gate_state WITHOUT a status
|
|
463
444
|
// transition: no verify_failed, so the iteration_count does not climb and no
|
|
464
445
|
// coding cycle respawns. The gate holds it out of done; re-queuing stops here.
|
|
@@ -530,8 +511,10 @@ const defaultRouteDeps = () => ({
|
|
|
530
511
|
* This is the sole shortfall entry point the verification engine calls; the
|
|
531
512
|
* genuine-vs-defect fork lives here, not at the call site. Best-effort.
|
|
532
513
|
*/
|
|
533
|
-
export async function routeShortfallOutcome(v, shortfalls, organizationId, deps = {}) {
|
|
514
|
+
export async function routeShortfallOutcome(v, shortfalls, organizationId, deps = {}, opts = {}) {
|
|
534
515
|
const d = { ...defaultRouteDeps(), ...deps };
|
|
516
|
+
// The commit the shortfall's run judged and the verdict it rendered there; both
|
|
517
|
+
// branches stamp them (no sha: the run judged none).
|
|
535
518
|
// The prior repeat is live on a still-held shortfall gate, or carried forward
|
|
536
519
|
// under verificationHistory after the coding -> verify advance cleared it. A
|
|
537
520
|
// read failure falls back to "no prior": the count resets and routing stays
|
|
@@ -539,49 +522,15 @@ export async function routeShortfallOutcome(v, shortfalls, organizationId, deps
|
|
|
539
522
|
const priorGateState = await readPriorGateStateBestEffort(d, v.deliveryId);
|
|
540
523
|
const { repeat, unclearable } = classifyShortfallRepeat(priorGateState, shortfalls, d.threshold);
|
|
541
524
|
if (unclearable) {
|
|
542
|
-
await escalateUnclearableShortfall(v, shortfalls, repeat, organizationId, d, { priorGateState });
|
|
525
|
+
await escalateUnclearableShortfall(v, shortfalls, repeat, organizationId, d, { ...opts, priorGateState });
|
|
543
526
|
return { routed: 'unclearable', repeat };
|
|
544
527
|
}
|
|
545
|
-
await requeueShortfallAsRework(v, shortfalls, organizationId, d, { repeat, priorGateState });
|
|
528
|
+
await requeueShortfallAsRework(v, shortfalls, organizationId, d, { ...opts, repeat, priorGateState });
|
|
546
529
|
return { routed: 'rework', repeat };
|
|
547
530
|
}
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
await updateDeliveryStatus(deliveryId, executionStatus, undefined, gateState, undefined, undefined);
|
|
552
|
-
},
|
|
553
|
-
});
|
|
554
|
-
/** A delivery that stopped cycling keeps its (now inert) history -- no write. */
|
|
555
|
-
const HISTORY_RESET_SKIPPED_STATUSES = new Set([DELIVERY_STATUS.DONE, DELIVERY_STATUS.CANCELLED]);
|
|
556
|
-
/**
|
|
557
|
-
* Reset a delivery's verification history on a verify PASS. The failure-signature
|
|
558
|
-
* run and the shortfall repeat count CONSECUTIVE rejections, and a pass breaks
|
|
559
|
-
* the streak. So a delivery that passes and is later routed back must start
|
|
560
|
-
* fresh, not extend a pre-pass run.
|
|
561
|
-
*
|
|
562
|
-
* Writes only when there is history to drop, at the row's OWN status (read in
|
|
563
|
-
* the same row read), so the gate-only write never moves the delivery. A done
|
|
564
|
-
* or cancelled delivery is left alone. clearVerificationHistory keeps any hold
|
|
565
|
-
* or live verdict and returns a history-only gate to null. Best-effort: never
|
|
566
|
-
* throws. Returns whether a reset was written.
|
|
567
|
-
*/
|
|
568
|
-
export async function resetVerificationHistoryOnPass(deliveryId, deps = {}) {
|
|
569
|
-
const d = { ...defaultResetDeps(), ...deps };
|
|
570
|
-
try {
|
|
571
|
-
const row = await d.readGateRecord(deliveryId);
|
|
572
|
-
if (!row?.executionStatus || HISTORY_RESET_SKIPPED_STATUSES.has(row.executionStatus))
|
|
573
|
-
return false;
|
|
574
|
-
const history = readVerificationHistory(row.gateState);
|
|
575
|
-
if (!history.signatureRun && !history.shortfallRepeat && !history.failedAtSha)
|
|
576
|
-
return false;
|
|
577
|
-
await d.writeGateStateAtStatus(deliveryId, row.executionStatus, clearVerificationHistory(row.gateState));
|
|
578
|
-
return true;
|
|
579
|
-
}
|
|
580
|
-
catch (err) {
|
|
581
|
-
log.warn(`failed to reset verification history for delivery ${deliveryId}:`, err.message);
|
|
582
|
-
return false;
|
|
583
|
-
}
|
|
584
|
-
}
|
|
531
|
+
// The verify-PASS history reset (resetVerificationHistoryOnPass) lives in
|
|
532
|
+
// verification-history-reset.ts; re-exported here for existing importers.
|
|
533
|
+
export { resetVerificationHistoryOnPass, } from './verification-history-reset.js';
|
|
585
534
|
// The evidence-unavailable instrument-fault re-work re-entry
|
|
586
535
|
// (EVIDENCE_UNAVAILABLE_GUARD / buildEvidenceUnavailableGateState /
|
|
587
536
|
// buildEvidenceUnavailableInjectMessage / requeueEvidenceUnavailableAsRework)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-feedback.js","sourceRoot":"","sources":["../../src/verify/verification-feedback.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verification-feedback.js","sourceRoot":"","sources":["../../src/verify/verification-feedback.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-stage outcomes of an npm `&&`-chain gate run, read from its log.
|
|
3
|
+
*
|
|
4
|
+
* Baseline attribution used to compare only parsed failing-test ids, so a red in
|
|
5
|
+
* a stage that runs no tests (a lint, a ratchet, a typecheck) parsed to zero ids
|
|
6
|
+
* and could not be told apart from a crash -- even when the very same stage fails
|
|
7
|
+
* on the focus base (2026-09-14: lint:hooks-index drift inherited through an
|
|
8
|
+
* integration merge sent a delivery to re-work). Attribution needs to know WHICH
|
|
9
|
+
* stage failed, which stages passed before it, and which never ran after it. This
|
|
10
|
+
* module answers that from the log alone, so it works for any product's gate and
|
|
11
|
+
* hard-codes no stage names.
|
|
12
|
+
*
|
|
13
|
+
* What the log carries. npm prints, for every script it starts,
|
|
14
|
+
* > <package>@<version> <script>
|
|
15
|
+
* > <the script's command line>
|
|
16
|
+
* and nothing when a script ends. A gate command `npm run <gate>` therefore opens
|
|
17
|
+
* with its own header, whose command line is the chain. Every `npm run <name>`
|
|
18
|
+
* segment of a chain whose own command line is again a pure chain is DESCENDED
|
|
19
|
+
* into (lint:all is itself a chain of ~50 linters), so a red is located at the
|
|
20
|
+
* innermost chain step, not at the whole wrapper stage: that is what lets the
|
|
21
|
+
* steps after it be run. A segment whose command is anything else is ATOMIC.
|
|
22
|
+
* A trailing `echo TELORA_GATE_COMPLETE:<name>` segment is the completion
|
|
23
|
+
* sentinel, not a stage.
|
|
24
|
+
*
|
|
25
|
+
* Walking the headers in order against a stack of chains: a header that starts
|
|
26
|
+
* the next expected segment of some chain on the stack means every stage above
|
|
27
|
+
* that chain finished green (`&&` moved on). A header nothing expects is the
|
|
28
|
+
* nested output of an atomic stage (check:types-drift spawns an npm script of its
|
|
29
|
+
* own). For a failed run the last started stage is the red; the segments not yet
|
|
30
|
+
* started, innermost chain first, are the CONTINUATION -- re-runnable as-is from
|
|
31
|
+
* the gate's cwd.
|
|
32
|
+
*
|
|
33
|
+
* Fail closed. Any shape this model cannot vouch for yields null, and a null
|
|
34
|
+
* outcome demotes nothing (the caller behaves exactly as before stages existed):
|
|
35
|
+
* a gate command other than a bare `npm run <gate>`, a chain segment that is not
|
|
36
|
+
* `npm run <name>` (optionally `--prefix <dir>`), a header that contradicts the
|
|
37
|
+
* chain, a finished run whose sentinel is missing, a failed run that printed its
|
|
38
|
+
* sentinel, or a run with no exit status (killed).
|
|
39
|
+
*
|
|
40
|
+
* Known imprecision, both sides alike: npm prints no end marker, so when a stage
|
|
41
|
+
* passes and the NEXT one fails before printing a header (a missing script), the
|
|
42
|
+
* earlier stage is read as the red. A red read one stage early is still followed
|
|
43
|
+
* by a continuation that re-runs the real failing step at the same commit, so it
|
|
44
|
+
* is re-exposed rather than hidden. Pure -- no I/O.
|
|
45
|
+
*
|
|
46
|
+
* @module verify/verification-gate-stages
|
|
47
|
+
*/
|
|
48
|
+
/** A step of a gate chain, re-runnable on its own from the gate's cwd. */
|
|
49
|
+
export interface GateSegment {
|
|
50
|
+
/** The segment's text in the chain (e.g. `npm run lint --prefix packages/daemon`). */
|
|
51
|
+
text: string;
|
|
52
|
+
/** Stage label: the script (with its `--prefix`), nested under its chain's label by ` > `. */
|
|
53
|
+
label: string;
|
|
54
|
+
/** The npm script the segment runs; null for the completion sentinel. */
|
|
55
|
+
script: string | null;
|
|
56
|
+
/** The `--prefix` package dir, when the segment runs another package's script. */
|
|
57
|
+
prefix: string | null;
|
|
58
|
+
/** The sentinel line the segment echoes; null for a script segment. */
|
|
59
|
+
sentinel: string | null;
|
|
60
|
+
}
|
|
61
|
+
/** What a gate run did, stage by stage (the part a baseline cache entry records). */
|
|
62
|
+
export interface GateStageOutcome {
|
|
63
|
+
/** Labels of the stages that ran and passed, in the order they finished. */
|
|
64
|
+
ran: string[];
|
|
65
|
+
/** Label of the stage that failed; null when the whole chain passed. */
|
|
66
|
+
failedStage: string | null;
|
|
67
|
+
/** Labels of the stages that never started because an earlier one failed. */
|
|
68
|
+
notRun: string[];
|
|
69
|
+
}
|
|
70
|
+
/** A parsed run: its outcome plus what re-running the never-run stages needs. */
|
|
71
|
+
export interface ParsedGateRun extends GateStageOutcome {
|
|
72
|
+
/** The gate's own package, as npm printed it (keys header matching in a continuation). */
|
|
73
|
+
package: string;
|
|
74
|
+
/** The never-started segments in chain order, innermost chain first (sentinel included). */
|
|
75
|
+
continuation: GateSegment[];
|
|
76
|
+
/**
|
|
77
|
+
* The failed stage's own log segment (ANSI-stripped lines after its header, to
|
|
78
|
+
* the end of the log); [] for a passing run. Its diagnostics are what tell two
|
|
79
|
+
* reds of the same stage apart (verify/verification-diagnostics.ts).
|
|
80
|
+
*/
|
|
81
|
+
failedStageOutput: string[];
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Backstop on how many red stages one gate is walked past (a continuation per
|
|
85
|
+
* red, on either side). Each round's red is strictly later in the gate's finite
|
|
86
|
+
* chain, so a real log settles long before this; it only bounds a log that
|
|
87
|
+
* would not.
|
|
88
|
+
*/
|
|
89
|
+
export declare const MAX_STAGE_ROUNDS = 64;
|
|
90
|
+
/**
|
|
91
|
+
* Split a command line into chain segments, or null when it is not a pure chain
|
|
92
|
+
* of `npm run <name>` steps (a sentinel echo is allowed as the last step).
|
|
93
|
+
*/
|
|
94
|
+
export declare function parseChainSegments(command: string, parentLabel: string): GateSegment[] | null;
|
|
95
|
+
/**
|
|
96
|
+
* Stage outcomes of a run of `gateCommand` (a bare `npm run <gate>`), or null
|
|
97
|
+
* when the log does not vouch for them (module doc).
|
|
98
|
+
*/
|
|
99
|
+
export declare function parseGateRunStages(log: string, exitCode: number | null | undefined, gateCommand: string): ParsedGateRun | null;
|
|
100
|
+
/**
|
|
101
|
+
* Stage outcomes of a CONTINUATION run: `segments` (a parsed run's continuation)
|
|
102
|
+
* joined by ` && ` and run directly, so no gate header opens the log. Labels stay
|
|
103
|
+
* those of the original gate, so they compare against the base's outcome.
|
|
104
|
+
*/
|
|
105
|
+
export declare function parseContinuationStages(log: string, exitCode: number | null | undefined, segments: readonly GateSegment[], gatePackage: string): ParsedGateRun | null;
|
|
106
|
+
/** The command a continuation runs: the segments' own text, chained as the gate chained them. */
|
|
107
|
+
export declare function continuationCommand(segments: readonly GateSegment[]): string;
|
|
108
|
+
/** True when a parsed run's continuation still has a stage to run. */
|
|
109
|
+
export declare function hasStageToContinue(run: Pick<ParsedGateRun, 'continuation'>): boolean;
|
|
110
|
+
//# sourceMappingURL=verification-gate-stages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-gate-stages.d.ts","sourceRoot":"","sources":["../../src/verify/verification-gate-stages.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,0EAA0E;AAC1E,MAAM,WAAW,WAAW;IAC1B,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,8FAA8F;IAC9F,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,kFAAkF;IAClF,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,wEAAwE;IACxE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,6EAA6E;IAC7E,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,iFAAiF;AACjF,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,0FAA0F;IAC1F,OAAO,EAAE,MAAM,CAAC;IAChB,4FAA4F;IAC5F,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAWnC;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,IAAI,CAoB7F;AAsHD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAU9H;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,WAAW,EAAE,MAAM,GAClB,aAAa,GAAG,IAAI,CAItB;AAED,iGAAiG;AACjG,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,CAE5E;AAED,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,OAAO,CAEpF"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
+
// Pinned by: packages/daemon/src/verify/verification-attribution.test.ts,
|
|
3
|
+
// packages/daemon/src/verify/verification-gate-stages.test.ts
|
|
4
|
+
// PINNED-BY-END
|
|
5
|
+
/**
|
|
6
|
+
* Backstop on how many red stages one gate is walked past (a continuation per
|
|
7
|
+
* red, on either side). Each round's red is strictly later in the gate's finite
|
|
8
|
+
* chain, so a real log settles long before this; it only bounds a log that
|
|
9
|
+
* would not.
|
|
10
|
+
*/
|
|
11
|
+
export const MAX_STAGE_ROUNDS = 64;
|
|
12
|
+
const ESC = String.fromCharCode(27);
|
|
13
|
+
const ANSI_RE = new RegExp(`${ESC}\\[[0-9;?]*[A-Za-z]`, 'g');
|
|
14
|
+
/** npm's per-script header: "> <name>@<version> <script>" (name may be scoped). */
|
|
15
|
+
const NPM_HEADER_RE = /^> ((?:@[^\s@/]+\/)?[^\s@]+)@\S+ (\S+)$/;
|
|
16
|
+
const SCRIPT_NAME = '[A-Za-z0-9][A-Za-z0-9:._-]*';
|
|
17
|
+
const NPM_RUN_SEGMENT_RE = new RegExp(`^npm run (${SCRIPT_NAME})(?: --prefix ([A-Za-z0-9._/-]+))?$`);
|
|
18
|
+
const SENTINEL_SEGMENT_RE = /^echo (TELORA_GATE_COMPLETE:[A-Za-z0-9._-]+)$/;
|
|
19
|
+
const GATE_COMMAND_RE = new RegExp(`^npm run (${SCRIPT_NAME})$`);
|
|
20
|
+
/**
|
|
21
|
+
* Split a command line into chain segments, or null when it is not a pure chain
|
|
22
|
+
* of `npm run <name>` steps (a sentinel echo is allowed as the last step).
|
|
23
|
+
*/
|
|
24
|
+
export function parseChainSegments(command, parentLabel) {
|
|
25
|
+
const parts = command.trim().split(/\s+&&\s+/);
|
|
26
|
+
const segments = [];
|
|
27
|
+
for (const [index, raw] of parts.entries()) {
|
|
28
|
+
const part = raw.trim();
|
|
29
|
+
const run = NPM_RUN_SEGMENT_RE.exec(part);
|
|
30
|
+
if (run) {
|
|
31
|
+
const prefix = run[2] ?? null;
|
|
32
|
+
const name = prefix ? `${run[1]} --prefix ${prefix}` : run[1];
|
|
33
|
+
segments.push({ text: part, label: parentLabel ? `${parentLabel} > ${name}` : name, script: run[1], prefix, sentinel: null });
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
const sentinel = SENTINEL_SEGMENT_RE.exec(part);
|
|
37
|
+
if (sentinel && index === parts.length - 1) {
|
|
38
|
+
segments.push({ text: part, label: sentinel[1], script: null, prefix: null, sentinel: sentinel[1] });
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
return segments.some((segment) => segment.script !== null) ? segments : null;
|
|
44
|
+
}
|
|
45
|
+
/** Every npm script header in the log, with the command line printed under it. */
|
|
46
|
+
function readScriptHeaders(lines) {
|
|
47
|
+
const headers = [];
|
|
48
|
+
for (let index = 0; index < lines.length; index++) {
|
|
49
|
+
const header = NPM_HEADER_RE.exec(lines[index]);
|
|
50
|
+
if (!header)
|
|
51
|
+
continue;
|
|
52
|
+
const next = lines[index + 1];
|
|
53
|
+
const command = next !== undefined && next.startsWith('> ') ? next.slice(2).trim() : null;
|
|
54
|
+
if (command !== null)
|
|
55
|
+
index += 1; // the command line is not a header
|
|
56
|
+
headers.push({ pkg: header[1], script: header[2], command, bodyStart: index + 1 });
|
|
57
|
+
}
|
|
58
|
+
return headers;
|
|
59
|
+
}
|
|
60
|
+
const pendingSegments = (frame) => (frame.segments ? frame.segments.slice(frame.next) : []);
|
|
61
|
+
const chainFinished = (frame) => pendingSegments(frame).every((segment) => segment.script === null);
|
|
62
|
+
/**
|
|
63
|
+
* Does header `h` start `segment` of a chain run by package `chainPkg`? A plain
|
|
64
|
+
* segment runs the chain's own package; a `--prefix` one runs another.
|
|
65
|
+
*/
|
|
66
|
+
function startsSegment(segment, h, chainPkg) {
|
|
67
|
+
if (!segment || segment.script !== h.script)
|
|
68
|
+
return false;
|
|
69
|
+
return segment.prefix === null ? h.pkg === chainPkg : h.pkg !== chainPkg;
|
|
70
|
+
}
|
|
71
|
+
/** Advance the stack by one header; false when the header contradicts the chains. */
|
|
72
|
+
function applyHeader(stack, ran, h) {
|
|
73
|
+
let at = stack.length - 1;
|
|
74
|
+
while (at >= 0 && !startsSegment(stack[at].segments?.[stack[at].next], h, stack[at].pkg))
|
|
75
|
+
at--;
|
|
76
|
+
// Nothing expects it: the nested output of an atomic stage, or a contradiction.
|
|
77
|
+
if (at < 0)
|
|
78
|
+
return stack[stack.length - 1].segments === null;
|
|
79
|
+
for (let index = stack.length - 1; index > at; index--) {
|
|
80
|
+
if (!chainFinished(stack[index]))
|
|
81
|
+
return false; // a chain moved on past an unfinished one
|
|
82
|
+
ran.push(stack[index].label);
|
|
83
|
+
}
|
|
84
|
+
stack.length = at + 1;
|
|
85
|
+
const parent = stack[at];
|
|
86
|
+
const segment = parent.segments[parent.next];
|
|
87
|
+
parent.next += 1;
|
|
88
|
+
// Descend only into a same-package chain: a prefixed package's steps are not
|
|
89
|
+
// re-runnable from the gate's cwd by their bare text.
|
|
90
|
+
const segments = segment.prefix === null && h.command !== null ? parseChainSegments(h.command, segment.label) : null;
|
|
91
|
+
stack.push({ label: segment.label, pkg: h.pkg, segments, next: 0, bodyStart: h.bodyStart });
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
/** Read the walked stack into an outcome, or null when the exit status contradicts it. */
|
|
95
|
+
function settleRun(lines, stack, ran, exitCode, sentinelSeen) {
|
|
96
|
+
const pkg = stack[0].pkg;
|
|
97
|
+
if (exitCode === 0) {
|
|
98
|
+
if (sentinelSeen === false || !stack.every(chainFinished))
|
|
99
|
+
return null;
|
|
100
|
+
const finished = [...ran, ...stack.slice(1).reverse().map((frame) => frame.label)];
|
|
101
|
+
return { package: pkg, ran: finished, failedStage: null, notRun: [], continuation: [], failedStageOutput: [] };
|
|
102
|
+
}
|
|
103
|
+
if (typeof exitCode !== 'number' || sentinelSeen === true)
|
|
104
|
+
return null;
|
|
105
|
+
const top = stack[stack.length - 1];
|
|
106
|
+
let failedStage;
|
|
107
|
+
let continuation;
|
|
108
|
+
if (top.segments === null) {
|
|
109
|
+
failedStage = top.label;
|
|
110
|
+
continuation = [];
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
// A chain whose next step printed no header: that step could not start.
|
|
114
|
+
const blocked = top.segments[top.next];
|
|
115
|
+
if (!blocked || blocked.script === null)
|
|
116
|
+
return null;
|
|
117
|
+
failedStage = blocked.label;
|
|
118
|
+
continuation = top.segments.slice(top.next + 1);
|
|
119
|
+
}
|
|
120
|
+
// Then every enclosing chain's untouched steps, innermost first.
|
|
121
|
+
for (let index = stack.length - 2; index >= 0; index--)
|
|
122
|
+
continuation.push(...pendingSegments(stack[index]));
|
|
123
|
+
const notRun = continuation.filter((segment) => segment.script !== null).map((segment) => segment.label);
|
|
124
|
+
// A blocked chain step printed no header of its own: its output follows the chain's header.
|
|
125
|
+
return { package: pkg, ran, failedStage, notRun, continuation, failedStageOutput: lines.slice(top.bodyStart) };
|
|
126
|
+
}
|
|
127
|
+
/** Walk the headers against a root chain; the sentinel is the root chain's own. */
|
|
128
|
+
function walkChain(lines, headers, root, exitCode) {
|
|
129
|
+
const stack = [root];
|
|
130
|
+
const ran = [];
|
|
131
|
+
for (const h of headers) {
|
|
132
|
+
if (!applyHeader(stack, ran, h))
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
const sentinel = root.segments?.find((segment) => segment.sentinel !== null)?.sentinel ?? null;
|
|
136
|
+
const sentinelSeen = sentinel === null ? null : lines.some((line) => line.trim() === sentinel);
|
|
137
|
+
return settleRun(lines, stack, ran, exitCode, sentinelSeen);
|
|
138
|
+
}
|
|
139
|
+
function logLines(log) {
|
|
140
|
+
return (typeof log === 'string' ? log : '').replace(ANSI_RE, '').split(/\r?\n/).map((line) => line.trimEnd());
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Stage outcomes of a run of `gateCommand` (a bare `npm run <gate>`), or null
|
|
144
|
+
* when the log does not vouch for them (module doc).
|
|
145
|
+
*/
|
|
146
|
+
export function parseGateRunStages(log, exitCode, gateCommand) {
|
|
147
|
+
const gate = GATE_COMMAND_RE.exec(gateCommand.trim());
|
|
148
|
+
if (!gate)
|
|
149
|
+
return null;
|
|
150
|
+
const lines = logLines(log);
|
|
151
|
+
const headers = readScriptHeaders(lines);
|
|
152
|
+
const root = headers[0];
|
|
153
|
+
if (!root || root.script !== gate[1] || root.command === null)
|
|
154
|
+
return null;
|
|
155
|
+
const segments = parseChainSegments(root.command, '');
|
|
156
|
+
if (!segments)
|
|
157
|
+
return null;
|
|
158
|
+
return walkChain(lines, headers.slice(1), { label: '', pkg: root.pkg, segments, next: 0, bodyStart: root.bodyStart }, exitCode);
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Stage outcomes of a CONTINUATION run: `segments` (a parsed run's continuation)
|
|
162
|
+
* joined by ` && ` and run directly, so no gate header opens the log. Labels stay
|
|
163
|
+
* those of the original gate, so they compare against the base's outcome.
|
|
164
|
+
*/
|
|
165
|
+
export function parseContinuationStages(log, exitCode, segments, gatePackage) {
|
|
166
|
+
if (!segments.some((segment) => segment.script !== null))
|
|
167
|
+
return null;
|
|
168
|
+
const lines = logLines(log);
|
|
169
|
+
return walkChain(lines, readScriptHeaders(lines), { label: '', pkg: gatePackage, segments: [...segments], next: 0, bodyStart: 0 }, exitCode);
|
|
170
|
+
}
|
|
171
|
+
/** The command a continuation runs: the segments' own text, chained as the gate chained them. */
|
|
172
|
+
export function continuationCommand(segments) {
|
|
173
|
+
return segments.map((segment) => segment.text).join(' && ');
|
|
174
|
+
}
|
|
175
|
+
/** True when a parsed run's continuation still has a stage to run. */
|
|
176
|
+
export function hasStageToContinue(run) {
|
|
177
|
+
return run.continuation.some((segment) => segment.script !== null);
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=verification-gate-stages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-gate-stages.js","sourceRoot":"","sources":["../../src/verify/verification-gate-stages.ts"],"names":[],"mappings":"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"}
|