@telora/daemon 0.24.17 → 0.24.26
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 +12 -3
- package/dist/audit/audit-prompt.d.ts.map +1 -1
- package/dist/audit/audit-prompt.js +15 -0
- package/dist/audit/audit-prompt.js.map +1 -1
- package/dist/ci/candidate-failure-record.d.ts +104 -0
- package/dist/ci/candidate-failure-record.d.ts.map +1 -0
- package/dist/ci/candidate-failure-record.js +135 -0
- package/dist/ci/candidate-failure-record.js.map +1 -0
- package/dist/ci/candidate-ref.d.ts.map +1 -1
- package/dist/ci/candidate-ref.js +10 -3
- package/dist/ci/candidate-ref.js.map +1 -1
- package/dist/ci/ci-status-git.d.ts.map +1 -1
- package/dist/ci/ci-status-git.js +1 -0
- package/dist/ci/ci-status-git.js.map +1 -1
- package/dist/ci/ci-status.d.ts.map +1 -1
- package/dist/ci/ci-status.js +1 -0
- package/dist/ci/ci-status.js.map +1 -1
- package/dist/ci/gate-ref.d.ts +10 -1
- package/dist/ci/gate-ref.d.ts.map +1 -1
- package/dist/ci/gate-ref.js +11 -4
- package/dist/ci/gate-ref.js.map +1 -1
- package/dist/ci/product-ci-repo.d.ts.map +1 -1
- package/dist/ci/product-ci-repo.js +3 -2
- package/dist/ci/product-ci-repo.js.map +1 -1
- package/dist/completion/completion-event/event.d.ts +4 -3
- package/dist/completion/completion-event/event.d.ts.map +1 -1
- package/dist/completion/completion-event/event.js.map +1 -1
- package/dist/completion/review-cycle-budget/review-cycle-cap.d.ts +19 -11
- package/dist/completion/review-cycle-budget/review-cycle-cap.d.ts.map +1 -1
- package/dist/completion/review-cycle-budget/review-cycle-cap.js +36 -36
- package/dist/completion/review-cycle-budget/review-cycle-cap.js.map +1 -1
- package/dist/completion/review-cycle-budget/review-loop-detection.d.ts +101 -0
- package/dist/completion/review-cycle-budget/review-loop-detection.d.ts.map +1 -0
- package/dist/completion/review-cycle-budget/review-loop-detection.js +105 -0
- package/dist/completion/review-cycle-budget/review-loop-detection.js.map +1 -0
- package/dist/completion/review-cycle-budget/spent-budget-release.d.ts +70 -0
- package/dist/completion/review-cycle-budget/spent-budget-release.d.ts.map +1 -0
- package/dist/completion/review-cycle-budget/spent-budget-release.js +98 -0
- package/dist/completion/review-cycle-budget/spent-budget-release.js.map +1 -0
- package/dist/completion/review-exit/review-defect-detector.d.ts +71 -49
- package/dist/completion/review-exit/review-defect-detector.d.ts.map +1 -1
- package/dist/completion/review-exit/review-defect-detector.js +75 -69
- package/dist/completion/review-exit/review-defect-detector.js.map +1 -1
- package/dist/completion/review-exit/review-exit-attribution.d.ts +1 -1
- package/dist/completion/review-exit/review-exit-attribution.js +1 -1
- package/dist/completion/review-exit/review-exit-deps.d.ts +5 -2
- package/dist/completion/review-exit/review-exit-deps.d.ts.map +1 -1
- package/dist/completion/review-exit/review-exit-deps.js +1 -1
- package/dist/completion/review-exit/review-exit-evidence.d.ts +10 -1
- package/dist/completion/review-exit/review-exit-evidence.d.ts.map +1 -1
- package/dist/completion/review-exit/review-exit-evidence.js +17 -14
- package/dist/completion/review-exit/review-exit-evidence.js.map +1 -1
- package/dist/completion/review-exit/review-exit-foreign-findings.d.ts +1 -1
- package/dist/completion/review-exit/review-exit-foreign-findings.d.ts.map +1 -1
- package/dist/completion/review-exit/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit/review-exit-phase.js +12 -8
- package/dist/completion/review-exit/review-exit-phase.js.map +1 -1
- package/dist/completion/state-cascade/review-next-step.d.ts +12 -3
- package/dist/completion/state-cascade/review-next-step.d.ts.map +1 -1
- package/dist/completion/state-cascade/review-next-step.js +10 -1
- package/dist/completion/state-cascade/review-next-step.js.map +1 -1
- package/dist/completion/state-cascade/standing-approval-convergence.d.ts +1 -1
- package/dist/completion/state-cascade/standing-approval-convergence.d.ts.map +1 -1
- package/dist/completion/state-cascade/standing-approval-convergence.js +10 -4
- package/dist/completion/state-cascade/standing-approval-convergence.js.map +1 -1
- package/dist/completion/state-cascade/state-cascade.d.ts +3 -0
- package/dist/completion/state-cascade/state-cascade.d.ts.map +1 -1
- package/dist/completion/state-cascade/state-cascade.js +16 -1
- package/dist/completion/state-cascade/state-cascade.js.map +1 -1
- package/dist/completion/team-exit/status-advance-phase.d.ts +1 -1
- package/dist/completion/team-exit/status-advance-phase.d.ts.map +1 -1
- package/dist/completion/team-exit/status-advance-phase.js +6 -4
- package/dist/completion/team-exit/status-advance-phase.js.map +1 -1
- package/dist/completion/team-outcome/apply-turn.d.ts.map +1 -1
- package/dist/completion/team-outcome/apply-turn.js +9 -4
- package/dist/completion/team-outcome/apply-turn.js.map +1 -1
- package/dist/completion/team-outcome/decide-turn-entry-rows.d.ts.map +1 -1
- package/dist/completion/team-outcome/decide-turn-entry-rows.js +28 -3
- package/dist/completion/team-outcome/decide-turn-entry-rows.js.map +1 -1
- package/dist/completion/team-outcome/decide.d.ts.map +1 -1
- package/dist/completion/team-outcome/decide.js +1 -0
- package/dist/completion/team-outcome/decide.js.map +1 -1
- package/dist/completion/team-outcome/exit-limits.d.ts +6 -0
- package/dist/completion/team-outcome/exit-limits.d.ts.map +1 -1
- package/dist/completion/team-outcome/exit-limits.js +6 -0
- package/dist/completion/team-outcome/exit-limits.js.map +1 -1
- package/dist/completion/team-outcome/exit-pipeline-state.d.ts +5 -0
- package/dist/completion/team-outcome/exit-pipeline-state.d.ts.map +1 -1
- package/dist/completion/team-outcome/exit-pipeline-state.js.map +1 -1
- package/dist/completion/team-teardown/session-hold-bounds.d.ts +10 -1
- package/dist/completion/team-teardown/session-hold-bounds.d.ts.map +1 -1
- package/dist/completion/team-teardown/session-hold-bounds.js +11 -0
- package/dist/completion/team-teardown/session-hold-bounds.js.map +1 -1
- package/dist/completion/team-teardown/session-hold.d.ts.map +1 -1
- package/dist/completion/team-teardown/session-hold.js +2 -0
- package/dist/completion/team-teardown/session-hold.js.map +1 -1
- package/dist/composition/engine-start-context.d.ts.map +1 -1
- package/dist/composition/engine-start-context.js +9 -1
- package/dist/composition/engine-start-context.js.map +1 -1
- package/dist/composition/execution-merge-context.d.ts +13 -0
- package/dist/composition/execution-merge-context.d.ts.map +1 -1
- package/dist/composition/execution-merge-context.js +76 -3
- package/dist/composition/execution-merge-context.js.map +1 -1
- package/dist/composition/execution-spawn-context.d.ts.map +1 -1
- package/dist/composition/execution-spawn-context.js +2 -0
- package/dist/composition/execution-spawn-context.js.map +1 -1
- package/dist/composition/focus-activity-live-sources.d.ts.map +1 -1
- package/dist/composition/focus-activity-live-sources.js +1 -0
- package/dist/composition/focus-activity-live-sources.js.map +1 -1
- package/dist/composition/judgement-contexts.d.ts.map +1 -1
- package/dist/composition/judgement-contexts.js +8 -2
- package/dist/composition/judgement-contexts.js.map +1 -1
- package/dist/composition/review-exit-context.d.ts.map +1 -1
- package/dist/composition/review-exit-context.js +2 -0
- package/dist/composition/review-exit-context.js.map +1 -1
- package/dist/composition/review-loop-context.d.ts +28 -0
- package/dist/composition/review-loop-context.d.ts.map +1 -0
- package/dist/composition/review-loop-context.js +147 -0
- package/dist/composition/review-loop-context.js.map +1 -0
- package/dist/composition/runtime-heartbeat-context.d.ts +11 -0
- package/dist/composition/runtime-heartbeat-context.d.ts.map +1 -1
- package/dist/composition/runtime-heartbeat-context.js +33 -2
- package/dist/composition/runtime-heartbeat-context.js.map +1 -1
- package/dist/composition/spawn-pass-deps.d.ts.map +1 -1
- package/dist/composition/spawn-pass-deps.js +3 -0
- package/dist/composition/spawn-pass-deps.js.map +1 -1
- package/dist/composition/state-cascade-context.d.ts.map +1 -1
- package/dist/composition/state-cascade-context.js +3 -1
- package/dist/composition/state-cascade-context.js.map +1 -1
- package/dist/composition/team-liveness-phase-sources.d.ts.map +1 -1
- package/dist/composition/team-liveness-phase-sources.js +1 -0
- package/dist/composition/team-liveness-phase-sources.js.map +1 -1
- package/dist/composition/tower-escalation-context.d.ts +12 -0
- package/dist/composition/tower-escalation-context.d.ts.map +1 -0
- package/dist/composition/tower-escalation-context.js +109 -0
- package/dist/composition/tower-escalation-context.js.map +1 -0
- package/dist/composition/verification-context.d.ts.map +1 -1
- package/dist/composition/verification-context.js +34 -4
- package/dist/composition/verification-context.js.map +1 -1
- package/dist/composition/workstation-intervals-context.d.ts +3 -0
- package/dist/composition/workstation-intervals-context.d.ts.map +1 -0
- package/dist/composition/workstation-intervals-context.js +33 -0
- package/dist/composition/workstation-intervals-context.js.map +1 -0
- package/dist/daemon-state/awaiting-slot.d.ts +18 -1
- package/dist/daemon-state/awaiting-slot.d.ts.map +1 -1
- package/dist/daemon-state/awaiting-slot.js +7 -0
- package/dist/daemon-state/awaiting-slot.js.map +1 -1
- package/dist/delivery/delivery-reconciler.d.ts +7 -7
- package/dist/delivery/recorded-concerns.d.ts +63 -28
- package/dist/delivery/recorded-concerns.d.ts.map +1 -1
- package/dist/delivery/recorded-concerns.js +72 -28
- package/dist/delivery/recorded-concerns.js.map +1 -1
- package/dist/directive/directive-queue.d.ts +8 -0
- package/dist/directive/directive-queue.d.ts.map +1 -1
- package/dist/directive/directive-queue.js +1 -1
- package/dist/directive/directive-queue.js.map +1 -1
- package/dist/focus/control-state.d.ts +6 -4
- package/dist/focus/control-state.d.ts.map +1 -1
- package/dist/focus/control-state.js +6 -4
- package/dist/focus/control-state.js.map +1 -1
- package/dist/focus/daemon-contexts-judgement.d.ts +6 -0
- package/dist/focus/daemon-contexts-judgement.d.ts.map +1 -1
- package/dist/focus/daemon-contexts.d.ts +6 -0
- package/dist/focus/daemon-contexts.d.ts.map +1 -1
- package/dist/focus/daemon-contexts.js.map +1 -1
- package/dist/focus/focus-engine.d.ts.map +1 -1
- package/dist/focus/focus-engine.js +3 -1
- package/dist/focus/focus-engine.js.map +1 -1
- package/dist/focus/focus-executor.d.ts.map +1 -1
- package/dist/focus/focus-executor.js +3 -2
- package/dist/focus/focus-executor.js.map +1 -1
- package/dist/focus/focus-loop-registry.d.ts.map +1 -1
- package/dist/focus/focus-loop-registry.js +42 -0
- package/dist/focus/focus-loop-registry.js.map +1 -1
- package/dist/focus/focus-poller-auto-advance.d.ts +4 -2
- package/dist/focus/focus-poller-auto-advance.d.ts.map +1 -1
- package/dist/focus/focus-poller-auto-advance.js +24 -18
- package/dist/focus/focus-poller-auto-advance.js.map +1 -1
- package/dist/focus/focus-poller-spawn.d.ts.map +1 -1
- package/dist/focus/focus-poller-spawn.js +8 -6
- package/dist/focus/focus-poller-spawn.js.map +1 -1
- package/dist/focus/heartbeat-metadata.d.ts +5 -0
- package/dist/focus/heartbeat-metadata.d.ts.map +1 -1
- package/dist/focus/heartbeat-metadata.js +12 -0
- package/dist/focus/heartbeat-metadata.js.map +1 -1
- package/dist/focus/heartbeat.d.ts +9 -2
- package/dist/focus/heartbeat.d.ts.map +1 -1
- package/dist/focus/heartbeat.js +10 -1
- package/dist/focus/heartbeat.js.map +1 -1
- package/dist/focus/host-pressure.d.ts +77 -0
- package/dist/focus/host-pressure.d.ts.map +1 -0
- package/dist/focus/host-pressure.js +83 -0
- package/dist/focus/host-pressure.js.map +1 -0
- package/dist/focus/pending-directive-gates.d.ts +14 -0
- package/dist/focus/pending-directive-gates.d.ts.map +1 -1
- package/dist/focus/pending-directive-gates.js +25 -1
- package/dist/focus/pending-directive-gates.js.map +1 -1
- package/dist/focus/pending-spawn-pass-deps.d.ts +7 -0
- package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -1
- package/dist/focus/pending-spawn-review-next-step.d.ts +1 -1
- package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -1
- package/dist/focus/pending-spawn-review-next-step.js +2 -0
- package/dist/focus/pending-spawn-review-next-step.js.map +1 -1
- package/dist/focus/ready-focus-team-work.d.ts +9 -4
- package/dist/focus/ready-focus-team-work.d.ts.map +1 -1
- package/dist/focus/ready-focus-team-work.js +14 -3
- package/dist/focus/ready-focus-team-work.js.map +1 -1
- package/dist/focus/verify-open-issues.d.ts +3 -2
- package/dist/focus/verify-open-issues.d.ts.map +1 -1
- package/dist/focus/verify-open-issues.js +6 -4
- package/dist/focus/verify-open-issues.js.map +1 -1
- package/dist/focus/workstation-intervals.d.ts +83 -0
- package/dist/focus/workstation-intervals.d.ts.map +1 -0
- package/dist/focus/workstation-intervals.js +81 -0
- package/dist/focus/workstation-intervals.js.map +1 -0
- package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts +5 -2
- package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/wedge-watchdog.js +2 -2
- package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
- package/dist/git/types.js +1 -1
- package/dist/merge/candidate-ci-failures.d.ts +72 -0
- package/dist/merge/candidate-ci-failures.d.ts.map +1 -0
- package/dist/merge/candidate-ci-failures.js +240 -0
- package/dist/merge/candidate-ci-failures.js.map +1 -0
- package/dist/merge/candidate-red-record.d.ts +44 -0
- package/dist/merge/candidate-red-record.d.ts.map +1 -0
- package/dist/merge/candidate-red-record.js +98 -0
- package/dist/merge/candidate-red-record.js.map +1 -0
- package/dist/merge/candidate-rework.d.ts +4 -3
- package/dist/merge/candidate-rework.d.ts.map +1 -1
- package/dist/merge/candidate-rework.js +46 -14
- package/dist/merge/candidate-rework.js.map +1 -1
- package/dist/merge/candidate-tip-attribution.d.ts +135 -0
- package/dist/merge/candidate-tip-attribution.d.ts.map +1 -0
- package/dist/merge/candidate-tip-attribution.js +319 -0
- package/dist/merge/candidate-tip-attribution.js.map +1 -0
- package/dist/merge/completion-merge-driver.d.ts +49 -5
- package/dist/merge/completion-merge-driver.d.ts.map +1 -1
- package/dist/merge/completion-merge-driver.js +56 -2
- package/dist/merge/completion-merge-driver.js.map +1 -1
- package/dist/merge/completion-merge-gate.d.ts +4 -1
- package/dist/merge/completion-merge-gate.d.ts.map +1 -1
- package/dist/merge/completion-merge-gate.js +9 -8
- package/dist/merge/completion-merge-gate.js.map +1 -1
- package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
- package/dist/prompt-sections/persona-sections.js +4 -1
- package/dist/prompt-sections/persona-sections.js.map +1 -1
- package/dist/prompt-sections/qa-author-section.d.ts.map +1 -1
- package/dist/prompt-sections/qa-author-section.js +18 -1
- package/dist/prompt-sections/qa-author-section.js.map +1 -1
- package/dist/prompt-sections/scoping-sections.d.ts +0 -12
- package/dist/prompt-sections/scoping-sections.d.ts.map +1 -1
- package/dist/prompt-sections/scoping-sections.js +16 -2
- package/dist/prompt-sections/scoping-sections.js.map +1 -1
- package/dist/prompts/bounded-universals.d.ts +13 -0
- package/dist/prompts/bounded-universals.d.ts.map +1 -0
- package/dist/prompts/bounded-universals.js +32 -0
- package/dist/prompts/bounded-universals.js.map +1 -0
- package/dist/queries/api-client/shared.d.ts +2 -1
- package/dist/queries/api-client/shared.d.ts.map +1 -1
- package/dist/queries/api-client/shared.js +36 -1
- package/dist/queries/api-client/shared.js.map +1 -1
- package/dist/queries/candidate-ci-reds/candidate-ci-reds.d.ts +35 -0
- package/dist/queries/candidate-ci-reds/candidate-ci-reds.d.ts.map +1 -0
- package/dist/queries/candidate-ci-reds/candidate-ci-reds.js +42 -0
- package/dist/queries/candidate-ci-reds/candidate-ci-reds.js.map +1 -0
- package/dist/queries/candidate-ci-reds/gate-escape-files.d.ts +16 -0
- package/dist/queries/candidate-ci-reds/gate-escape-files.d.ts.map +1 -0
- package/dist/queries/candidate-ci-reds/gate-escape-files.js +51 -0
- package/dist/queries/candidate-ci-reds/gate-escape-files.js.map +1 -0
- package/dist/queries/deliveries/issues.d.ts.map +1 -1
- package/dist/queries/deliveries/issues.js +1 -0
- package/dist/queries/deliveries/issues.js.map +1 -1
- package/dist/queries/escalations/escalation-consumption.d.ts +13 -0
- package/dist/queries/escalations/escalation-consumption.d.ts.map +1 -1
- package/dist/queries/escalations/escalation-consumption.js +12 -2
- package/dist/queries/escalations/escalation-consumption.js.map +1 -1
- package/dist/queries/escalations/tower-escalations.d.ts +82 -0
- package/dist/queries/escalations/tower-escalations.d.ts.map +1 -0
- package/dist/queries/escalations/tower-escalations.js +97 -0
- package/dist/queries/escalations/tower-escalations.js.map +1 -0
- package/dist/queries/focus-review/recorded-concern-ids.d.ts +48 -11
- package/dist/queries/focus-review/recorded-concern-ids.d.ts.map +1 -1
- package/dist/queries/focus-review/recorded-concern-ids.js +42 -12
- package/dist/queries/focus-review/recorded-concern-ids.js.map +1 -1
- package/dist/queries/focus-review/review-criterion-verdicts.d.ts +37 -0
- package/dist/queries/focus-review/review-criterion-verdicts.d.ts.map +1 -0
- package/dist/queries/focus-review/review-criterion-verdicts.js +64 -0
- package/dist/queries/focus-review/review-criterion-verdicts.js.map +1 -0
- package/dist/queries/focus-review/review-finding-facts.d.ts +18 -6
- package/dist/queries/focus-review/review-finding-facts.d.ts.map +1 -1
- package/dist/queries/focus-review/review-finding-facts.js +21 -8
- package/dist/queries/focus-review/review-finding-facts.js.map +1 -1
- package/dist/queries/focuses/ended-arm.d.ts +56 -13
- package/dist/queries/focuses/ended-arm.d.ts.map +1 -1
- package/dist/queries/focuses/ended-arm.js +40 -14
- package/dist/queries/focuses/ended-arm.js.map +1 -1
- package/dist/queries/focuses/focus-criteria-standing.d.ts +12 -0
- package/dist/queries/focuses/focus-criteria-standing.d.ts.map +1 -1
- package/dist/queries/focuses/focus-criteria-standing.js +13 -0
- package/dist/queries/focuses/focus-criteria-standing.js.map +1 -1
- package/dist/queries/focuses/focus-discovery.d.ts +14 -3
- package/dist/queries/focuses/focus-discovery.d.ts.map +1 -1
- package/dist/queries/focuses/focus-discovery.js +2 -19
- package/dist/queries/focuses/focus-discovery.js.map +1 -1
- package/dist/queries/focuses/focuses.d.ts +15 -12
- package/dist/queries/focuses/focuses.d.ts.map +1 -1
- package/dist/queries/focuses/focuses.js +15 -13
- package/dist/queries/focuses/focuses.js.map +1 -1
- package/dist/queries/sessions/daemon-connection.d.ts.map +1 -1
- package/dist/queries/sessions/daemon-connection.js +1 -0
- package/dist/queries/sessions/daemon-connection.js.map +1 -1
- package/dist/queries/sessions/sessions.d.ts.map +1 -1
- package/dist/queries/sessions/sessions.js +2 -1
- package/dist/queries/sessions/sessions.js.map +1 -1
- package/dist/queries/tower-decisions/tower-decisions.d.ts +103 -0
- package/dist/queries/tower-decisions/tower-decisions.d.ts.map +1 -0
- package/dist/queries/tower-decisions/tower-decisions.js +138 -0
- package/dist/queries/tower-decisions/tower-decisions.js.map +1 -0
- package/dist/queries/verification/verification.js +1 -1
- package/dist/queries/wire-schemas/schemas.d.ts +2 -0
- package/dist/queries/wire-schemas/schemas.d.ts.map +1 -1
- package/dist/queries/wire-schemas/schemas.js +8 -2
- package/dist/queries/wire-schemas/schemas.js.map +1 -1
- package/dist/queries/workstation-intervals/workstation-intervals.d.ts +52 -0
- package/dist/queries/workstation-intervals/workstation-intervals.d.ts.map +1 -0
- package/dist/queries/workstation-intervals/workstation-intervals.js +49 -0
- package/dist/queries/workstation-intervals/workstation-intervals.js.map +1 -0
- package/dist/resolvers/escalation-answers.d.ts +31 -0
- package/dist/resolvers/escalation-answers.d.ts.map +1 -1
- package/dist/resolvers/escalation-answers.js +31 -17
- package/dist/resolvers/escalation-answers.js.map +1 -1
- package/dist/resolvers/focus-criteria-standing.d.ts.map +1 -1
- package/dist/resolvers/focus-criteria-standing.js +20 -0
- package/dist/resolvers/focus-criteria-standing.js.map +1 -1
- package/dist/shell/unified-engine-lifecycle.d.ts +11 -1
- package/dist/shell/unified-engine-lifecycle.d.ts.map +1 -1
- package/dist/shell/unified-engine-lifecycle.js +10 -1
- package/dist/shell/unified-engine-lifecycle.js.map +1 -1
- package/dist/shell/unified-shell.d.ts +25 -0
- package/dist/shell/unified-shell.d.ts.map +1 -1
- package/dist/shell/unified-shell.js +26 -80
- package/dist/shell/unified-shell.js.map +1 -1
- package/dist/shell/update-restart.d.ts +47 -0
- package/dist/shell/update-restart.d.ts.map +1 -0
- package/dist/shell/update-restart.js +124 -0
- package/dist/shell/update-restart.js.map +1 -0
- package/dist/spawn/directive-dispatch.d.ts.map +1 -1
- package/dist/spawn/directive-dispatch.js +1 -0
- package/dist/spawn/directive-dispatch.js.map +1 -1
- package/dist/spawn/lead-continuation.d.ts +4 -3
- package/dist/spawn/lead-continuation.d.ts.map +1 -1
- package/dist/spawn/lead-continuation.js.map +1 -1
- package/dist/spawn/live-answer-delivery.d.ts +53 -0
- package/dist/spawn/live-answer-delivery.d.ts.map +1 -0
- package/dist/spawn/live-answer-delivery.js +26 -0
- package/dist/spawn/live-answer-delivery.js.map +1 -0
- package/dist/spawn/routing-decider-spawn.d.ts +64 -2
- package/dist/spawn/routing-decider-spawn.d.ts.map +1 -1
- package/dist/spawn/routing-decider-spawn.js +65 -20
- package/dist/spawn/routing-decider-spawn.js.map +1 -1
- package/dist/spawn/worktree-session.d.ts +7 -5
- package/dist/spawn/worktree-session.d.ts.map +1 -1
- package/dist/spawn/worktree-session.js +11 -7
- package/dist/spawn/worktree-session.js.map +1 -1
- package/dist/supervision/escalation-suppression.js +1 -1
- package/dist/supervision/review-cycle-cap-hold.d.ts +11 -5
- package/dist/supervision/review-cycle-cap-hold.d.ts.map +1 -1
- package/dist/supervision/review-cycle-cap-hold.js +29 -11
- package/dist/supervision/review-cycle-cap-hold.js.map +1 -1
- package/dist/supervision/review-loop-detector.d.ts +48 -0
- package/dist/supervision/review-loop-detector.d.ts.map +1 -0
- package/dist/supervision/review-loop-detector.js +13 -0
- package/dist/supervision/review-loop-detector.js.map +1 -0
- package/dist/supervision/review-loop-hold.d.ts +29 -0
- package/dist/supervision/review-loop-hold.d.ts.map +1 -0
- package/dist/supervision/review-loop-hold.js +99 -0
- package/dist/supervision/review-loop-hold.js.map +1 -0
- package/dist/supervision/stall-detector-config.d.ts +8 -0
- package/dist/supervision/stall-detector-config.d.ts.map +1 -1
- package/dist/supervision/stall-detector-config.js +14 -3
- package/dist/supervision/stall-detector-config.js.map +1 -1
- package/dist/supervision/stop-registry.d.ts +3 -0
- package/dist/supervision/stop-registry.d.ts.map +1 -1
- package/dist/supervision/stop-registry.js +3 -1
- package/dist/supervision/stop-registry.js.map +1 -1
- package/dist/supervision/stop-rows-review-loop.d.ts +35 -0
- package/dist/supervision/stop-rows-review-loop.d.ts.map +1 -0
- package/dist/supervision/stop-rows-review-loop.js +150 -0
- package/dist/supervision/stop-rows-review-loop.js.map +1 -0
- package/dist/supervision/stop-rows-team-session.d.ts +1 -1
- package/dist/supervision/stop-rows-team-session.d.ts.map +1 -1
- package/dist/supervision/stop-rows-team-session.js.map +1 -1
- package/dist/supervision/unreviewed-settle-detector.d.ts +7 -2
- package/dist/supervision/unreviewed-settle-detector.d.ts.map +1 -1
- package/dist/supervision/unreviewed-settle-detector.js +15 -2
- package/dist/supervision/unreviewed-settle-detector.js.map +1 -1
- package/dist/templates/agents-md.d.ts.map +1 -1
- package/dist/templates/agents-md.js +1 -0
- package/dist/templates/agents-md.js.map +1 -1
- package/dist/templates/claude-md.d.ts +1 -1
- package/dist/templates/claude-md.d.ts.map +1 -1
- package/dist/templates/claude-md.js +12 -0
- package/dist/templates/claude-md.js.map +1 -1
- package/dist/testing/fixtures/api-client.js +1 -1
- package/dist/testing/fixtures/completion-judge-stubs.d.ts +7 -2
- package/dist/testing/fixtures/completion-judge-stubs.d.ts.map +1 -1
- package/dist/testing/fixtures/completion-judge-stubs.js +11 -1
- package/dist/testing/fixtures/completion-judge-stubs.js.map +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/testing/fixtures/merge-log-capture.d.ts.map +1 -1
- package/dist/testing/fixtures/merge-log-capture.js +1 -0
- package/dist/testing/fixtures/merge-log-capture.js.map +1 -1
- package/dist/testing/fixtures/pending-spawn-world.d.ts +4 -0
- package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -1
- package/dist/testing/fixtures/pending-spawn-world.js +15 -2
- package/dist/testing/fixtures/pending-spawn-world.js.map +1 -1
- package/dist/testing/fixtures/recording-api-client.js +1 -1
- package/dist/testing/fixtures/review-exit-deps.d.ts.map +1 -1
- package/dist/testing/fixtures/review-exit-deps.js +3 -1
- package/dist/testing/fixtures/review-exit-deps.js.map +1 -1
- package/dist/testing/fixtures/review-loop.d.ts +19 -0
- package/dist/testing/fixtures/review-loop.d.ts.map +1 -0
- package/dist/testing/fixtures/review-loop.js +30 -0
- package/dist/testing/fixtures/review-loop.js.map +1 -0
- package/dist/testing/fixtures/shortfall-rework-hold-deps.d.ts.map +1 -1
- package/dist/testing/fixtures/shortfall-rework-hold-deps.js +1 -0
- package/dist/testing/fixtures/shortfall-rework-hold-deps.js.map +1 -1
- package/dist/testing/fixtures/tower-loop.d.ts +28 -0
- package/dist/testing/fixtures/tower-loop.d.ts.map +1 -0
- package/dist/testing/fixtures/tower-loop.js +83 -0
- package/dist/testing/fixtures/tower-loop.js.map +1 -0
- package/dist/testing/fixtures/verification-deps.d.ts +7 -0
- package/dist/testing/fixtures/verification-deps.d.ts.map +1 -1
- package/dist/testing/fixtures/verification-deps.js +17 -1
- package/dist/testing/fixtures/verification-deps.js.map +1 -1
- package/dist/testing/fixtures/vitest-failure-log.d.ts.map +1 -1
- package/dist/testing/fixtures/vitest-failure-log.js +2 -1
- package/dist/testing/fixtures/vitest-failure-log.js.map +1 -1
- package/dist/tower/tower-escalation-gather.d.ts +33 -0
- package/dist/tower/tower-escalation-gather.d.ts.map +1 -0
- package/dist/tower/tower-escalation-gather.js +38 -0
- package/dist/tower/tower-escalation-gather.js.map +1 -0
- package/dist/tower/tower-escalation-prompt.d.ts +62 -0
- package/dist/tower/tower-escalation-prompt.d.ts.map +1 -0
- package/dist/tower/tower-escalation-prompt.js +130 -0
- package/dist/tower/tower-escalation-prompt.js.map +1 -0
- package/dist/tower/tower-escalation-routing.d.ts +49 -0
- package/dist/tower/tower-escalation-routing.d.ts.map +1 -0
- package/dist/tower/tower-escalation-routing.js +53 -0
- package/dist/tower/tower-escalation-routing.js.map +1 -0
- package/dist/tower/tower-escalation-session.d.ts +149 -0
- package/dist/tower/tower-escalation-session.d.ts.map +1 -0
- package/dist/tower/tower-escalation-session.js +238 -0
- package/dist/tower/tower-escalation-session.js.map +1 -0
- package/dist/tower/tower-supervisor-history.d.ts +129 -0
- package/dist/tower/tower-supervisor-history.d.ts.map +1 -0
- package/dist/tower/tower-supervisor-history.js +217 -0
- package/dist/tower/tower-supervisor-history.js.map +1 -0
- package/dist/tower/tower-supervisor-prompt.d.ts +21 -0
- package/dist/tower/tower-supervisor-prompt.d.ts.map +1 -0
- package/dist/tower/tower-supervisor-prompt.js +205 -0
- package/dist/tower/tower-supervisor-prompt.js.map +1 -0
- package/dist/tower/tower-supervisor-session.d.ts +220 -0
- package/dist/tower/tower-supervisor-session.d.ts.map +1 -0
- package/dist/tower/tower-supervisor-session.js +307 -0
- package/dist/tower/tower-supervisor-session.js.map +1 -0
- package/dist/tower/tower-supervisor.d.ts +86 -0
- package/dist/tower/tower-supervisor.d.ts.map +1 -0
- package/dist/tower/tower-supervisor.js +8 -0
- package/dist/tower/tower-supervisor.js.map +1 -0
- package/dist/types/index.js +1 -1
- package/dist/update/auto-update.d.ts +11 -5
- package/dist/update/auto-update.d.ts.map +1 -1
- package/dist/update/auto-update.js +11 -5
- package/dist/update/auto-update.js.map +1 -1
- package/dist/update/restart-contract.d.ts +62 -0
- package/dist/update/restart-contract.d.ts.map +1 -0
- package/dist/update/restart-contract.js +137 -0
- package/dist/update/restart-contract.js.map +1 -0
- package/dist/verify/attribution/verification-baseline-run.d.ts.map +1 -1
- package/dist/verify/attribution/verification-baseline-run.js +1 -0
- package/dist/verify/attribution/verification-baseline-run.js.map +1 -1
- package/dist/verify/ci-gate/ci-gate-dispatch.d.ts +3 -0
- package/dist/verify/ci-gate/ci-gate-dispatch.d.ts.map +1 -1
- package/dist/verify/ci-gate/ci-gate-dispatch.js +31 -9
- package/dist/verify/ci-gate/ci-gate-dispatch.js.map +1 -1
- package/dist/verify/ci-gate/ci-gate-wait-record.d.ts +6 -0
- package/dist/verify/ci-gate/ci-gate-wait-record.d.ts.map +1 -1
- package/dist/verify/ci-gate/ci-gate-wait-record.js +1 -0
- package/dist/verify/ci-gate/ci-gate-wait-record.js.map +1 -1
- package/dist/verify/deterministic-gate/verification-checkout.d.ts +12 -2
- package/dist/verify/deterministic-gate/verification-checkout.d.ts.map +1 -1
- package/dist/verify/deterministic-gate/verification-checkout.js +18 -3
- package/dist/verify/deterministic-gate/verification-checkout.js.map +1 -1
- package/dist/verify/deterministic-gate/verification-deterministic.js +1 -1
- package/dist/verify/deterministic-gate/verification-failure-parser.d.ts +30 -9
- package/dist/verify/deterministic-gate/verification-failure-parser.d.ts.map +1 -1
- package/dist/verify/deterministic-gate/verification-failure-parser.js +52 -8
- package/dist/verify/deterministic-gate/verification-failure-parser.js.map +1 -1
- package/dist/verify/engine/verification-commit-sharing.d.ts.map +1 -1
- package/dist/verify/engine/verification-commit-sharing.js +6 -2
- package/dist/verify/engine/verification-commit-sharing.js.map +1 -1
- package/dist/verify/engine/verification-deps.d.ts +9 -0
- package/dist/verify/engine/verification-deps.d.ts.map +1 -1
- package/dist/verify/engine/verification-deps.js +1 -1
- package/dist/verify/engine/verification-engine.d.ts.map +1 -1
- package/dist/verify/engine/verification-engine.js +4 -1
- package/dist/verify/engine/verification-engine.js.map +1 -1
- package/dist/verify/escaped-tests/escaped-pass-store.d.ts +19 -0
- package/dist/verify/escaped-tests/escaped-pass-store.d.ts.map +1 -0
- package/dist/verify/escaped-tests/escaped-pass-store.js +90 -0
- package/dist/verify/escaped-tests/escaped-pass-store.js.map +1 -0
- package/dist/verify/escaped-tests/escaped-test-run.d.ts +39 -0
- package/dist/verify/escaped-tests/escaped-test-run.d.ts.map +1 -0
- package/dist/verify/escaped-tests/escaped-test-run.js +156 -0
- package/dist/verify/escaped-tests/escaped-test-run.js.map +1 -0
- package/dist/verify/escaped-tests/escaped-test-set.d.ts +65 -0
- package/dist/verify/escaped-tests/escaped-test-set.d.ts.map +1 -0
- package/dist/verify/escaped-tests/escaped-test-set.js +95 -0
- package/dist/verify/escaped-tests/escaped-test-set.js.map +1 -0
- package/dist/verify/escaped-tests/escaped-tests-source.d.ts +44 -0
- package/dist/verify/escaped-tests/escaped-tests-source.d.ts.map +1 -0
- package/dist/verify/escaped-tests/escaped-tests-source.js +142 -0
- package/dist/verify/escaped-tests/escaped-tests-source.js.map +1 -0
- package/dist/verify/gate-config/verification-manifest.d.ts +12 -1
- package/dist/verify/gate-config/verification-manifest.d.ts.map +1 -1
- package/dist/verify/gate-config/verification-manifest.js +12 -1
- package/dist/verify/gate-config/verification-manifest.js.map +1 -1
- package/dist/verify/gate-verdicts/commit-verdict-record.js +1 -1
- package/dist/verify/outcome-routing/verification-rework-issue.d.ts +4 -4
- package/dist/verify/outcome-routing/verification-rework-issue.d.ts.map +1 -1
- package/dist/verify/outcome-routing/verification-rework-issue.js +16 -6
- package/dist/verify/outcome-routing/verification-rework-issue.js.map +1 -1
- package/package.json +3 -3
- package/scripts/telora-daemon-wrapper.sh +16 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-engine.js","sourceRoot":"","sources":["../../../src/verify/engine/verification-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verification-engine.js","sourceRoot":"","sources":["../../../src/verify/engine/verification-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { EscapedPassState } from './escaped-test-set.js';
|
|
2
|
+
/** The record of a product that has recorded nothing. */
|
|
3
|
+
export declare function emptyEscapedPassState(): EscapedPassState;
|
|
4
|
+
/** A parsed record, or the empty state when it is not one (fail toward running the tests). Pure. */
|
|
5
|
+
export declare function parseEscapedPassState(raw: unknown): EscapedPassState;
|
|
6
|
+
/** The record's IO as the gate uses it (a seam: tests keep it in memory). */
|
|
7
|
+
export interface EscapedPassStore {
|
|
8
|
+
/** The product's passes; the empty state when none is readable. */
|
|
9
|
+
read: (productId: string) => EscapedPassState;
|
|
10
|
+
/** Best-effort: false (logged) when the write did not land. */
|
|
11
|
+
write: (productId: string, state: EscapedPassState) => boolean;
|
|
12
|
+
}
|
|
13
|
+
/** The directory the records live in, resolved per call so TELORA_STATE_DIR is honoured. */
|
|
14
|
+
export declare function escapedPassDir(): string;
|
|
15
|
+
/** The durable store under `dir()` (production binds {@link escapedPassDir}). */
|
|
16
|
+
export declare function durableEscapedPassStore(dir: () => string): EscapedPassStore;
|
|
17
|
+
/** An in-memory store (tests). */
|
|
18
|
+
export declare function memoryEscapedPassStore(): EscapedPassStore;
|
|
19
|
+
//# sourceMappingURL=escaped-pass-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escaped-pass-store.d.ts","sourceRoot":"","sources":["../../../src/verify/escaped-tests/escaped-pass-store.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI3E,yDAAyD;AACzD,wBAAgB,qBAAqB,IAAI,gBAAgB,CAExD;AAED,oGAAoG;AACpG,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAYpE;AAED,6EAA6E;AAC7E,MAAM,WAAW,gBAAgB;IAC/B,mEAAmE;IACnE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,gBAAgB,CAAC;IAC9C,+DAA+D;IAC/D,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC;CAChE;AAED,4FAA4F;AAC5F,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAMD,iFAAiF;AACjF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,MAAM,GAAG,gBAAgB,CAuB3E;AAED,kCAAkC;AAClC,wBAAgB,sBAAsB,IAAI,gBAAgB,CASzD"}
|
|
@@ -0,0 +1,90 @@
|
|
|
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/ci-gate/ci-gate-dispatch.test.ts,
|
|
3
|
+
// packages/daemon/src/verify/escaped-tests/escaped-gate-run.test.ts,
|
|
4
|
+
// packages/daemon/src/verify/escaped-tests/escaped-pass-store.test.ts,
|
|
5
|
+
// packages/daemon/src/verify/escaped-tests/escaped-test-set.test.ts,
|
|
6
|
+
// packages/daemon/src/verify/escaped-tests/escaped-tests-source.test.ts
|
|
7
|
+
// PINNED-BY-END
|
|
8
|
+
/**
|
|
9
|
+
* The durable, host-local record of which gate runs each escaped test file of a
|
|
10
|
+
* product passed (escaped-test-set.ts EscapedPassState). One file per product
|
|
11
|
+
* under the global state dir, written atomically (temp + rename), so a daemon
|
|
12
|
+
* restart neither resets nor forgets a file's count -- the stance
|
|
13
|
+
* merge/completion-hold-record.ts takes for a candidate's hold.
|
|
14
|
+
*
|
|
15
|
+
* An unreadable or malformed record reads as no passes: the escaped files then
|
|
16
|
+
* run again, which costs a run and never drops a test.
|
|
17
|
+
*
|
|
18
|
+
* @module verify/escaped-tests/escaped-pass-store
|
|
19
|
+
*/
|
|
20
|
+
import { mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
|
|
21
|
+
import { resolve } from 'node:path';
|
|
22
|
+
import { resolveGlobalStateDir } from '../../daemon-state/daemon-process.js';
|
|
23
|
+
import { createLogger } from '../../log/daemon-log.js';
|
|
24
|
+
const log = createLogger({ module: 'verification' });
|
|
25
|
+
/** The record of a product that has recorded nothing. */
|
|
26
|
+
export function emptyEscapedPassState() {
|
|
27
|
+
return { files: {} };
|
|
28
|
+
}
|
|
29
|
+
/** A parsed record, or the empty state when it is not one (fail toward running the tests). Pure. */
|
|
30
|
+
export function parseEscapedPassState(raw) {
|
|
31
|
+
if (typeof raw !== 'object' || raw === null)
|
|
32
|
+
return emptyEscapedPassState();
|
|
33
|
+
const files = raw.files;
|
|
34
|
+
if (typeof files !== 'object' || files === null || Array.isArray(files))
|
|
35
|
+
return emptyEscapedPassState();
|
|
36
|
+
const out = {};
|
|
37
|
+
for (const [file, passes] of Object.entries(files)) {
|
|
38
|
+
if (!Array.isArray(passes))
|
|
39
|
+
continue;
|
|
40
|
+
out[file] = passes.filter((p) => typeof p === 'object' && p !== null
|
|
41
|
+
&& typeof p.sha === 'string' && typeof p.at === 'number' && Number.isFinite(p.at));
|
|
42
|
+
}
|
|
43
|
+
return { files: out };
|
|
44
|
+
}
|
|
45
|
+
/** The directory the records live in, resolved per call so TELORA_STATE_DIR is honoured. */
|
|
46
|
+
export function escapedPassDir() {
|
|
47
|
+
return resolve(resolveGlobalStateDir(), 'escaped-test-passes');
|
|
48
|
+
}
|
|
49
|
+
function recordPath(dir, productId) {
|
|
50
|
+
return resolve(dir, `${productId}.json`.replace(/[^a-zA-Z0-9._-]/g, '_'));
|
|
51
|
+
}
|
|
52
|
+
/** The durable store under `dir()` (production binds {@link escapedPassDir}). */
|
|
53
|
+
export function durableEscapedPassStore(dir) {
|
|
54
|
+
return {
|
|
55
|
+
read: (productId) => {
|
|
56
|
+
try {
|
|
57
|
+
return parseEscapedPassState(JSON.parse(readFileSync(recordPath(dir(), productId), 'utf8')));
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return emptyEscapedPassState();
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
write: (productId, state) => {
|
|
64
|
+
const path = recordPath(dir(), productId);
|
|
65
|
+
const tmp = `${path}.${process.pid}.tmp`;
|
|
66
|
+
try {
|
|
67
|
+
mkdirSync(dir(), { recursive: true });
|
|
68
|
+
writeFileSync(tmp, JSON.stringify(state), { mode: 0o600 });
|
|
69
|
+
renameSync(tmp, path);
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
log.warn(`[verification] failed to record escaped-test passes for product ${productId}:`, err.message);
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/** An in-memory store (tests). */
|
|
80
|
+
export function memoryEscapedPassStore() {
|
|
81
|
+
const rows = new Map();
|
|
82
|
+
return {
|
|
83
|
+
read: (productId) => structuredClone(rows.get(productId) ?? emptyEscapedPassState()),
|
|
84
|
+
write: (productId, state) => {
|
|
85
|
+
rows.set(productId, structuredClone(state));
|
|
86
|
+
return true;
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=escaped-pass-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escaped-pass-store.js","sourceRoot":"","sources":["../../../src/verify/escaped-tests/escaped-pass-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { StrategyResult } from '../deterministic-gate/verification-deterministic.js';
|
|
2
|
+
/** The marker line opening the added run's section of a gate log. */
|
|
3
|
+
export declare function escapedTestsMarker(count: number): string;
|
|
4
|
+
/**
|
|
5
|
+
* The script that runs `gateCommand`, then the re-run command over `files`, and
|
|
6
|
+
* exits by the module's exit rule. Each command runs in its own subshell, on its
|
|
7
|
+
* own lines, so neither can end the other (an `exit`, a trailing comment). The
|
|
8
|
+
* added run's stderr joins its stdout, so its whole output lands in the log
|
|
9
|
+
* between the marker block and the exit line, in order, however the two streams
|
|
10
|
+
* of the run are read. Pure.
|
|
11
|
+
*/
|
|
12
|
+
export declare function composeGateWithEscapedTests(gateCommand: string, rerunTemplate: string, files: readonly string[]): string;
|
|
13
|
+
/** What a gate log says about the escaped files it ran. */
|
|
14
|
+
export interface EscapedRunRead {
|
|
15
|
+
/** The files the run added, as the marker block lists them. */
|
|
16
|
+
files: string[];
|
|
17
|
+
/** The added run's own output (between the marker block and its exit line). */
|
|
18
|
+
output: string;
|
|
19
|
+
/** The added run's exit code; null when the log ends before its exit line (killed). */
|
|
20
|
+
escapedExit: number | null;
|
|
21
|
+
/** The gate command's own exit code; null when the log ends before the exit line. */
|
|
22
|
+
gateExit: number | null;
|
|
23
|
+
}
|
|
24
|
+
/** The escaped-run section of a gate log, or null when the run added no files. Pure. */
|
|
25
|
+
export declare function readEscapedRun(logText: string): EscapedRunRead | null;
|
|
26
|
+
/**
|
|
27
|
+
* The files the added run PASSED: every file when it exited 0; else every file
|
|
28
|
+
* none of whose failing tests is in its output -- provided each failing test
|
|
29
|
+
* names its file. No file when the run was cut short, could not run the files,
|
|
30
|
+
* or named a failure no file can be told from. Pure.
|
|
31
|
+
*/
|
|
32
|
+
export declare function passedEscapedFiles(logText: string): string[];
|
|
33
|
+
/**
|
|
34
|
+
* The run's result with the one exception of the exit rule applied (module
|
|
35
|
+
* doc): a run whose gate passed and whose added run only failed INCONCLUSIVELY
|
|
36
|
+
* is the gate's pass. Every other result is returned unchanged. Pure.
|
|
37
|
+
*/
|
|
38
|
+
export declare function settleEscapedRun(result: StrategyResult, logText: string): StrategyResult;
|
|
39
|
+
//# sourceMappingURL=escaped-test-run.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escaped-test-run.d.ts","sourceRoot":"","sources":["../../../src/verify/escaped-tests/escaped-test-run.ts"],"names":[],"mappings":"AA8CA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAE1F,qEAAqE;AACrE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAaD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAgBxH;AAED,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;IACf,uFAAuF;IACvF,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,qFAAqF;IACrF,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,wFAAwF;AACxF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAqBrE;AAOD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAc5D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAWxF"}
|
|
@@ -0,0 +1,156 @@
|
|
|
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/ci-gate/ci-gate-dispatch.test.ts,
|
|
3
|
+
// packages/daemon/src/verify/escaped-tests/escaped-gate-run.test.ts,
|
|
4
|
+
// packages/daemon/src/verify/escaped-tests/escaped-test-run.test.ts,
|
|
5
|
+
// packages/daemon/src/verify/escaped-tests/escaped-tests-source.test.ts
|
|
6
|
+
// PINNED-BY-END
|
|
7
|
+
/**
|
|
8
|
+
* How escaped test files run INSIDE a gate run, and what the gate log then says
|
|
9
|
+
* about them. Pure.
|
|
10
|
+
*
|
|
11
|
+
* The gate run executes the gate command and THEN the product's declared re-run
|
|
12
|
+
* command over the escaped files (verify/failing-test-rerun/rerun-command.ts
|
|
13
|
+
* renderRerunCommand), in the same checkout and environment, as one POSIX shell
|
|
14
|
+
* script ({@link composeGateWithEscapedTests}). The local runner spawns it
|
|
15
|
+
* (`sh -c`); a CI-run gate ships it as the spec's command (scripts/ci-gate-run.sh
|
|
16
|
+
* runs it with bash). Either way the added run's output lands in the gate log
|
|
17
|
+
* after a marker block:
|
|
18
|
+
*
|
|
19
|
+
* (escaped tests: 2 file(s) a gate escape recorded)
|
|
20
|
+
* (escaped test: <first file>)
|
|
21
|
+
* (escaped test: <second file>)
|
|
22
|
+
* ...the re-run command's output...
|
|
23
|
+
* (escaped tests exit: 1; gate exit: 0)
|
|
24
|
+
*
|
|
25
|
+
* EXIT RULE: the script exits with the gate's own code when the gate failed,
|
|
26
|
+
* else with the added run's code -- so a failing escaped test fails the run, and
|
|
27
|
+
* every downstream reader (the failure parser, the same-commit flake retry,
|
|
28
|
+
* per-file base attribution, the rework Bug) sees its failures in the log with
|
|
29
|
+
* no path of its own. One exception is settled by the daemon after the run
|
|
30
|
+
* ({@link settleEscapedRun}): an added run that exited non-zero while naming NO
|
|
31
|
+
* failing test could not run the files (a file the re-run command's runner does
|
|
32
|
+
* not include, a crashed command). That is not evidence about the change, so it
|
|
33
|
+
* does not fail a gate that passed -- the stance per-file base attribution takes
|
|
34
|
+
* on an inconclusive run (verify/attribution/verification-baseline-files.ts).
|
|
35
|
+
*
|
|
36
|
+
* The gate's IDENTITY is untouched by any of this: the run applies and records
|
|
37
|
+
* the ORIGINAL gate command (appliedConfig, the per-commit verdict key, the CI
|
|
38
|
+
* spec key), so a verdict rendered with added files is read back under the
|
|
39
|
+
* gate's normal key.
|
|
40
|
+
*
|
|
41
|
+
* @module verify/escaped-tests/escaped-test-run
|
|
42
|
+
*/
|
|
43
|
+
import { parseFailingTests } from '../deterministic-gate/verification-failure-parser.js';
|
|
44
|
+
import { logRoots, renderRerunCommand, testFileOfId } from '../failing-test-rerun/rerun-command.js';
|
|
45
|
+
/** The marker line opening the added run's section of a gate log. */
|
|
46
|
+
export function escapedTestsMarker(count) {
|
|
47
|
+
return `(escaped tests: ${count} file(s) a gate escape recorded)`;
|
|
48
|
+
}
|
|
49
|
+
const MARKER_RE = /^\(escaped tests: (\d+) file\(s\) a gate escape recorded\)$/;
|
|
50
|
+
const FILE_RE = /^\(escaped test: (.+)\)$/;
|
|
51
|
+
const EXIT_RE = /^\(escaped tests exit: (\d+); gate exit: (\d+)\)$/;
|
|
52
|
+
// eslint-disable-next-line no-control-regex -- strips terminal colour codes from the log
|
|
53
|
+
const ANSI_RE = /\u001b\[[0-9;]*m/g;
|
|
54
|
+
/** POSIX single-quote one shell word, always. */
|
|
55
|
+
function quote(word) {
|
|
56
|
+
return `'${word.replace(/'/g, `'\\''`)}'`;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The script that runs `gateCommand`, then the re-run command over `files`, and
|
|
60
|
+
* exits by the module's exit rule. Each command runs in its own subshell, on its
|
|
61
|
+
* own lines, so neither can end the other (an `exit`, a trailing comment). The
|
|
62
|
+
* added run's stderr joins its stdout, so its whole output lands in the log
|
|
63
|
+
* between the marker block and the exit line, in order, however the two streams
|
|
64
|
+
* of the run are read. Pure.
|
|
65
|
+
*/
|
|
66
|
+
export function composeGateWithEscapedTests(gateCommand, rerunTemplate, files) {
|
|
67
|
+
const markers = [escapedTestsMarker(files.length), ...files.map((f) => `(escaped test: ${f})`)].map(quote).join(' ');
|
|
68
|
+
return [
|
|
69
|
+
'(',
|
|
70
|
+
gateCommand,
|
|
71
|
+
')',
|
|
72
|
+
'__telora_gate_rc=$?',
|
|
73
|
+
`printf '%s\\n' ${markers}`,
|
|
74
|
+
'(',
|
|
75
|
+
renderRerunCommand(rerunTemplate, files),
|
|
76
|
+
') 2>&1',
|
|
77
|
+
'__telora_escaped_rc=$?',
|
|
78
|
+
`printf '(escaped tests exit: %s; gate exit: %s)\\n' "$__telora_escaped_rc" "$__telora_gate_rc"`,
|
|
79
|
+
'if [ "$__telora_gate_rc" -ne 0 ]; then exit "$__telora_gate_rc"; fi',
|
|
80
|
+
'exit "$__telora_escaped_rc"',
|
|
81
|
+
].join('\n');
|
|
82
|
+
}
|
|
83
|
+
/** The escaped-run section of a gate log, or null when the run added no files. Pure. */
|
|
84
|
+
export function readEscapedRun(logText) {
|
|
85
|
+
const lines = (typeof logText === 'string' ? logText : '').replace(ANSI_RE, '').split(/\r?\n/);
|
|
86
|
+
const start = lines.findIndex((line) => MARKER_RE.test(line.trim()));
|
|
87
|
+
if (start < 0)
|
|
88
|
+
return null;
|
|
89
|
+
const count = Number(MARKER_RE.exec(lines[start].trim())[1]);
|
|
90
|
+
const files = [];
|
|
91
|
+
let at = start + 1;
|
|
92
|
+
while (files.length < count && at < lines.length) {
|
|
93
|
+
const match = FILE_RE.exec(lines[at].trim());
|
|
94
|
+
if (!match)
|
|
95
|
+
break;
|
|
96
|
+
files.push(match[1]);
|
|
97
|
+
at++;
|
|
98
|
+
}
|
|
99
|
+
const end = lines.findIndex((line, index) => index >= at && EXIT_RE.test(line.trim()));
|
|
100
|
+
const exit = end >= 0 ? EXIT_RE.exec(lines[end].trim()) : null;
|
|
101
|
+
return {
|
|
102
|
+
files,
|
|
103
|
+
output: lines.slice(at, end >= 0 ? end : lines.length).join('\n'),
|
|
104
|
+
escapedExit: exit ? Number(exit[1]) : null,
|
|
105
|
+
gateExit: exit ? Number(exit[2]) : null,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/** True when the added run exited non-zero while naming no failing test (module doc). Pure. */
|
|
109
|
+
function isInconclusive(run) {
|
|
110
|
+
return run.escapedExit !== null && run.escapedExit !== 0 && parseFailingTests(run.output).size === 0;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* The files the added run PASSED: every file when it exited 0; else every file
|
|
114
|
+
* none of whose failing tests is in its output -- provided each failing test
|
|
115
|
+
* names its file. No file when the run was cut short, could not run the files,
|
|
116
|
+
* or named a failure no file can be told from. Pure.
|
|
117
|
+
*/
|
|
118
|
+
export function passedEscapedFiles(logText) {
|
|
119
|
+
const run = readEscapedRun(logText);
|
|
120
|
+
if (run === null || run.escapedExit === null)
|
|
121
|
+
return [];
|
|
122
|
+
if (run.escapedExit === 0)
|
|
123
|
+
return [...run.files];
|
|
124
|
+
const ids = parseFailingTests(run.output);
|
|
125
|
+
if (ids.size === 0)
|
|
126
|
+
return [];
|
|
127
|
+
const roots = logRoots(logText);
|
|
128
|
+
const failing = new Set();
|
|
129
|
+
for (const id of ids) {
|
|
130
|
+
const file = testFileOfId(id, roots);
|
|
131
|
+
if (file === null)
|
|
132
|
+
return [];
|
|
133
|
+
failing.add(file);
|
|
134
|
+
}
|
|
135
|
+
return run.files.filter((file) => !failing.has(file));
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* The run's result with the one exception of the exit rule applied (module
|
|
139
|
+
* doc): a run whose gate passed and whose added run only failed INCONCLUSIVELY
|
|
140
|
+
* is the gate's pass. Every other result is returned unchanged. Pure.
|
|
141
|
+
*/
|
|
142
|
+
export function settleEscapedRun(result, logText) {
|
|
143
|
+
if (result.outcome !== 'failed' || result.timedOut)
|
|
144
|
+
return result;
|
|
145
|
+
const run = readEscapedRun(logText);
|
|
146
|
+
if (run === null || run.gateExit !== 0 || !isInconclusive(run))
|
|
147
|
+
return result;
|
|
148
|
+
return {
|
|
149
|
+
...result,
|
|
150
|
+
outcome: 'passed',
|
|
151
|
+
exitCode: 0,
|
|
152
|
+
rationale: `deterministic check passed (exit 0); the ${run.files.length} escaped test file(s) it added could not be run by the `
|
|
153
|
+
+ `declared re-run command (exit ${run.escapedExit}, no failing test named) -- not charged to the change`,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=escaped-test-run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escaped-test-run.js","sourceRoot":"","sources":["../../../src/verify/escaped-tests/escaped-test-run.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0EAA0E;AAC1E,uEAAuE;AACvE,uEAAuE;AACvE,0EAA0E;AAC1E,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAGpG,qEAAqE;AACrE,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,mBAAmB,KAAK,kCAAkC,CAAC;AACpE,CAAC;AAED,MAAM,SAAS,GAAG,6DAA6D,CAAC;AAChF,MAAM,OAAO,GAAG,0BAA0B,CAAC;AAC3C,MAAM,OAAO,GAAG,mDAAmD,CAAC;AACpE,yFAAyF;AACzF,MAAM,OAAO,GAAG,mBAAmB,CAAC;AAEpC,iDAAiD;AACjD,SAAS,KAAK,CAAC,IAAY;IACzB,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC5C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CAAC,WAAmB,EAAE,aAAqB,EAAE,KAAwB;IAC9G,MAAM,OAAO,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrH,OAAO;QACL,GAAG;QACH,WAAW;QACX,GAAG;QACH,qBAAqB;QACrB,kBAAkB,OAAO,EAAE;QAC3B,GAAG;QACH,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC;QACxC,QAAQ;QACR,wBAAwB;QACxB,gGAAgG;QAChG,qEAAqE;QACrE,6BAA6B;KAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAcD,wFAAwF;AACxF,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,MAAM,KAAK,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/F,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrE,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,IAAI,EAAE,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;IACnB,OAAO,KAAK,CAAC,MAAM,GAAG,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK;YAAE,MAAM;QAClB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QACtB,EAAE,EAAE,CAAC;IACP,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvF,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,OAAO;QACL,KAAK;QACL,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACjE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QAC1C,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;KACxC,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,SAAS,cAAc,CAAC,GAAmB;IACzC,OAAO,GAAG,CAAC,WAAW,KAAK,IAAI,IAAI,GAAG,CAAC,WAAW,KAAK,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;AACvG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACxD,IAAI,GAAG,CAAC,WAAW,KAAK,CAAC;QAAE,OAAO,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAsB,EAAE,OAAe;IACtE,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;IAClE,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9E,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,4CAA4C,GAAG,CAAC,KAAK,CAAC,MAAM,yDAAyD;cAC5H,iCAAiC,GAAG,CAAC,WAAW,uDAAuD;KAC5G,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which escaped test files a product's next gate run adds: the pure rule.
|
|
3
|
+
*
|
|
4
|
+
* A GATE ESCAPE is a red integration candidate whose approved head the verify
|
|
5
|
+
* gate had passed (queries/candidate-ci-reds/). The test files CI named there
|
|
6
|
+
* are a gap in the product's own test selection -- not one focus's -- so the
|
|
7
|
+
* set is per product: every focus of the product runs them.
|
|
8
|
+
*
|
|
9
|
+
* The rule:
|
|
10
|
+
* - A file is IN the set while it has passed fewer than
|
|
11
|
+
* ESCAPED_FILE_REQUIRED_PASSES gate runs on distinct commits SINCE its
|
|
12
|
+
* newest escape. A pass recorded before that escape does not count, so a
|
|
13
|
+
* newer escape of the file restarts its count.
|
|
14
|
+
* - The set is the newest-escaped files first, at most ESCAPED_SET_MAX_FILES.
|
|
15
|
+
* - A path that is not a plain repo-relative path (absolute, `..`, a control
|
|
16
|
+
* character) is never in it: it is handed to a shell command.
|
|
17
|
+
*
|
|
18
|
+
* Passes are kept per product, host-local ({@link EscapedPassState}; the durable
|
|
19
|
+
* store, which reads a missing or unreadable record as no passes, is
|
|
20
|
+
* escaped-pass-store.ts): the rule fails toward running a test, never toward
|
|
21
|
+
* dropping it. The record keeps EVERY file's passes -- at most
|
|
22
|
+
* ESCAPED_FILE_REQUIRED_PASSES each, so it grows only with the product's distinct
|
|
23
|
+
* escaped files -- and never evicts one, so a file that met the exit rule stays
|
|
24
|
+
* out of the set until a newer escape names it again.
|
|
25
|
+
*
|
|
26
|
+
* @module verify/escaped-tests/escaped-test-set
|
|
27
|
+
*/
|
|
28
|
+
/** Gate runs on distinct commits an escaped file must pass, since its newest escape, to leave the set. */
|
|
29
|
+
export declare const ESCAPED_FILE_REQUIRED_PASSES = 3;
|
|
30
|
+
/** The most escaped files one gate run adds. */
|
|
31
|
+
export declare const ESCAPED_SET_MAX_FILES = 10;
|
|
32
|
+
/** One escaped file as the product's escape record lists it. */
|
|
33
|
+
export interface EscapedFile {
|
|
34
|
+
/** Repo-relative test file path. */
|
|
35
|
+
file: string;
|
|
36
|
+
/** When the newest escape naming the file was recorded (ISO 8601). */
|
|
37
|
+
lastEscapeAt: string;
|
|
38
|
+
}
|
|
39
|
+
/** One gate run an escaped file passed: the commit it judged, and when (epoch ms). */
|
|
40
|
+
export interface EscapedPass {
|
|
41
|
+
sha: string;
|
|
42
|
+
at: number;
|
|
43
|
+
}
|
|
44
|
+
/** A product's recorded passes, per file. */
|
|
45
|
+
export interface EscapedPassState {
|
|
46
|
+
files: Record<string, EscapedPass[]>;
|
|
47
|
+
}
|
|
48
|
+
/** A path safe to hand a re-run command as one test file: repo-relative, no `..`, no control characters. Pure. */
|
|
49
|
+
export declare function isRunnableTestPath(file: string): boolean;
|
|
50
|
+
/** Distinct-commit passes of `file` recorded after `lastEscapeAt` (an unparseable instant counts every pass as before it). Pure. */
|
|
51
|
+
export declare function passesSinceEscape(state: EscapedPassState, file: string, lastEscapeAt: string): number;
|
|
52
|
+
/**
|
|
53
|
+
* The files a gate run adds (module doc): runnable paths, newest escape first,
|
|
54
|
+
* fewer than the required passes since that escape, at most the cap. Pure.
|
|
55
|
+
*/
|
|
56
|
+
export declare function escapedTestSet(escapes: readonly EscapedFile[], state: EscapedPassState): string[];
|
|
57
|
+
/**
|
|
58
|
+
* The state with one pass recorded for each of `files` at commit `sha`, at
|
|
59
|
+
* `now`. A commit already recorded for a file counts once (its instant moves to
|
|
60
|
+
* `now`). Each file keeps its newest ESCAPED_FILE_REQUIRED_PASSES passes -- only
|
|
61
|
+
* passes after the newest escape count, and no more are needed -- and every
|
|
62
|
+
* other file's record is kept as it was: none is ever evicted (module doc). Pure.
|
|
63
|
+
*/
|
|
64
|
+
export declare function recordEscapedPasses(state: EscapedPassState, files: readonly string[], sha: string, now: number): EscapedPassState;
|
|
65
|
+
//# sourceMappingURL=escaped-test-set.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escaped-test-set.d.ts","sourceRoot":"","sources":["../../../src/verify/escaped-tests/escaped-test-set.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,0GAA0G;AAC1G,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,gDAAgD;AAChD,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,sFAAsF;AACtF,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;CACtC;AAED,kHAAkH;AAClH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMxD;AAED,oIAAoI;AACpI,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAKrG;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,EAAE,KAAK,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAcjG;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAOjI"}
|
|
@@ -0,0 +1,95 @@
|
|
|
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/ci-gate/ci-gate-dispatch.test.ts,
|
|
3
|
+
// packages/daemon/src/verify/escaped-tests/escaped-gate-run.test.ts,
|
|
4
|
+
// packages/daemon/src/verify/escaped-tests/escaped-pass-store.test.ts,
|
|
5
|
+
// packages/daemon/src/verify/escaped-tests/escaped-test-set.test.ts,
|
|
6
|
+
// packages/daemon/src/verify/escaped-tests/escaped-tests-source.test.ts
|
|
7
|
+
// PINNED-BY-END
|
|
8
|
+
/**
|
|
9
|
+
* Which escaped test files a product's next gate run adds: the pure rule.
|
|
10
|
+
*
|
|
11
|
+
* A GATE ESCAPE is a red integration candidate whose approved head the verify
|
|
12
|
+
* gate had passed (queries/candidate-ci-reds/). The test files CI named there
|
|
13
|
+
* are a gap in the product's own test selection -- not one focus's -- so the
|
|
14
|
+
* set is per product: every focus of the product runs them.
|
|
15
|
+
*
|
|
16
|
+
* The rule:
|
|
17
|
+
* - A file is IN the set while it has passed fewer than
|
|
18
|
+
* ESCAPED_FILE_REQUIRED_PASSES gate runs on distinct commits SINCE its
|
|
19
|
+
* newest escape. A pass recorded before that escape does not count, so a
|
|
20
|
+
* newer escape of the file restarts its count.
|
|
21
|
+
* - The set is the newest-escaped files first, at most ESCAPED_SET_MAX_FILES.
|
|
22
|
+
* - A path that is not a plain repo-relative path (absolute, `..`, a control
|
|
23
|
+
* character) is never in it: it is handed to a shell command.
|
|
24
|
+
*
|
|
25
|
+
* Passes are kept per product, host-local ({@link EscapedPassState}; the durable
|
|
26
|
+
* store, which reads a missing or unreadable record as no passes, is
|
|
27
|
+
* escaped-pass-store.ts): the rule fails toward running a test, never toward
|
|
28
|
+
* dropping it. The record keeps EVERY file's passes -- at most
|
|
29
|
+
* ESCAPED_FILE_REQUIRED_PASSES each, so it grows only with the product's distinct
|
|
30
|
+
* escaped files -- and never evicts one, so a file that met the exit rule stays
|
|
31
|
+
* out of the set until a newer escape names it again.
|
|
32
|
+
*
|
|
33
|
+
* @module verify/escaped-tests/escaped-test-set
|
|
34
|
+
*/
|
|
35
|
+
/** Gate runs on distinct commits an escaped file must pass, since its newest escape, to leave the set. */
|
|
36
|
+
export const ESCAPED_FILE_REQUIRED_PASSES = 3;
|
|
37
|
+
/** The most escaped files one gate run adds. */
|
|
38
|
+
export const ESCAPED_SET_MAX_FILES = 10;
|
|
39
|
+
/** A path safe to hand a re-run command as one test file: repo-relative, no `..`, no control characters. Pure. */
|
|
40
|
+
export function isRunnableTestPath(file) {
|
|
41
|
+
if (file.length === 0 || file.length > 1000 || file.trim() !== file)
|
|
42
|
+
return false;
|
|
43
|
+
// eslint-disable-next-line no-control-regex -- a control character in a path handed to a shell is exactly what is refused.
|
|
44
|
+
if (/[\u0000-\u001f\u007f]/.test(file))
|
|
45
|
+
return false;
|
|
46
|
+
if (file.startsWith('/') || file.startsWith('-'))
|
|
47
|
+
return false;
|
|
48
|
+
return !file.split('/').some((segment) => segment === '..' || segment === '');
|
|
49
|
+
}
|
|
50
|
+
/** Distinct-commit passes of `file` recorded after `lastEscapeAt` (an unparseable instant counts every pass as before it). Pure. */
|
|
51
|
+
export function passesSinceEscape(state, file, lastEscapeAt) {
|
|
52
|
+
const since = Date.parse(lastEscapeAt);
|
|
53
|
+
const passes = state.files[file] ?? [];
|
|
54
|
+
if (!Number.isFinite(since))
|
|
55
|
+
return 0;
|
|
56
|
+
return new Set(passes.filter((p) => p.at > since).map((p) => p.sha)).size;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The files a gate run adds (module doc): runnable paths, newest escape first,
|
|
60
|
+
* fewer than the required passes since that escape, at most the cap. Pure.
|
|
61
|
+
*/
|
|
62
|
+
export function escapedTestSet(escapes, state) {
|
|
63
|
+
const seen = new Set();
|
|
64
|
+
const ordered = escapes
|
|
65
|
+
.map((e, index) => ({ ...e, index, t: Date.parse(e.lastEscapeAt) }))
|
|
66
|
+
.sort((a, b) => (Number.isFinite(b.t) ? b.t : 0) - (Number.isFinite(a.t) ? a.t : 0) || a.index - b.index);
|
|
67
|
+
const out = [];
|
|
68
|
+
for (const escape of ordered) {
|
|
69
|
+
if (seen.has(escape.file) || !isRunnableTestPath(escape.file))
|
|
70
|
+
continue;
|
|
71
|
+
seen.add(escape.file);
|
|
72
|
+
if (passesSinceEscape(state, escape.file, escape.lastEscapeAt) >= ESCAPED_FILE_REQUIRED_PASSES)
|
|
73
|
+
continue;
|
|
74
|
+
out.push(escape.file);
|
|
75
|
+
if (out.length >= ESCAPED_SET_MAX_FILES)
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
return out;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The state with one pass recorded for each of `files` at commit `sha`, at
|
|
82
|
+
* `now`. A commit already recorded for a file counts once (its instant moves to
|
|
83
|
+
* `now`). Each file keeps its newest ESCAPED_FILE_REQUIRED_PASSES passes -- only
|
|
84
|
+
* passes after the newest escape count, and no more are needed -- and every
|
|
85
|
+
* other file's record is kept as it was: none is ever evicted (module doc). Pure.
|
|
86
|
+
*/
|
|
87
|
+
export function recordEscapedPasses(state, files, sha, now) {
|
|
88
|
+
const next = { ...state.files };
|
|
89
|
+
for (const file of files) {
|
|
90
|
+
const kept = (next[file] ?? []).filter((p) => p.sha !== sha);
|
|
91
|
+
next[file] = [...kept, { sha, at: now }].sort((a, b) => b.at - a.at).slice(0, ESCAPED_FILE_REQUIRED_PASSES);
|
|
92
|
+
}
|
|
93
|
+
return { files: next };
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=escaped-test-set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escaped-test-set.js","sourceRoot":"","sources":["../../../src/verify/escaped-tests/escaped-test-set.ts"],"names":[],"mappings":"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"}
|