@telora/daemon 0.24.42 → 0.24.55
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 +9 -3
- package/dist/completion/completion-event/unfinished-work.d.ts +3 -3
- package/dist/completion/review-cycle-budget/review-loop-detection.d.ts.map +1 -1
- package/dist/completion/review-cycle-budget/review-loop-detection.js +2 -1
- package/dist/completion/review-cycle-budget/review-loop-detection.js.map +1 -1
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts +1 -1
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts.map +1 -1
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.js +2 -3
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.js.map +1 -1
- package/dist/completion/state-cascade/focus-next-step-read.d.ts +38 -0
- package/dist/completion/state-cascade/focus-next-step-read.d.ts.map +1 -0
- package/dist/completion/state-cascade/focus-next-step-read.js +188 -0
- package/dist/completion/state-cascade/focus-next-step-read.js.map +1 -0
- package/dist/completion/state-cascade/review-request-gate.d.ts.map +1 -1
- package/dist/completion/state-cascade/review-request-gate.js +1 -0
- package/dist/completion/state-cascade/review-request-gate.js.map +1 -1
- package/dist/completion/state-cascade/review-request-next-step.d.ts +56 -0
- package/dist/completion/state-cascade/review-request-next-step.d.ts.map +1 -0
- package/dist/completion/state-cascade/review-request-next-step.js +47 -0
- package/dist/completion/state-cascade/review-request-next-step.js.map +1 -0
- package/dist/completion/state-cascade/review-verify-judgment-gate.d.ts +1 -1
- package/dist/completion/state-cascade/review-verify-judgment-gate.d.ts.map +1 -1
- package/dist/completion/state-cascade/review-verify-judgment-gate.js +1 -0
- package/dist/completion/state-cascade/review-verify-judgment-gate.js.map +1 -1
- package/dist/completion/state-cascade/state-cascade.d.ts +12 -7
- package/dist/completion/state-cascade/state-cascade.d.ts.map +1 -1
- package/dist/completion/state-cascade/state-cascade.js +36 -105
- package/dist/completion/state-cascade/state-cascade.js.map +1 -1
- package/dist/composition/commit-gate-context.d.ts.map +1 -1
- package/dist/composition/commit-gate-context.js +1 -0
- package/dist/composition/commit-gate-context.js.map +1 -1
- package/dist/composition/daemon-contexts.js +1 -1
- package/dist/composition/execution-migrations-context.d.ts.map +1 -1
- package/dist/composition/execution-migrations-context.js +3 -1
- package/dist/composition/execution-migrations-context.js.map +1 -1
- package/dist/composition/execution-process-context.js +1 -1
- package/dist/composition/execution-recovery-context.d.ts +4 -3
- package/dist/composition/execution-recovery-context.d.ts.map +1 -1
- package/dist/composition/execution-recovery-context.js +6 -3
- package/dist/composition/execution-recovery-context.js.map +1 -1
- package/dist/composition/execution-worktree-context.js +1 -1
- package/dist/composition/focus-next-step-context.d.ts +19 -0
- package/dist/composition/focus-next-step-context.d.ts.map +1 -0
- package/dist/composition/focus-next-step-context.js +51 -0
- package/dist/composition/focus-next-step-context.js.map +1 -0
- package/dist/composition/runtime-contexts.d.ts.map +1 -1
- package/dist/composition/runtime-contexts.js +6 -18
- package/dist/composition/runtime-contexts.js.map +1 -1
- package/dist/composition/runtime-poll-context.d.ts +8 -53
- package/dist/composition/runtime-poll-context.d.ts.map +1 -1
- package/dist/composition/runtime-poll-context.js +35 -94
- package/dist/composition/runtime-poll-context.js.map +1 -1
- package/dist/composition/runtime-prd-context.d.ts +8 -0
- package/dist/composition/runtime-prd-context.d.ts.map +1 -1
- package/dist/composition/runtime-prd-context.js +32 -0
- package/dist/composition/runtime-prd-context.js.map +1 -1
- package/dist/composition/runtime-spawn-pass-context.d.ts.map +1 -1
- package/dist/composition/runtime-spawn-pass-context.js +2 -3
- package/dist/composition/runtime-spawn-pass-context.js.map +1 -1
- package/dist/composition/state-cascade-context.d.ts +2 -0
- package/dist/composition/state-cascade-context.d.ts.map +1 -1
- package/dist/composition/state-cascade-context.js +9 -0
- package/dist/composition/state-cascade-context.js.map +1 -1
- package/dist/composition/verification-context.d.ts.map +1 -1
- package/dist/composition/verification-context.js +15 -3
- package/dist/composition/verification-context.js.map +1 -1
- package/dist/config/live-daemon-config.js +1 -1
- package/dist/daemon-state/branch-removal-record.d.ts +30 -0
- package/dist/daemon-state/branch-removal-record.d.ts.map +1 -0
- package/dist/daemon-state/branch-removal-record.js +103 -0
- package/dist/daemon-state/branch-removal-record.js.map +1 -0
- package/dist/delivery/advance-hold.d.ts +8 -19
- package/dist/delivery/advance-hold.d.ts.map +1 -1
- package/dist/delivery/advance-hold.js +11 -36
- package/dist/delivery/advance-hold.js.map +1 -1
- package/dist/delivery/commit-verdict-hold.d.ts +1 -1
- package/dist/delivery/commit-verdict-hold.js +1 -1
- package/dist/delivery/recorded-concerns.d.ts.map +1 -1
- package/dist/delivery/recorded-concerns.js +0 -2
- package/dist/delivery/recorded-concerns.js.map +1 -1
- package/dist/directive/directive-queue.d.ts +4 -16
- package/dist/directive/directive-queue.d.ts.map +1 -1
- package/dist/directive/directive-queue.js +5 -13
- package/dist/directive/directive-queue.js.map +1 -1
- package/dist/directive/phase-sync.d.ts +1 -1
- package/dist/directive/phase-sync.js +1 -1
- package/dist/focus/crash-recovery.d.ts +10 -32
- package/dist/focus/crash-recovery.d.ts.map +1 -1
- package/dist/focus/crash-recovery.js +55 -150
- package/dist/focus/crash-recovery.js.map +1 -1
- package/dist/focus/daemon-contexts-runtime.d.ts +3 -3
- package/dist/focus/daemon-contexts-runtime.d.ts.map +1 -1
- package/dist/focus/daemon-contexts.js +1 -1
- package/dist/focus/directive-executor.d.ts.map +1 -1
- package/dist/focus/directive-executor.js +3 -7
- package/dist/focus/directive-executor.js.map +1 -1
- package/dist/focus/failed-head-rework-start.d.ts +61 -0
- package/dist/focus/failed-head-rework-start.d.ts.map +1 -0
- package/dist/focus/failed-head-rework-start.js +52 -0
- package/dist/focus/failed-head-rework-start.js.map +1 -0
- package/dist/focus/focus-activity-record.d.ts +4 -2
- package/dist/focus/focus-activity-record.d.ts.map +1 -1
- package/dist/focus/focus-activity-record.js +4 -2
- package/dist/focus/focus-activity-record.js.map +1 -1
- package/dist/focus/focus-liveness-pass.d.ts +62 -0
- package/dist/focus/focus-liveness-pass.d.ts.map +1 -0
- package/dist/focus/focus-liveness-pass.js +197 -0
- package/dist/focus/focus-liveness-pass.js.map +1 -0
- package/dist/focus/focus-poller-spawn.js +1 -1
- package/dist/focus/focus-poller-state.js +1 -1
- package/dist/focus/live-branch-preservation.d.ts +123 -0
- package/dist/focus/live-branch-preservation.d.ts.map +1 -0
- package/dist/focus/live-branch-preservation.js +192 -0
- package/dist/focus/live-branch-preservation.js.map +1 -0
- package/dist/focus/migration-claim-pass.d.ts +2 -0
- package/dist/focus/migration-claim-pass.d.ts.map +1 -1
- package/dist/focus/migration-claim-pass.js +57 -22
- package/dist/focus/migration-claim-pass.js.map +1 -1
- package/dist/focus/migration-held-set-publish.d.ts +28 -2
- package/dist/focus/migration-held-set-publish.d.ts.map +1 -1
- package/dist/focus/migration-held-set-publish.js +14 -0
- package/dist/focus/migration-held-set-publish.js.map +1 -1
- package/dist/focus/pending-spawn-review-next-step.d.ts +5 -11
- package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -1
- package/dist/focus/pending-spawn-review-next-step.js +26 -72
- package/dist/focus/pending-spawn-review-next-step.js.map +1 -1
- package/dist/focus/review-refire-gate.d.ts +25 -0
- package/dist/focus/review-refire-gate.d.ts.map +1 -0
- package/dist/focus/review-refire-gate.js +68 -0
- package/dist/focus/review-refire-gate.js.map +1 -0
- package/dist/focus/verify-routing-passes.d.ts +8 -11
- package/dist/focus/verify-routing-passes.d.ts.map +1 -1
- package/dist/focus/verify-routing-passes.js +1 -2
- package/dist/focus/verify-routing-passes.js.map +1 -1
- package/dist/git/types.js +1 -1
- package/dist/prd/arm-refusal-streak.d.ts +102 -0
- package/dist/prd/arm-refusal-streak.d.ts.map +1 -0
- package/dist/prd/arm-refusal-streak.js +136 -0
- package/dist/prd/arm-refusal-streak.js.map +1 -0
- package/dist/prd/arm-refusal.d.ts.map +1 -1
- package/dist/prd/arm-refusal.js +7 -4
- package/dist/prd/arm-refusal.js.map +1 -1
- package/dist/prd/controller-shared.d.ts +40 -1
- package/dist/prd/controller-shared.d.ts.map +1 -1
- package/dist/prd/controller-shared.js +28 -2
- package/dist/prd/controller-shared.js.map +1 -1
- package/dist/prd/controller.d.ts.map +1 -1
- package/dist/prd/controller.js +3 -1
- package/dist/prd/controller.js.map +1 -1
- package/dist/prd/frontier-arming.d.ts +10 -2
- package/dist/prd/frontier-arming.d.ts.map +1 -1
- package/dist/prd/frontier-arming.js +91 -7
- package/dist/prd/frontier-arming.js.map +1 -1
- package/dist/prd/scoping-prompt.d.ts +8 -0
- package/dist/prd/scoping-prompt.d.ts.map +1 -1
- package/dist/prd/scoping-prompt.js +18 -0
- package/dist/prd/scoping-prompt.js.map +1 -1
- package/dist/prompt-sections/qa-failure-section.d.ts.map +1 -1
- package/dist/prompt-sections/qa-failure-section.js +3 -1
- package/dist/prompt-sections/qa-failure-section.js.map +1 -1
- package/dist/queries/api-client/shared.js +1 -1
- package/dist/queries/deliveries/deliveries.js +1 -1
- package/dist/queries/delivery-gate-state/delivery-gate-holds.d.ts +4 -3
- package/dist/queries/delivery-gate-state/delivery-gate-holds.d.ts.map +1 -1
- package/dist/queries/delivery-gate-state/delivery-gate-state.js +1 -1
- package/dist/queries/escalations/escalations.d.ts.map +1 -1
- package/dist/queries/escalations/escalations.js +0 -1
- package/dist/queries/escalations/escalations.js.map +1 -1
- package/dist/queries/escalations/incident-record.d.ts.map +1 -1
- package/dist/queries/escalations/incident-record.js +1 -0
- package/dist/queries/escalations/incident-record.js.map +1 -1
- package/dist/queries/focus-review/review-criterion-verdicts.d.ts.map +1 -1
- package/dist/queries/focus-review/review-criterion-verdicts.js +1 -0
- package/dist/queries/focus-review/review-criterion-verdicts.js.map +1 -1
- package/dist/queries/migrations/live-focus-branches.d.ts +23 -0
- package/dist/queries/migrations/live-focus-branches.d.ts.map +1 -1
- package/dist/queries/migrations/live-focus-branches.js +32 -1
- package/dist/queries/migrations/live-focus-branches.js.map +1 -1
- package/dist/queries/prd/prd.d.ts.map +1 -1
- package/dist/queries/prd/prd.js +1 -16
- package/dist/queries/prd/prd.js.map +1 -1
- package/dist/queries/qa-packets/focus-qa-failure.d.ts +18 -0
- package/dist/queries/qa-packets/focus-qa-failure.d.ts.map +1 -1
- package/dist/queries/qa-packets/focus-qa-failure.js +14 -1
- package/dist/queries/qa-packets/focus-qa-failure.js.map +1 -1
- package/dist/queries/tower-decisions/tower-decisions.d.ts.map +1 -1
- package/dist/queries/tower-decisions/tower-decisions.js +1 -0
- package/dist/queries/tower-decisions/tower-decisions.js.map +1 -1
- package/dist/queries/verification/verification.d.ts +10 -0
- package/dist/queries/verification/verification.d.ts.map +1 -1
- package/dist/queries/verification/verification.js +1 -1
- package/dist/queries/verification/verification.js.map +1 -1
- package/dist/supervision/escalation-suppression.js +1 -1
- package/dist/supervision/failed-head-rerun.d.ts +7 -0
- package/dist/supervision/failed-head-rerun.d.ts.map +1 -0
- package/dist/supervision/failed-head-rerun.js +41 -0
- package/dist/supervision/failed-head-rerun.js.map +1 -0
- package/dist/supervision/focus-delivery-aggregate-phase.js +1 -1
- package/dist/supervision/focus-delivery-aggregate-phase.js.map +1 -1
- package/dist/supervision/focus-liveness.d.ts +89 -0
- package/dist/supervision/focus-liveness.d.ts.map +1 -0
- package/dist/supervision/focus-liveness.js +94 -0
- package/dist/supervision/focus-liveness.js.map +1 -0
- package/dist/supervision/focus-next-step.d.ts +175 -0
- package/dist/supervision/focus-next-step.d.ts.map +1 -0
- package/dist/supervision/focus-next-step.js +129 -0
- package/dist/supervision/focus-next-step.js.map +1 -0
- package/dist/supervision/prd-frontier-rule.d.ts +52 -0
- package/dist/supervision/prd-frontier-rule.d.ts.map +1 -0
- package/dist/supervision/prd-frontier-rule.js +51 -0
- package/dist/supervision/prd-frontier-rule.js.map +1 -0
- package/dist/supervision/prt-frontier.d.ts +22 -7
- package/dist/supervision/prt-frontier.d.ts.map +1 -1
- package/dist/supervision/prt-frontier.js +17 -7
- package/dist/supervision/prt-frontier.js.map +1 -1
- package/dist/supervision/review-loop-detector.d.ts.map +1 -1
- package/dist/supervision/review-loop-detector.js +2 -1
- package/dist/supervision/review-loop-detector.js.map +1 -1
- package/dist/supervision/spawn-cooldown.js +1 -1
- package/dist/supervision/stop-registry.d.ts +1 -0
- package/dist/supervision/stop-registry.d.ts.map +1 -1
- package/dist/supervision/stop-rows-focus-health.d.ts +14 -0
- package/dist/supervision/stop-rows-focus-health.d.ts.map +1 -1
- package/dist/supervision/stop-rows-focus-health.js +32 -0
- package/dist/supervision/stop-rows-focus-health.js.map +1 -1
- package/dist/supervision/stop-rows-spawn.d.ts +3 -2
- package/dist/supervision/stop-rows-spawn.d.ts.map +1 -1
- package/dist/supervision/stop-rows-spawn.js +9 -6
- package/dist/supervision/stop-rows-spawn.js.map +1 -1
- package/dist/supervision/team-work.js +1 -1
- package/dist/supervision/team-work.js.map +1 -1
- package/dist/testing/fixtures/api-client.js +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/testing/fixtures/migration-namespace-repo.d.ts.map +1 -1
- package/dist/testing/fixtures/migration-namespace-repo.js +1 -0
- package/dist/testing/fixtures/migration-namespace-repo.js.map +1 -1
- package/dist/testing/fixtures/pending-spawn-world.d.ts +24 -0
- package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -1
- package/dist/testing/fixtures/pending-spawn-world.js +46 -19
- 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/verification-deps.d.ts +27 -0
- package/dist/testing/fixtures/verification-deps.d.ts.map +1 -1
- package/dist/testing/fixtures/verification-deps.js +77 -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 +1 -0
- package/dist/testing/fixtures/vitest-failure-log.js.map +1 -1
- package/dist/tower/tower-supervisor-history.d.ts.map +1 -1
- package/dist/tower/tower-supervisor-history.js +2 -1
- package/dist/tower/tower-supervisor-history.js.map +1 -1
- package/dist/tower/tower-supervisor-prompt.d.ts.map +1 -1
- package/dist/tower/tower-supervisor-prompt.js +40 -8
- package/dist/tower/tower-supervisor-prompt.js.map +1 -1
- package/dist/tower/tower-supervisor-session.d.ts.map +1 -1
- package/dist/tower/tower-supervisor-session.js +1 -0
- package/dist/tower/tower-supervisor-session.js.map +1 -1
- package/dist/types/issue-status.d.ts.map +1 -1
- package/dist/types/issue-status.js +6 -1
- package/dist/types/issue-status.js.map +1 -1
- package/dist/verify/attribution/code-failure-evidence.d.ts +77 -0
- package/dist/verify/attribution/code-failure-evidence.d.ts.map +1 -0
- package/dist/verify/attribution/code-failure-evidence.js +92 -0
- package/dist/verify/attribution/code-failure-evidence.js.map +1 -0
- package/dist/verify/attribution/verification-attribution.d.ts +18 -0
- package/dist/verify/attribution/verification-attribution.d.ts.map +1 -1
- package/dist/verify/attribution/verification-attribution.js +49 -2
- package/dist/verify/attribution/verification-attribution.js.map +1 -1
- package/dist/verify/attribution/verification-baseline.d.ts.map +1 -1
- package/dist/verify/attribution/verification-baseline.js +1 -0
- package/dist/verify/attribution/verification-baseline.js.map +1 -1
- package/dist/verify/attribution/verification-diagnostics.d.ts +10 -0
- package/dist/verify/attribution/verification-diagnostics.d.ts.map +1 -1
- package/dist/verify/attribution/verification-diagnostics.js +39 -10
- package/dist/verify/attribution/verification-diagnostics.js.map +1 -1
- package/dist/verify/deterministic-gate/verification-deterministic.d.ts +19 -0
- package/dist/verify/deterministic-gate/verification-deterministic.d.ts.map +1 -1
- package/dist/verify/deterministic-gate/verification-deterministic.js +1 -1
- package/dist/verify/deterministic-gate/verification-deterministic.js.map +1 -1
- package/dist/verify/engine/verification-commit-sharing.d.ts.map +1 -1
- package/dist/verify/engine/verification-commit-sharing.js +36 -4
- package/dist/verify/engine/verification-commit-sharing.js.map +1 -1
- package/dist/verify/engine/verification-deps.d.ts +7 -0
- package/dist/verify/engine/verification-deps.d.ts.map +1 -1
- package/dist/verify/engine/verification-engine.d.ts.map +1 -1
- package/dist/verify/engine/verification-engine.js +6 -3
- package/dist/verify/engine/verification-engine.js.map +1 -1
- package/dist/verify/escaped-tests/escaped-test-run.d.ts +5 -1
- package/dist/verify/escaped-tests/escaped-test-run.d.ts.map +1 -1
- package/dist/verify/escaped-tests/escaped-test-run.js +24 -2
- package/dist/verify/escaped-tests/escaped-test-run.js.map +1 -1
- package/dist/verify/failing-test-rerun/failing-test-retry.d.ts +4 -1
- package/dist/verify/failing-test-rerun/failing-test-retry.d.ts.map +1 -1
- package/dist/verify/failing-test-rerun/failing-test-retry.js.map +1 -1
- package/dist/verify/gate-verdicts/commit-verdict-record.js +1 -1
- package/dist/verify/gate-verdicts/commit-verdict-record.js.map +1 -1
- package/dist/verify/gate-verdicts/no-verdict-record.d.ts +27 -3
- package/dist/verify/gate-verdicts/no-verdict-record.d.ts.map +1 -1
- package/dist/verify/gate-verdicts/no-verdict-record.js +36 -6
- package/dist/verify/gate-verdicts/no-verdict-record.js.map +1 -1
- package/dist/verify/outcome-routing/verification-rework-issue.d.ts.map +1 -1
- package/dist/verify/outcome-routing/verification-rework-issue.js +5 -4
- package/dist/verify/outcome-routing/verification-rework-issue.js.map +1 -1
- package/dist/verify/run-selection/default-on-guards.d.ts +15 -4
- package/dist/verify/run-selection/default-on-guards.d.ts.map +1 -1
- package/dist/verify/run-selection/default-on-guards.js +14 -4
- package/dist/verify/run-selection/default-on-guards.js.map +1 -1
- package/dist/verify/run-selection/explicit-next-step-gate.d.ts +39 -0
- package/dist/verify/run-selection/explicit-next-step-gate.d.ts.map +1 -0
- package/dist/verify/run-selection/explicit-next-step-gate.js +70 -0
- package/dist/verify/run-selection/explicit-next-step-gate.js.map +1 -0
- package/dist/verify/run-selection/pre-review-gate-dispatch.d.ts +0 -9
- package/dist/verify/run-selection/pre-review-gate-dispatch.d.ts.map +1 -1
- package/dist/verify/run-selection/pre-review-gate-dispatch.js +21 -62
- package/dist/verify/run-selection/pre-review-gate-dispatch.js.map +1 -1
- package/dist/verify/run-selection/reselection-log-line.d.ts +1 -1
- package/dist/verify/run-selection/reselection-log-line.d.ts.map +1 -1
- package/dist/verify/run-selection/reselection-log-line.js +2 -0
- package/dist/verify/run-selection/reselection-log-line.js.map +1 -1
- package/dist/verify/run-selection/verification-default-on.d.ts +32 -4
- package/dist/verify/run-selection/verification-default-on.d.ts.map +1 -1
- package/dist/verify/run-selection/verification-default-on.js +83 -19
- package/dist/verify/run-selection/verification-default-on.js.map +1 -1
- package/dist/verify/shortfalls/shortfall-park.js +1 -1
- package/dist/worktree/focus-worktree-state.js +1 -1
- package/dist/worktree/focus-worktree-state.js.map +1 -1
- package/package.json +3 -3
- package/dist/completion/state-cascade/review-next-step.d.ts +0 -107
- package/dist/completion/state-cascade/review-next-step.d.ts.map +0 -1
- package/dist/completion/state-cascade/review-next-step.js +0 -90
- package/dist/completion/state-cascade/review-next-step.js.map +0 -1
- package/dist/focus/failed-head-wedge.d.ts +0 -124
- package/dist/focus/failed-head-wedge.d.ts.map +0 -1
- package/dist/focus/failed-head-wedge.js +0 -120
- package/dist/focus/failed-head-wedge.js.map +0 -1
- package/dist/focus/stranded-review-reroute.d.ts +0 -70
- package/dist/focus/stranded-review-reroute.d.ts.map +0 -1
- package/dist/focus/stranded-review-reroute.js +0 -193
- package/dist/focus/stranded-review-reroute.js.map +0 -1
- package/dist/focus/uncommitted-work-backstop.d.ts +0 -115
- package/dist/focus/uncommitted-work-backstop.d.ts.map +0 -1
- package/dist/focus/uncommitted-work-backstop.js +0 -259
- package/dist/focus/uncommitted-work-backstop.js.map +0 -1
package/build-info.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"commitSha": "
|
|
3
|
-
"builtAt": "2026-10-
|
|
2
|
+
"commitSha": "f19089b40",
|
|
3
|
+
"builtAt": "2026-10-26T15:20:20.544Z",
|
|
4
4
|
"expectedMigrations": [
|
|
5
5
|
"20250829113330_create_org_nodes_table.sql",
|
|
6
6
|
"20250829113402_fix_function_security_search_path.sql",
|
|
@@ -903,6 +903,12 @@
|
|
|
903
903
|
"20261025191017_focus_prd_scoping_run_until.sql",
|
|
904
904
|
"20261025221947_agent_escalations_kind_admit_written_kinds.sql",
|
|
905
905
|
"20261025222102_prd_member_focus_direct_write_guard.sql",
|
|
906
|
-
"20261025222103_prd_sync_focus_stops.sql"
|
|
906
|
+
"20261025222103_prd_sync_focus_stops.sql",
|
|
907
|
+
"20261026104935_focus_debug_unclaimed_migration_section.sql",
|
|
908
|
+
"20261026105529_declared_criterion_amendment.sql",
|
|
909
|
+
"20261026112934_qa_fail_reopens_prd_overcome.sql",
|
|
910
|
+
"20261026113712_qa_fail_reopens_done_prd.sql",
|
|
911
|
+
"20261026120918_qa_failed_overcome_clear_guard.sql",
|
|
912
|
+
"20261026120922_done_prd_play_role_recovered.sql"
|
|
907
913
|
]
|
|
908
914
|
}
|
|
@@ -49,9 +49,9 @@
|
|
|
49
49
|
* reads the facts and words the prompt.
|
|
50
50
|
*
|
|
51
51
|
* A read that cannot be made -- no registered worktree, no readable HEAD --
|
|
52
|
-
* holds nothing: the teardown proceeds as before, and the
|
|
53
|
-
*
|
|
54
|
-
* is gone.
|
|
52
|
+
* holds nothing: the teardown proceeds as before, and the liveness pass
|
|
53
|
+
* (focus/focus-liveness-pass.ts) starts the coding team the uncommitted work makes
|
|
54
|
+
* next once the team is gone.
|
|
55
55
|
*
|
|
56
56
|
* @module completion/completion-event/unfinished-work
|
|
57
57
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-loop-detection.d.ts","sourceRoot":"","sources":["../../../src/completion/review-cycle-budget/review-loop-detection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"review-loop-detection.d.ts","sourceRoot":"","sources":["../../../src/completion/review-cycle-budget/review-loop-detection.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yDAAyD,CAAC;AACnG,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAE1G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAI/B,yFAAyF;AACzF,MAAM,WAAW,uBAAuB;IACtC,wFAAwF;IACxF,2BAA2B,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAChG,+DAA+D;IAC/D,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,SAAS,EAAE,aAAa,EAAE,CAAC;QAAC,mBAAmB,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAChH,mBAAmB,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,aAAa,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC3G,0BAA0B,EAAE,MAAM,MAAM,CAAC;IACzC,eAAe,EAAE,eAAe,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,0CAA0C;AAC1C,MAAM,MAAM,yBAAyB,GACjC,cAAc,GACd,cAAc,GACd,SAAS,GACT,MAAM,GACN,YAAY,CAAC;AAEjB,0FAA0F;AAC1F,wBAAgB,0BAA0B,CACxC,kBAAkB,EAAE,SAAS,mBAAmB,EAAE,EAClD,SAAS,EAAE,SAAS,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,CAAC,EAAE,GAC9D,mBAAmB,EAAE,CAGvB;AAED,kDAAkD;AAClD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,mBAAmB,EACzB,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACjE,kBAAkB,CA6BpB;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,uBAAuB,EAC7B,GAAG,EAAE,qBAAqB,EAC1B,IAAI,EAAE;IACJ,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAClC,YAAY,EAAE,OAAO,CAAC;IACtB,+DAA+D;IAC/D,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACb,GACA,OAAO,CAAC,yBAAyB,CAAC,CAgCpC;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,kBAAkB,GAAG;IAAE,UAAU,EAAE,uBAAuB,CAAA;CAAE,EAClE,GAAG,EAAE,qBAAqB,EAC1B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAef"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by: packages/daemon/src/completion/review-cycle-budget/review-loop-detection.test.ts
|
|
2
|
+
// Pinned by: packages/daemon/src/completion/review-cycle-budget/review-loop-detection.test.ts,
|
|
3
|
+
// packages/daemon/src/integration/tower-loop-criterion-sources-regression.test.ts
|
|
3
4
|
// PINNED-BY-END
|
|
4
5
|
import { detectNonConvergingReviewLoop } from '../../supervision/review-loop-detector.js';
|
|
5
6
|
import { createLogger } from '../../log/daemon-log.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-loop-detection.js","sourceRoot":"","sources":["../../../src/completion/review-cycle-budget/review-loop-detection.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,
|
|
1
|
+
{"version":3,"file":"review-loop-detection.js","sourceRoot":"","sources":["../../../src/completion/review-cycle-budget/review-loop-detection.ts"],"names":[],"mappings":"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"}
|
|
@@ -290,7 +290,7 @@ export interface FailedVerdictExitDeps {
|
|
|
290
290
|
* drops a review directive queued while the review ran (the stranded re-fire does
|
|
291
291
|
* that while the window is set), which would otherwise open a second review of the
|
|
292
292
|
* same commit (this focus, v0.22.132, 2026-09-17). Best-effort: each failure is logged; a window whose clear fails
|
|
293
|
-
* is
|
|
293
|
+
* is closed by the liveness pass when it starts the failed HEAD's rework (focus/focus-liveness-pass.ts).
|
|
294
294
|
*/
|
|
295
295
|
export declare function closeFailedVerdictExit(deps: FailedVerdictExitDeps, params: Pick<CommitVerdictGateParams, 'focusId' | 'productId'> & {
|
|
296
296
|
focusName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-exit-verdict-gate.d.ts","sourceRoot":"","sources":["../../../src/completion/review-exit-holds/review-exit-verdict-gate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"review-exit-verdict-gate.d.ts","sourceRoot":"","sources":["../../../src/completion/review-exit-holds/review-exit-verdict-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
2
|
// Pinned by: packages/daemon/src/completion/review-exit-holds/review-exit-verdict-gate.test.ts,
|
|
3
|
-
// packages/daemon/src/composition/subsystem-contexts.test.ts
|
|
4
|
-
// packages/daemon/src/focus/failed-head-wedge.test.ts
|
|
3
|
+
// packages/daemon/src/composition/subsystem-contexts.test.ts
|
|
5
4
|
// PINNED-BY-END
|
|
6
5
|
import { carryVerificationHistory, readVerificationHistory, stampJudgedCommit, } from '../../queries/delivery-gate-state/delivery-gate-state.js';
|
|
7
6
|
import { describeFailedVerdictRework } from '../../verify/outcome-routing/verification-rework-issue.js';
|
|
@@ -230,7 +229,7 @@ export function logCommitVerdictHeldExit(focusName) {
|
|
|
230
229
|
* drops a review directive queued while the review ran (the stranded re-fire does
|
|
231
230
|
* that while the window is set), which would otherwise open a second review of the
|
|
232
231
|
* same commit (this focus, v0.22.132, 2026-09-17). Best-effort: each failure is logged; a window whose clear fails
|
|
233
|
-
* is
|
|
232
|
+
* is closed by the liveness pass when it starts the failed HEAD's rework (focus/focus-liveness-pass.ts).
|
|
234
233
|
*/
|
|
235
234
|
export async function closeFailedVerdictExit(deps, params, failure, windowStillAwaited) {
|
|
236
235
|
const verdict = failure.failed ?? null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-exit-verdict-gate.js","sourceRoot":"","sources":["../../../src/completion/review-exit-holds/review-exit-verdict-gate.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,gGAAgG;AAChG
|
|
1
|
+
{"version":3,"file":"review-exit-verdict-gate.js","sourceRoot":"","sources":["../../../src/completion/review-exit-holds/review-exit-verdict-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type RecordedConcernReader } from '../../delivery/recorded-concerns.js';
|
|
2
|
+
import { type FocusNextStepRead, type NextStepDelivery, type NextStepFocus, type HeadGateState, type HeadReworkState, type LiveTeam } from '../../supervision/focus-next-step.js';
|
|
3
|
+
import type { FocusHeadGateVerdict } from './review-request-gate.js';
|
|
4
|
+
import type { FocusHeadVerifyJudgment } from './review-verify-judgment-gate.js';
|
|
5
|
+
/** The issue slice the read takes. */
|
|
6
|
+
export interface NextStepIssue {
|
|
7
|
+
id: string;
|
|
8
|
+
deliveryId: string;
|
|
9
|
+
title: string;
|
|
10
|
+
status: string;
|
|
11
|
+
issueType: string;
|
|
12
|
+
}
|
|
13
|
+
/** Every read the decision's facts come from. */
|
|
14
|
+
export interface FocusNextStepReadDeps<D extends NextStepDelivery = NextStepDelivery> {
|
|
15
|
+
getFocusDeliveries: (focusId: string) => Promise<readonly D[]>;
|
|
16
|
+
getFocusIssues: (focusId: string) => Promise<readonly NextStepIssue[]>;
|
|
17
|
+
readRecordedConcernIds: RecordedConcernReader;
|
|
18
|
+
readHeadGateVerdict: (focusId: string, verifyDeliveries: readonly D[]) => Promise<FocusHeadGateVerdict>;
|
|
19
|
+
readVerifyJudgment: (focusId: string, verifyDeliveries: readonly D[]) => Promise<FocusHeadVerifyJudgment>;
|
|
20
|
+
liveTeam: (focusId: string) => LiveTeam;
|
|
21
|
+
/** Uncommitted paths in the focus worktree; empty when it is clean or there is none. */
|
|
22
|
+
listUncommittedPaths: (focusId: string) => readonly string[];
|
|
23
|
+
/** Whether the focus branch holds commits integration does not; unknown reads as ahead (merge is owed until shown not). */
|
|
24
|
+
readBranchAhead: (focusId: string) => boolean | 'unknown';
|
|
25
|
+
rerunSpent: (focusId: string, sha: string | null) => boolean;
|
|
26
|
+
/** Whether a gate run selected on the focus, for any delivery, may judge `sha` (verify/gate-verdicts/gate-run-registry.ts hasPendingGateRun). */
|
|
27
|
+
gateRunPending: (focusId: string, sha: string | null) => boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The gate at HEAD combined with verify's judgment of it: a run in flight (the gate run has started, a recorded
|
|
31
|
+
* failure included -- it is being judged again), then a failure from either, then an owed verdict.
|
|
32
|
+
*/
|
|
33
|
+
export declare function combineHeadGateState(verdict: FocusHeadGateVerdict, judgment: FocusHeadVerifyJudgment): HeadGateState;
|
|
34
|
+
/** The rework Bug keyed on `head`, anywhere on the focus: open when any is still owed. */
|
|
35
|
+
export declare function readReworkAtHead(issues: readonly NextStepIssue[], head: string | null): HeadReworkState;
|
|
36
|
+
/** Read the focus's state and resolve its one next step (module header). Never throws. */
|
|
37
|
+
export declare function readFocusNextStep<D extends NextStepDelivery>(focus: NextStepFocus, deps: FocusNextStepReadDeps<D>): Promise<FocusNextStepRead<D>>;
|
|
38
|
+
//# sourceMappingURL=focus-next-step-read.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus-next-step-read.d.ts","sourceRoot":"","sources":["../../../src/completion/state-cascade/focus-next-step-read.ts"],"names":[],"mappings":"AA2CA,OAAO,EAAuC,KAAK,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAKtH,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAGlB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,QAAQ,EAEd,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,sCAAsC;AACtC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,iDAAiD;AACjD,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB;IAClF,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC/D,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;IACvE,sBAAsB,EAAE,qBAAqB,CAAC;IAC9C,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxG,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC1G,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,QAAQ,CAAC;IACxC,wFAAwF;IACxF,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAC;IAC7D,2HAA2H;IAC3H,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,CAAC;IAC1D,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC;IAC7D,iJAAiJ;IACjJ,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC;CAClE;AA0BD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,uBAAuB,GAAG,aAAa,CAKpH;AAED,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,eAAe,CAOvG;AAwGD,0FAA0F;AAC1F,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,gBAAgB,EAChE,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAO/B"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
+
// Pinned by: packages/daemon/src/completion/state-cascade/focus-next-step-read.test.ts,
|
|
3
|
+
// packages/daemon/src/focus/focus-liveness-pass.test.ts,
|
|
4
|
+
// packages/daemon/src/integration/failed-verdict-review-exit-respawn-regression.test.ts,
|
|
5
|
+
// packages/daemon/src/integration/failed-verdict-review-loop-regression.test.ts
|
|
6
|
+
// PINNED-BY-END
|
|
7
|
+
/**
|
|
8
|
+
* Read a focus's live state into the next-step decision's facts and resolve its
|
|
9
|
+
* one next step (supervision/focus-next-step.ts resolveFocusNextStep).
|
|
10
|
+
*
|
|
11
|
+
* The decision is pure; this is the one place its inputs are read, so every
|
|
12
|
+
* decider that consumes it reads the same slice the same way:
|
|
13
|
+
* - the delivery aggregate (supervision/focus-delivery-aggregate-phase.ts),
|
|
14
|
+
* derived with review_requested_at null -- state, not stamp; the window is
|
|
15
|
+
* its own input;
|
|
16
|
+
* - shortfall parks on the verify deliveries (verify/shortfalls/shortfall-park.ts);
|
|
17
|
+
* - owed open work on the unparked verify deliveries: open Task/Bug issues
|
|
18
|
+
* less the focus's recorded concerns (delivery/recorded-concerns.ts);
|
|
19
|
+
* - the gate verdict at the focus HEAD (review-request-gate.ts) combined with
|
|
20
|
+
* verify's judgment of it (review-verify-judgment-gate.ts), and in flight
|
|
21
|
+
* whenever a gate run selected on the focus may judge HEAD -- a sibling's or
|
|
22
|
+
* an explicit row's run included, so no second run is started beside it;
|
|
23
|
+
* - for a failed HEAD, the rework Bug keyed on that commit, anywhere on the
|
|
24
|
+
* focus (verify/outcome-routing/verification-rework-issue.ts title prefix),
|
|
25
|
+
* and whether its one re-run was taken (supervision/failed-head-rerun.ts);
|
|
26
|
+
* - the live team, uncommitted worktree paths and the branch's unmerged
|
|
27
|
+
* commits.
|
|
28
|
+
* Issues, concerns and the HEAD reads are taken for a focus converged on verify;
|
|
29
|
+
* a settled or paused focus reads only the gate at HEAD (and its issues when that
|
|
30
|
+
* failed); a focus that is coding costs none of them.
|
|
31
|
+
*
|
|
32
|
+
* UNREADABLE IS NOT A STEP. A read that throws answers `readable: false` naming
|
|
33
|
+
* what could not be read; each decider keeps its own fail-open or fail-closed
|
|
34
|
+
* reading of that, as it did before the decision existed.
|
|
35
|
+
*
|
|
36
|
+
* @module completion/state-cascade/focus-next-step-read
|
|
37
|
+
*/
|
|
38
|
+
import { DELIVERY_STATUS } from '@telora/daemon-core';
|
|
39
|
+
import { CONTEXT_GROUP_TYPE, REWORK_ISSUE_TITLE_PREFIX } from '../../types/issue-status.js';
|
|
40
|
+
import { isReviewEnabled } from '../../workflow/pipeline-config.js';
|
|
41
|
+
import { shortfallParkRefusingRework } from '../../verify/shortfalls/shortfall-park.js';
|
|
42
|
+
import { NO_RECORDED_CONCERNS, splitOpenWork } from '../../delivery/recorded-concerns.js';
|
|
43
|
+
import { deriveFocusDeliveryAggregatePhase, } from '../../supervision/focus-delivery-aggregate-phase.js';
|
|
44
|
+
import { resolveFocusNextStep, } from '../../supervision/focus-next-step.js';
|
|
45
|
+
const WORK_OF_PHASE = {
|
|
46
|
+
kickoff: 'nothing_executable',
|
|
47
|
+
blocked: 'paused',
|
|
48
|
+
coding: 'active',
|
|
49
|
+
verifying: 'converged',
|
|
50
|
+
// Never derived here (the window is read with review_requested_at null); mapped for totality.
|
|
51
|
+
reviewing: 'converged',
|
|
52
|
+
winding_down: 'settled',
|
|
53
|
+
};
|
|
54
|
+
class UnreadableError extends Error {
|
|
55
|
+
what;
|
|
56
|
+
constructor(what, cause) {
|
|
57
|
+
super(cause instanceof Error ? cause.message : String(cause));
|
|
58
|
+
this.what = what;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async function readOr(what, read) {
|
|
62
|
+
try {
|
|
63
|
+
return await read();
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
throw new UnreadableError(what, err);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* The gate at HEAD combined with verify's judgment of it: a run in flight (the gate run has started, a recorded
|
|
71
|
+
* failure included -- it is being judged again), then a failure from either, then an owed verdict.
|
|
72
|
+
*/
|
|
73
|
+
export function combineHeadGateState(verdict, judgment) {
|
|
74
|
+
if (judgment.state === 'in_flight')
|
|
75
|
+
return 'in_flight';
|
|
76
|
+
if (verdict.state === 'failed' || judgment.state === 'failed')
|
|
77
|
+
return 'failed';
|
|
78
|
+
if (verdict.state === 'pending' || judgment.state === 'unrecorded')
|
|
79
|
+
return 'pending';
|
|
80
|
+
return verdict.state === 'unconfigured' ? 'unconfigured' : 'passed';
|
|
81
|
+
}
|
|
82
|
+
/** The rework Bug keyed on `head`, anywhere on the focus: open when any is still owed. */
|
|
83
|
+
export function readReworkAtHead(issues, head) {
|
|
84
|
+
if (head === null)
|
|
85
|
+
return 'unfiled';
|
|
86
|
+
const prefix = `${REWORK_ISSUE_TITLE_PREFIX} ${head.slice(0, 12)}:`;
|
|
87
|
+
const bugs = issues.filter((i) => i.issueType !== CONTEXT_GROUP_TYPE && i.title.startsWith(prefix));
|
|
88
|
+
if (bugs.length === 0)
|
|
89
|
+
return 'unfiled';
|
|
90
|
+
// A gate rework Bug is never a recorded concern: owed whenever open.
|
|
91
|
+
return splitOpenWork(bugs, NO_RECORDED_CONCERNS).owed.length > 0 ? 'open' : 'closed';
|
|
92
|
+
}
|
|
93
|
+
function parkedOf(verify) {
|
|
94
|
+
const unparked = verify.filter((d) => shortfallParkRefusingRework(d) === null);
|
|
95
|
+
if (unparked.length === verify.length)
|
|
96
|
+
return { parked: 'none', unparked };
|
|
97
|
+
return { parked: unparked.length === 0 ? 'all' : 'some', unparked };
|
|
98
|
+
}
|
|
99
|
+
/** Owed open work on the unparked verify deliveries; concerns are read only when something is open. */
|
|
100
|
+
async function readOpenWork(focusId, issues, unparked, readConcernIds) {
|
|
101
|
+
const ids = new Set(unparked.map((d) => d.id));
|
|
102
|
+
const work = issues.filter((i) => ids.has(i.deliveryId) && i.issueType !== CONTEXT_GROUP_TYPE);
|
|
103
|
+
if (splitOpenWork(work, NO_RECORDED_CONCERNS).owed.length === 0)
|
|
104
|
+
return false;
|
|
105
|
+
const concerns = await readOr('concerns', () => readConcernIds(focusId));
|
|
106
|
+
return splitOpenWork(work, concerns).owed.length > 0;
|
|
107
|
+
}
|
|
108
|
+
const NOT_CONVERGED = {
|
|
109
|
+
openWorkOnVerify: false, parked: 'none', gateAtHead: 'pending', reworkAtHead: 'unfiled', rerunSpentAtHead: false, head: null,
|
|
110
|
+
};
|
|
111
|
+
async function readConvergedFacts(focusId, deliveries, deps) {
|
|
112
|
+
const verify = deliveries.filter((d) => d.executionStatus === DELIVERY_STATUS.VERIFY);
|
|
113
|
+
const { parked, unparked } = parkedOf(verify);
|
|
114
|
+
const issues = await readOr('issues', () => deps.getFocusIssues(focusId));
|
|
115
|
+
const openWorkOnVerify = await readOpenWork(focusId, issues, unparked, deps.readRecordedConcernIds);
|
|
116
|
+
const [verdict, judgment] = await readOr('head_verdict', () => Promise.all([
|
|
117
|
+
deps.readHeadGateVerdict(focusId, verify),
|
|
118
|
+
deps.readVerifyJudgment(focusId, verify),
|
|
119
|
+
]));
|
|
120
|
+
const head = verdict.sha ?? judgment.sha;
|
|
121
|
+
return {
|
|
122
|
+
openWorkOnVerify,
|
|
123
|
+
parked,
|
|
124
|
+
gateAtHead: deps.gateRunPending(focusId, head) ? 'in_flight' : combineHeadGateState(verdict, judgment),
|
|
125
|
+
reworkAtHead: readReworkAtHead(issues, head),
|
|
126
|
+
rerunSpentAtHead: deps.rerunSpent(focusId, head),
|
|
127
|
+
head,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/** Statuses a settled or paused focus's HEAD verdict is read over: every executable delivery but a dropped one. */
|
|
131
|
+
const SETTLED_HEAD_STATUSES = new Set([DELIVERY_STATUS.DONE, DELIVERY_STATUS.PAUSED]);
|
|
132
|
+
/**
|
|
133
|
+
* A settled or paused focus: only a FAILED gate at HEAD changes its step (the completion merge refuses a red HEAD,
|
|
134
|
+
* and the gate-rework reopen re-opens a done or paused owner), so issues are read only when the HEAD failed.
|
|
135
|
+
*/
|
|
136
|
+
async function readSettledHeadFacts(focusId, deliveries, deps) {
|
|
137
|
+
const judged = deliveries.filter((d) => SETTLED_HEAD_STATUSES.has(d.executionStatus ?? ''));
|
|
138
|
+
const [verdict, judgment] = await readOr('head_verdict', () => Promise.all([
|
|
139
|
+
deps.readHeadGateVerdict(focusId, judged),
|
|
140
|
+
deps.readVerifyJudgment(focusId, judged),
|
|
141
|
+
]));
|
|
142
|
+
const head = verdict.sha ?? judgment.sha;
|
|
143
|
+
if (verdict.state !== 'failed' && judgment.state !== 'failed')
|
|
144
|
+
return { ...NOT_CONVERGED, head };
|
|
145
|
+
const issues = await readOr('issues', () => deps.getFocusIssues(focusId));
|
|
146
|
+
return {
|
|
147
|
+
...NOT_CONVERGED,
|
|
148
|
+
gateAtHead: 'failed',
|
|
149
|
+
reworkAtHead: readReworkAtHead(issues, head),
|
|
150
|
+
rerunSpentAtHead: deps.rerunSpent(focusId, head),
|
|
151
|
+
head,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
async function readFacts(focus, deps) {
|
|
155
|
+
const focusId = focus.focus_id;
|
|
156
|
+
const deliveries = await readOr('deliveries', () => deps.getFocusDeliveries(focusId));
|
|
157
|
+
const work = WORK_OF_PHASE[deriveFocusDeliveryAggregatePhase({
|
|
158
|
+
deliveries: deliveries.map((d) => ({ executionStatus: d.executionStatus ?? null })),
|
|
159
|
+
reviewRequestedAt: null,
|
|
160
|
+
})];
|
|
161
|
+
const converged = work === 'converged'
|
|
162
|
+
? await readConvergedFacts(focusId, deliveries, deps)
|
|
163
|
+
: work === 'settled' || work === 'paused' ? await readSettledHeadFacts(focusId, deliveries, deps) : NOT_CONVERGED;
|
|
164
|
+
const uncommitted = await readOr('worktree', () => deps.listUncommittedPaths(focusId));
|
|
165
|
+
const { head, ...rest } = converged;
|
|
166
|
+
const facts = {
|
|
167
|
+
work,
|
|
168
|
+
...rest,
|
|
169
|
+
reviewEnabled: isReviewEnabled(focus.pipeline_config),
|
|
170
|
+
reviewWindowOpen: focus.review_requested_at !== null,
|
|
171
|
+
liveTeam: deps.liveTeam(focusId),
|
|
172
|
+
uncommittedWork: uncommitted.length > 0,
|
|
173
|
+
branchAhead: work === 'settled' && deps.readBranchAhead(focusId) !== false,
|
|
174
|
+
};
|
|
175
|
+
return { readable: true, facts, next: resolveFocusNextStep(facts), head, deliveries };
|
|
176
|
+
}
|
|
177
|
+
/** Read the focus's state and resolve its one next step (module header). Never throws. */
|
|
178
|
+
export async function readFocusNextStep(focus, deps) {
|
|
179
|
+
try {
|
|
180
|
+
return await readFacts(focus, deps);
|
|
181
|
+
}
|
|
182
|
+
catch (err) {
|
|
183
|
+
if (err instanceof UnreadableError)
|
|
184
|
+
return { readable: false, what: err.what, error: err };
|
|
185
|
+
return { readable: false, what: 'deliveries', error: err instanceof Error ? err : new Error(String(err)) };
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=focus-next-step-read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus-next-step-read.js","sourceRoot":"","sources":["../../../src/completion/state-cascade/focus-next-step-read.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-request-gate.d.ts","sourceRoot":"","sources":["../../../src/completion/state-cascade/review-request-gate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"review-request-gate.d.ts","sourceRoot":"","sources":["../../../src/completion/state-cascade/review-request-gate.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAwB,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAE7H,oDAAoD;AACpD,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD,kGAAkG;IAClG,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACzD;AAED,oCAAoC;AACpC,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,qDAAqD;AACrD,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,oFAAoF;AACpF,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,gBAAgB,CAAC;IACxB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAID,2GAA2G;AAC3G,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,gBAAgB,CAE9F;AAED,+EAA+E;AAC/E,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,qBAAqB,EAC3B,OAAO,EAAE,wBAAwB,EACjC,gBAAgB,EAAE,SAAS,yBAAyB,EAAE,GACrD,OAAO,CAAC,oBAAoB,CAAC,CAW/B;AAED,yDAAyD;AACzD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAE/E"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
2
|
// Pinned by: packages/daemon/src/completion/state-cascade/review-request-gate.test.ts,
|
|
3
|
+
// packages/daemon/src/focus/focus-liveness-pass.test.ts,
|
|
3
4
|
// packages/daemon/src/integration/review-opens-after-verify-judgment-regression.test.ts
|
|
4
5
|
// PINNED-BY-END
|
|
5
6
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-request-gate.js","sourceRoot":"","sources":["../../../src/completion/state-cascade/review-request-gate.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,uFAAuF;AACvF,0FAA0F;AAC1F,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,oBAAoB,EAAyC,MAAM,gDAAgD,CAAC;AA4B7H,MAAM,UAAU,GAAgC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAEhF,2GAA2G;AAC3G,MAAM,UAAU,wBAAwB,CAAC,MAAmC;IAC1E,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC;AACtE,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAA2B,EAC3B,OAAiC,EACjC,gBAAsD;IAEtD,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE;QACtF,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,UAAU,EAAE,CAAC,CAAC,EAAE;QAChB,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;KACvB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACV,OAAO,EAAE,KAAK,EAAE,wBAAwB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;AAC1D,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,wBAAwB,CAAC,OAA6B;IACpE,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,cAAc,CAAC;AACxE,CAAC"}
|
|
1
|
+
{"version":3,"file":"review-request-gate.js","sourceRoot":"","sources":["../../../src/completion/state-cascade/review-request-gate.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,uFAAuF;AACvF,2DAA2D;AAC3D,0FAA0F;AAC1F,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,oBAAoB,EAAyC,MAAM,gDAAgD,CAAC;AA4B7H,MAAM,UAAU,GAAgC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAEhF,2GAA2G;AAC3G,MAAM,UAAU,wBAAwB,CAAC,MAAmC;IAC1E,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC;AACtE,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAA2B,EAC3B,OAAiC,EACjC,gBAAsD;IAEtD,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE;QACtF,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,UAAU,EAAE,CAAC,CAAC,EAAE;QAChB,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;KACvB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACV,OAAO,EAAE,KAAK,EAAE,wBAAwB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;AAC1D,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,wBAAwB,CAAC,OAA6B;IACpE,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,cAAc,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The state cascade's review request, read off the focus's ONE next step
|
|
3
|
+
* (supervision/focus-next-step.ts via focus-next-step-read.ts).
|
|
4
|
+
*
|
|
5
|
+
* checkAutoReview (state-cascade.ts) opens the review window only when the
|
|
6
|
+
* decision answers a review with the window not yet open; it records the
|
|
7
|
+
* review's skip when the decision answers the review disabled; and every other
|
|
8
|
+
* answer -- a park, owed coding work, a gate run owed or in flight at HEAD, a
|
|
9
|
+
* failed HEAD's rework or its one re-run -- declines the window, logged once per
|
|
10
|
+
* distinct answer and HEAD. The pending-spawn poller and verify's run selection
|
|
11
|
+
* act on the same answer, so the three never name different steps for one state.
|
|
12
|
+
*
|
|
13
|
+
* THE CASCADE'S INPUTS. The cascade reads the decision over the deliveries it
|
|
14
|
+
* already holds, its own issue, concern and HEAD readers, and the worktree. It
|
|
15
|
+
* reads NO live team: the window is the hand-off that ends a live coding lead
|
|
16
|
+
* with nothing left to do (completion/completion-event/review-window-idle-coding-lead-regression.test.ts),
|
|
17
|
+
* so it must not wait on that lead; the pending-spawn poller, which never runs
|
|
18
|
+
* while a team is live, reads the same facts. An absent reader in a partial deps
|
|
19
|
+
* object reads as before the decision existed: no issues, no concerns, no gate
|
|
20
|
+
* (unconfigured), verify judged, a clean worktree.
|
|
21
|
+
*
|
|
22
|
+
* Reads that throw decline the window this pass (fail closed) and are retried
|
|
23
|
+
* next poll.
|
|
24
|
+
*
|
|
25
|
+
* @module completion/state-cascade/review-request-next-step
|
|
26
|
+
*/
|
|
27
|
+
import type { FocusDeliveryInfo, PipelineConfig } from '../../types/index.js';
|
|
28
|
+
import { type RecordedConcernReader } from '../../delivery/recorded-concerns.js';
|
|
29
|
+
import { type FocusNextStep, type FocusNextStepRead } from '../../supervision/focus-next-step.js';
|
|
30
|
+
import { type NextStepIssue } from './focus-next-step-read.js';
|
|
31
|
+
import type { FocusHeadGateVerdict } from './review-request-gate.js';
|
|
32
|
+
import type { FocusHeadVerifyJudgment } from './review-verify-judgment-gate.js';
|
|
33
|
+
/** The cascade readers the decision takes (CascadeDeps satisfies it structurally). */
|
|
34
|
+
export interface ReviewRequestNextStepReads {
|
|
35
|
+
getFocusIssues?: (focusId: string) => Promise<readonly NextStepIssue[]>;
|
|
36
|
+
readRecordedConcernIds?: RecordedConcernReader;
|
|
37
|
+
readHeadGateVerdict?: (focusId: string, verifyDeliveries: readonly FocusDeliveryInfo[]) => Promise<FocusHeadGateVerdict>;
|
|
38
|
+
readVerifyJudgment?: (focusId: string, verifyDeliveries: readonly FocusDeliveryInfo[]) => Promise<FocusHeadVerifyJudgment>;
|
|
39
|
+
/** Uncommitted paths in the focus worktree (composition binds it); absent: clean. */
|
|
40
|
+
listUncommittedPaths?: (focusId: string) => readonly string[];
|
|
41
|
+
}
|
|
42
|
+
/** The focus the request is for. */
|
|
43
|
+
export interface ReviewRequestFocus {
|
|
44
|
+
focusId: string;
|
|
45
|
+
pipelineConfig: PipelineConfig | null;
|
|
46
|
+
reviewRequestedAt: string | null;
|
|
47
|
+
}
|
|
48
|
+
/** Read the focus's next step over the deliveries the cascade already holds (module header). */
|
|
49
|
+
export declare function readReviewRequestNextStep(focus: ReviewRequestFocus, deliveries: readonly FocusDeliveryInfo[], reads: ReviewRequestNextStepReads): Promise<FocusNextStepRead<FocusDeliveryInfo>>;
|
|
50
|
+
/** Test-only: forget every logged decline. */
|
|
51
|
+
export declare function __resetReviewRequestNextStepForTests(): void;
|
|
52
|
+
/** Log, once per distinct answer and HEAD, why the window stays shut. */
|
|
53
|
+
export declare function logDeclinedReviewWindow(focusId: string, next: FocusNextStep, head: string | null): void;
|
|
54
|
+
/** The window opens (or its decline is cleared): forget the logged decline. */
|
|
55
|
+
export declare function clearDeclinedReviewWindow(focusId: string): void;
|
|
56
|
+
//# sourceMappingURL=review-request-next-step.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-request-next-step.d.ts","sourceRoot":"","sources":["../../../src/completion/state-cascade/review-request-next-step.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAwB,KAAK,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAGvG,OAAO,EAAyB,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzH,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAKhF,sFAAsF;AACtF,MAAM,WAAW,0BAA0B;IACzC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;IACxE,sBAAsB,CAAC,EAAE,qBAAqB,CAAC;IAC/C,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,iBAAiB,EAAE,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACzH,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,iBAAiB,EAAE,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC3H,qFAAqF;IACrF,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAC;CAC/D;AAED,oCAAoC;AACpC,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,gGAAgG;AAChG,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAE,SAAS,iBAAiB,EAAE,EACxC,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAiB/C;AAKD,8CAA8C;AAC9C,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D;AAED,yEAAyE;AACzE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAOvG;AAED,+EAA+E;AAC/E,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/D"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
+
// Pinned by: packages/daemon/src/completion/state-cascade/review-request-next-step.test.ts
|
|
3
|
+
// PINNED-BY-END
|
|
4
|
+
import { NO_RECORDED_CONCERNS } from '../../delivery/recorded-concerns.js';
|
|
5
|
+
import { failedHeadRerunSpent } from '../../supervision/failed-head-rerun.js';
|
|
6
|
+
import { hasPendingGateRun } from '../../verify/gate-verdicts/gate-run-registry.js';
|
|
7
|
+
import { describeFocusNextStep } from '../../supervision/focus-next-step.js';
|
|
8
|
+
import { readFocusNextStep } from './focus-next-step-read.js';
|
|
9
|
+
import { createLogger } from '../../log/daemon-log.js';
|
|
10
|
+
const log = createLogger({ module: 'state-cascade' });
|
|
11
|
+
/** Read the focus's next step over the deliveries the cascade already holds (module header). */
|
|
12
|
+
export function readReviewRequestNextStep(focus, deliveries, reads) {
|
|
13
|
+
return readFocusNextStep({ focus_id: focus.focusId, review_requested_at: focus.reviewRequestedAt, pipeline_config: focus.pipelineConfig }, {
|
|
14
|
+
getFocusDeliveries: async () => deliveries,
|
|
15
|
+
getFocusIssues: async (id) => (reads.getFocusIssues ? reads.getFocusIssues(id) : []),
|
|
16
|
+
readRecordedConcernIds: async (id) => (reads.readRecordedConcernIds ? reads.readRecordedConcernIds(id) : NO_RECORDED_CONCERNS),
|
|
17
|
+
readHeadGateVerdict: async (id, verify) => (reads.readHeadGateVerdict ? reads.readHeadGateVerdict(id, verify) : { state: 'unconfigured', sha: null }),
|
|
18
|
+
readVerifyJudgment: async (id, verify) => (reads.readVerifyJudgment ? reads.readVerifyJudgment(id, verify) : { state: 'judged', sha: null, deliveryIds: [] }),
|
|
19
|
+
liveTeam: () => 'none',
|
|
20
|
+
listUncommittedPaths: (id) => reads.listUncommittedPaths?.(id) ?? [],
|
|
21
|
+
// Read only for a settled focus, which never reaches the window.
|
|
22
|
+
readBranchAhead: () => 'unknown',
|
|
23
|
+
rerunSpent: failedHeadRerunSpent,
|
|
24
|
+
gateRunPending: hasPendingGateRun,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
/** focusId -> the answer and HEAD its declined window was last logged for (one line each, not per poll). */
|
|
28
|
+
const declineLogged = new Map();
|
|
29
|
+
/** Test-only: forget every logged decline. */
|
|
30
|
+
export function __resetReviewRequestNextStepForTests() {
|
|
31
|
+
declineLogged.clear();
|
|
32
|
+
}
|
|
33
|
+
/** Log, once per distinct answer and HEAD, why the window stays shut. */
|
|
34
|
+
export function logDeclinedReviewWindow(focusId, next, head) {
|
|
35
|
+
const what = describeFocusNextStep(next);
|
|
36
|
+
const key = `${what}@${head ?? 'unreadable'}`;
|
|
37
|
+
if (declineLogged.get(focusId) === key)
|
|
38
|
+
return;
|
|
39
|
+
declineLogged.set(focusId, key);
|
|
40
|
+
const at = head ? ` at ${head.slice(0, 8)}` : '';
|
|
41
|
+
log.info(`[state-cascade] Not opening a review window on focus ${focusId}${at}: the focus's next step is ${what}, not a review.`);
|
|
42
|
+
}
|
|
43
|
+
/** The window opens (or its decline is cleared): forget the logged decline. */
|
|
44
|
+
export function clearDeclinedReviewWindow(focusId) {
|
|
45
|
+
declineLogged.delete(focusId);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=review-request-next-step.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-request-next-step.js","sourceRoot":"","sources":["../../../src/completion/state-cascade/review-request-next-step.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,2FAA2F;AAC3F,gBAAgB;AA8BhB,OAAO,EAAE,oBAAoB,EAA8B,MAAM,qCAAqC,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAA8C,MAAM,sCAAsC,CAAC;AACzH,OAAO,EAAE,iBAAiB,EAAsB,MAAM,2BAA2B,CAAC;AAGlF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;AAmBtD,gGAAgG;AAChG,MAAM,UAAU,yBAAyB,CACvC,KAAyB,EACzB,UAAwC,EACxC,KAAiC;IAEjC,OAAO,iBAAiB,CACtB,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,EAAE,eAAe,EAAE,KAAK,CAAC,cAAc,EAAE,EAChH;QACE,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU;QAC1C,cAAc,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,sBAAsB,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAC9H,mBAAmB,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QACrJ,kBAAkB,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAC7J,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM;QACtB,oBAAoB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE;QACpE,iEAAiE;QACjE,eAAe,EAAE,GAAG,EAAE,CAAC,SAAS;QAChC,UAAU,EAAE,oBAAoB;QAChC,cAAc,EAAE,iBAAiB;KAClC,CACF,CAAC;AACJ,CAAC;AAED,4GAA4G;AAC5G,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEhD,8CAA8C;AAC9C,MAAM,UAAU,oCAAoC;IAClD,aAAa,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,IAAmB,EAAE,IAAmB;IAC/F,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,YAAY,EAAE,CAAC;IAC9C,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG;QAAE,OAAO;IAC/C,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,GAAG,CAAC,IAAI,CAAC,wDAAwD,OAAO,GAAG,EAAE,8BAA8B,IAAI,iBAAiB,CAAC,CAAC;AACpI,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
* park (shortfall-rulings.ts re-selects it), and the park's own escalation
|
|
51
51
|
* (verify/shortfalls/shortfall-park-escalation.ts, handed to a routing decider at
|
|
52
52
|
* once) names that ruling -- that is the route the siblings' review waits on.
|
|
53
|
-
*
|
|
53
|
+
* The next-step decision (supervision/focus-next-step.ts) makes the same call ('a park holds'), so the
|
|
54
54
|
* window and the pending-spawn gate agree; this read is the gate the criterion
|
|
55
55
|
* names. A run in flight for a parked delivery reads in_flight: its re-judgement
|
|
56
56
|
* is being rendered.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-verify-judgment-gate.d.ts","sourceRoot":"","sources":["../../../src/completion/state-cascade/review-verify-judgment-gate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"review-verify-judgment-gate.d.ts","sourceRoot":"","sources":["../../../src/completion/state-cascade/review-verify-judgment-gate.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAMlG,sHAAsH;AACtH,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,SAAS,EAAE,wBAAwB,GAAG,mBAAmB,CAAC;IAC/G,kGAAkG;IAClG,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACxD,sHAAsH;IACtH,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,8GAA8G;IAC9G,uBAAuB,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;IACpE,uHAAuH;IACvH,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACtD;AAED,oCAAoC;AACpC,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,qDAAqD;AACrD,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,6GAA6G;AAC7G,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE9F,kFAAkF;AAClF,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,kFAAkF;IAClF,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AA2BD,4FAA4F;AAC5F,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,wBAAwB,EAC9B,OAAO,EAAE,2BAA2B,EACpC,gBAAgB,EAAE,SAAS,4BAA4B,EAAE,GACxD,OAAO,CAAC,uBAAuB,CAAC,CAQlC;AAED,0DAA0D;AAC1D,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAE1F;AAED,mHAAmH;AACnH,MAAM,MAAM,6BAA6B,CAAC,CAAC,SAAS,4BAA4B,GAAG,4BAA4B,IAAI,CACjH,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,SAAS,CAAC,EAAE,KAC3B,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAKtC,8CAA8C;AAC9C,wBAAgB,uCAAuC,IAAI,IAAI,CAE9D;AAiBD;;;;;;;GAOG;AACH,wBAAsB,gCAAgC,CAAC,CAAC,SAAS,4BAA4B,EAC3F,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,SAAS,CAAC,EAAE,EAC9B,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAC,GAAG,SAAS,GACjD,OAAO,CAAC,OAAO,CAAC,CAmBlB"}
|