@telora/daemon 0.23.1 → 0.23.5
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 +6 -3
- package/dist/completion/review-exit/review-exit-deps.d.ts +2 -1
- package/dist/completion/review-exit/review-exit-deps.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 +5 -4
- package/dist/completion/review-exit/review-exit-phase.js.map +1 -1
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.d.ts +2 -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 +8 -5
- package/dist/completion/review-exit-holds/review-exit-verdict-gate.js.map +1 -1
- package/dist/completion/state-cascade/review-next-step.d.ts.map +1 -1
- package/dist/completion/state-cascade/review-next-step.js +15 -8
- package/dist/completion/state-cascade/review-next-step.js.map +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 -6
- package/dist/completion/team-exit/status-advance-phase.js.map +1 -1
- package/dist/completion/team-liveness/supervision-firing-record.d.ts +6 -0
- package/dist/completion/team-liveness/supervision-firing-record.d.ts.map +1 -1
- package/dist/completion/team-liveness/supervision-firing-record.js +10 -1
- package/dist/completion/team-liveness/supervision-firing-record.js.map +1 -1
- package/dist/completion/team-outcome/decide-close-rows.d.ts +9 -0
- package/dist/completion/team-outcome/decide-close-rows.d.ts.map +1 -1
- package/dist/completion/team-outcome/decide-close-rows.js +18 -4
- package/dist/completion/team-outcome/decide-close-rows.js.map +1 -1
- package/dist/composition/completion-event-context.js +2 -2
- package/dist/composition/completion-event-context.js.map +1 -1
- package/dist/composition/daemon-contexts.d.ts.map +1 -1
- package/dist/composition/daemon-contexts.js +5 -1
- package/dist/composition/daemon-contexts.js.map +1 -1
- package/dist/composition/engine-start-context.d.ts +3 -0
- package/dist/composition/engine-start-context.d.ts.map +1 -0
- package/dist/composition/engine-start-context.js +24 -0
- package/dist/composition/engine-start-context.js.map +1 -0
- package/dist/composition/execution-spawn-context.d.ts.map +1 -1
- package/dist/composition/execution-spawn-context.js +13 -1
- package/dist/composition/execution-spawn-context.js.map +1 -1
- package/dist/composition/runtime-delivery-advance-context.js +3 -3
- package/dist/composition/runtime-delivery-advance-context.js.map +1 -1
- package/dist/composition/runtime-heartbeat-context.d.ts.map +1 -1
- package/dist/composition/runtime-heartbeat-context.js +3 -0
- package/dist/composition/runtime-heartbeat-context.js.map +1 -1
- package/dist/composition/runtime-poll-context.d.ts +29 -2
- package/dist/composition/runtime-poll-context.d.ts.map +1 -1
- package/dist/composition/runtime-poll-context.js +51 -4
- package/dist/composition/runtime-poll-context.js.map +1 -1
- package/dist/composition/runtime-prd-context.d.ts.map +1 -1
- package/dist/composition/runtime-prd-context.js +25 -1
- package/dist/composition/runtime-prd-context.js.map +1 -1
- package/dist/composition/runtime-spawn-pass-context.js +1 -1
- package/dist/composition/runtime-spawn-pass-context.js.map +1 -1
- package/dist/composition/spawn-pass-deps.d.ts +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/standing-approval-context.d.ts.map +1 -1
- package/dist/composition/standing-approval-context.js +2 -1
- package/dist/composition/standing-approval-context.js.map +1 -1
- package/dist/composition/state-cascade-context.js +1 -1
- package/dist/composition/state-cascade-context.js.map +1 -1
- package/dist/composition/tower-pass-context.d.ts +9 -0
- package/dist/composition/tower-pass-context.d.ts.map +1 -0
- package/dist/composition/tower-pass-context.js +53 -0
- package/dist/composition/tower-pass-context.js.map +1 -0
- package/dist/composition/verify-rework-context.d.ts +26 -2
- package/dist/composition/verify-rework-context.d.ts.map +1 -1
- package/dist/composition/verify-rework-context.js +34 -10
- package/dist/composition/verify-rework-context.js.map +1 -1
- package/dist/config/live-daemon-config.d.ts.map +1 -1
- package/dist/config/live-daemon-config.js +1 -19
- package/dist/config/live-daemon-config.js.map +1 -1
- package/dist/daemon-state/awaiting-slot.d.ts.map +1 -1
- package/dist/daemon-state/awaiting-slot.js +2 -1
- package/dist/daemon-state/awaiting-slot.js.map +1 -1
- package/dist/daemon-state/focus-team-state.js +1 -1
- package/dist/daemon-state/intake-control.d.ts.map +1 -1
- package/dist/daemon-state/intake-control.js +2 -1
- package/dist/daemon-state/intake-control.js.map +1 -1
- package/dist/delivery/recorded-concerns.d.ts +19 -2
- package/dist/delivery/recorded-concerns.d.ts.map +1 -1
- package/dist/delivery/recorded-concerns.js +32 -6
- package/dist/delivery/recorded-concerns.js.map +1 -1
- package/dist/directive/directive-queue.js +1 -1
- package/dist/focus/closed-review-window.d.ts +12 -0
- package/dist/focus/closed-review-window.d.ts.map +1 -1
- package/dist/focus/closed-review-window.js +18 -0
- package/dist/focus/closed-review-window.js.map +1 -1
- package/dist/focus/control-state.d.ts +30 -26
- package/dist/focus/control-state.d.ts.map +1 -1
- package/dist/focus/control-state.js +60 -46
- package/dist/focus/control-state.js.map +1 -1
- package/dist/focus/daemon-contexts.d.ts +23 -0
- package/dist/focus/daemon-contexts.d.ts.map +1 -1
- package/dist/focus/daemon-contexts.js +1 -1
- package/dist/focus/daemon-contexts.js.map +1 -1
- package/dist/focus/engine-ready-pass.d.ts +11 -0
- package/dist/focus/engine-ready-pass.d.ts.map +1 -0
- package/dist/focus/engine-ready-pass.js +25 -0
- package/dist/focus/engine-ready-pass.js.map +1 -0
- package/dist/focus/failed-head-wedge.d.ts +95 -0
- package/dist/focus/failed-head-wedge.d.ts.map +1 -0
- package/dist/focus/failed-head-wedge.js +85 -0
- package/dist/focus/failed-head-wedge.js.map +1 -0
- package/dist/focus/focus-engine.d.ts.map +1 -1
- package/dist/focus/focus-engine.js +20 -20
- package/dist/focus/focus-engine.js.map +1 -1
- package/dist/focus/focus-loop-registry.d.ts.map +1 -1
- package/dist/focus/focus-loop-registry.js +2 -1
- package/dist/focus/focus-loop-registry.js.map +1 -1
- package/dist/focus/focus-poller-auto-advance.d.ts.map +1 -1
- package/dist/focus/focus-poller-auto-advance.js +4 -4
- package/dist/focus/focus-poller-auto-advance.js.map +1 -1
- package/dist/focus/focus-poller-spawn.d.ts +42 -49
- package/dist/focus/focus-poller-spawn.d.ts.map +1 -1
- package/dist/focus/focus-poller-spawn.js +129 -83
- package/dist/focus/focus-poller-spawn.js.map +1 -1
- package/dist/focus/focus-poller-state.d.ts.map +1 -1
- package/dist/focus/focus-poller-state.js +1 -19
- package/dist/focus/focus-poller-state.js.map +1 -1
- package/dist/focus/focus-poller.d.ts.map +1 -1
- package/dist/focus/focus-poller.js +2 -1
- package/dist/focus/focus-poller.js.map +1 -1
- package/dist/focus/focus-respawn-guard.d.ts +7 -0
- package/dist/focus/focus-respawn-guard.d.ts.map +1 -1
- package/dist/focus/focus-respawn-guard.js +20 -1
- package/dist/focus/focus-respawn-guard.js.map +1 -1
- package/dist/focus/focus-spawn-decision.d.ts +11 -3
- package/dist/focus/focus-spawn-decision.d.ts.map +1 -1
- package/dist/focus/focus-spawn-decision.js +3 -1
- package/dist/focus/focus-spawn-decision.js.map +1 -1
- package/dist/focus/heartbeat-metadata.d.ts +3 -0
- package/dist/focus/heartbeat-metadata.d.ts.map +1 -1
- package/dist/focus/heartbeat-metadata.js +6 -1
- package/dist/focus/heartbeat-metadata.js.map +1 -1
- package/dist/focus/heartbeat.d.ts.map +1 -1
- package/dist/focus/heartbeat.js +2 -0
- package/dist/focus/heartbeat.js.map +1 -1
- package/dist/focus/pending-directive-gates.d.ts +47 -0
- package/dist/focus/pending-directive-gates.d.ts.map +1 -0
- package/dist/focus/pending-directive-gates.js +76 -0
- package/dist/focus/pending-directive-gates.js.map +1 -0
- package/dist/focus/pending-review-approved-head.d.ts +2 -1
- package/dist/focus/pending-review-approved-head.d.ts.map +1 -1
- package/dist/focus/pending-review-approved-head.js +3 -4
- package/dist/focus/pending-review-approved-head.js.map +1 -1
- package/dist/focus/pending-spawn-pass-deps.d.ts +5 -0
- package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -1
- package/dist/focus/pending-spawn-pass-deps.js +4 -1
- package/dist/focus/pending-spawn-pass-deps.js.map +1 -1
- package/dist/focus/pending-spawn-verify-hold.d.ts +13 -0
- package/dist/focus/pending-spawn-verify-hold.d.ts.map +1 -0
- package/dist/focus/pending-spawn-verify-hold.js +30 -0
- package/dist/focus/pending-spawn-verify-hold.js.map +1 -0
- package/dist/focus/ready-focus-spawn-action.d.ts +15 -2
- package/dist/focus/ready-focus-spawn-action.d.ts.map +1 -1
- package/dist/focus/ready-focus-spawn-action.js +25 -8
- package/dist/focus/ready-focus-spawn-action.js.map +1 -1
- package/dist/focus/spawn-demand-probe.d.ts +45 -0
- package/dist/focus/spawn-demand-probe.d.ts.map +1 -0
- package/dist/focus/spawn-demand-probe.js +74 -0
- package/dist/focus/spawn-demand-probe.js.map +1 -0
- package/dist/focus/stranded-review-reroute.d.ts.map +1 -1
- package/dist/focus/stranded-review-reroute.js +5 -3
- package/dist/focus/stranded-review-reroute.js.map +1 -1
- package/dist/focus/verify-routing-passes.d.ts +8 -3
- package/dist/focus/verify-routing-passes.d.ts.map +1 -1
- package/dist/focus/verify-routing-passes.js +1 -0
- package/dist/focus/verify-routing-passes.js.map +1 -1
- package/dist/git/focus-branch-containment.d.ts +39 -0
- package/dist/git/focus-branch-containment.d.ts.map +1 -0
- package/dist/git/focus-branch-containment.js +47 -0
- package/dist/git/focus-branch-containment.js.map +1 -0
- package/dist/git/types.d.ts.map +1 -1
- package/dist/git/types.js +1 -0
- package/dist/git/types.js.map +1 -1
- package/dist/poll-trigger.js +1 -1
- package/dist/poll-trigger.js.map +1 -1
- package/dist/prd/arm-readiness.d.ts.map +1 -1
- package/dist/prd/arm-readiness.js +2 -1
- package/dist/prd/arm-readiness.js.map +1 -1
- package/dist/prd/controller-shared.d.ts +32 -8
- package/dist/prd/controller-shared.d.ts.map +1 -1
- package/dist/prd/controller-shared.js +34 -18
- package/dist/prd/controller-shared.js.map +1 -1
- package/dist/prd/controller.d.ts.map +1 -1
- package/dist/prd/controller.js +3 -8
- package/dist/prd/controller.js.map +1 -1
- package/dist/prd/done-sweep.d.ts.map +1 -1
- package/dist/prd/done-sweep.js +2 -7
- package/dist/prd/done-sweep.js.map +1 -1
- package/dist/prd/frontier-arming.d.ts +13 -1
- package/dist/prd/frontier-arming.d.ts.map +1 -1
- package/dist/prd/frontier-arming.js +50 -2
- package/dist/prd/frontier-arming.js.map +1 -1
- package/dist/prd/index.d.ts.map +1 -1
- package/dist/prd/index.js +2 -1
- package/dist/prd/index.js.map +1 -1
- package/dist/queries/api-client/shared.d.ts +1 -0
- package/dist/queries/api-client/shared.d.ts.map +1 -1
- package/dist/queries/api-client/shared.js +16 -1
- package/dist/queries/api-client/shared.js.map +1 -1
- package/dist/queries/deliveries/issues.d.ts.map +1 -1
- package/dist/queries/deliveries/issues.js +3 -0
- package/dist/queries/deliveries/issues.js.map +1 -1
- package/dist/queries/focuses/focus-discovery.d.ts +15 -0
- package/dist/queries/focuses/focus-discovery.d.ts.map +1 -1
- package/dist/queries/focuses/focus-discovery.js +10 -1
- package/dist/queries/focuses/focus-discovery.js.map +1 -1
- package/dist/queries/prd/prd.d.ts.map +1 -1
- package/dist/queries/prd/prd.js +2 -1
- package/dist/queries/prd/prd.js.map +1 -1
- package/dist/queries/tower/tower-state.d.ts +56 -0
- package/dist/queries/tower/tower-state.d.ts.map +1 -0
- package/dist/queries/tower/tower-state.js +76 -0
- package/dist/queries/tower/tower-state.js.map +1 -0
- package/dist/queries/wire-schemas/schemas.d.ts +12 -0
- package/dist/queries/wire-schemas/schemas.d.ts.map +1 -1
- package/dist/queries/wire-schemas/schemas.js +11 -0
- package/dist/queries/wire-schemas/schemas.js.map +1 -1
- package/dist/spawn/lead-continuation.d.ts +9 -1
- package/dist/spawn/lead-continuation.d.ts.map +1 -1
- package/dist/spawn/lead-continuation.js +37 -11
- package/dist/spawn/lead-continuation.js.map +1 -1
- package/dist/spawn/spawn-decision.d.ts.map +1 -1
- package/dist/spawn/spawn-decision.js +4 -1
- package/dist/spawn/spawn-decision.js.map +1 -1
- package/dist/supervision/spawn-cooldown.js +1 -1
- package/dist/supervision/stop-rows-team-session.d.ts.map +1 -1
- package/dist/supervision/stop-rows-team-session.js +11 -10
- package/dist/supervision/stop-rows-team-session.js.map +1 -1
- package/dist/supervision/team-work.d.ts.map +1 -1
- package/dist/supervision/team-work.js +3 -1
- package/dist/supervision/team-work.js.map +1 -1
- package/dist/testing/fixtures/api-client.js +1 -1
- package/dist/testing/fixtures/approved-head-inert-deps.js +1 -1
- package/dist/testing/fixtures/approved-head-inert-deps.js.map +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -1
- package/dist/testing/fixtures/pending-spawn-world.js +3 -1
- package/dist/testing/fixtures/pending-spawn-world.js.map +1 -1
- package/dist/testing/fixtures/review-exit-deps.js +1 -1
- package/dist/testing/fixtures/review-exit-deps.js.map +1 -1
- package/dist/testing/fixtures/verification-feedback-deps.d.ts.map +1 -1
- package/dist/testing/fixtures/verification-feedback-deps.js +2 -0
- package/dist/testing/fixtures/verification-feedback-deps.js.map +1 -1
- package/dist/tower/focus-landed.d.ts +4 -0
- package/dist/tower/focus-landed.d.ts.map +1 -0
- package/dist/tower/focus-landed.js +45 -0
- package/dist/tower/focus-landed.js.map +1 -0
- package/dist/tower/tower-admission.d.ts +91 -0
- package/dist/tower/tower-admission.d.ts.map +1 -0
- package/dist/tower/tower-admission.js +137 -0
- package/dist/tower/tower-admission.js.map +1 -0
- package/dist/tower/tower-graph.d.ts +23 -0
- package/dist/tower/tower-graph.d.ts.map +1 -0
- package/dist/tower/tower-graph.js +53 -0
- package/dist/tower/tower-graph.js.map +1 -0
- package/dist/tower/tower-heartbeat-status.d.ts +28 -0
- package/dist/tower/tower-heartbeat-status.d.ts.map +1 -0
- package/dist/tower/tower-heartbeat-status.js +11 -0
- package/dist/tower/tower-heartbeat-status.js.map +1 -0
- package/dist/tower/tower-mode.d.ts +9 -0
- package/dist/tower/tower-mode.d.ts.map +1 -0
- package/dist/tower/tower-mode.js +16 -0
- package/dist/tower/tower-mode.js.map +1 -0
- package/dist/tower/tower-pass-standing.d.ts +8 -0
- package/dist/tower/tower-pass-standing.d.ts.map +1 -0
- package/dist/tower/tower-pass-standing.js +50 -0
- package/dist/tower/tower-pass-standing.js.map +1 -0
- package/dist/tower/tower-pass.d.ts +55 -0
- package/dist/tower/tower-pass.d.ts.map +1 -0
- package/dist/tower/tower-pass.js +59 -0
- package/dist/tower/tower-pass.js.map +1 -0
- package/dist/tower/tower-production-pass.d.ts +3 -0
- package/dist/tower/tower-production-pass.d.ts.map +1 -0
- package/dist/tower/tower-production-pass.js +24 -0
- package/dist/tower/tower-production-pass.js.map +1 -0
- package/dist/tower/tower-spawn-intent.d.ts +72 -0
- package/dist/tower/tower-spawn-intent.d.ts.map +1 -0
- package/dist/tower/tower-spawn-intent.js +138 -0
- package/dist/tower/tower-spawn-intent.js.map +1 -0
- package/dist/tower/tower-verdicts.d.ts +81 -0
- package/dist/tower/tower-verdicts.d.ts.map +1 -0
- package/dist/tower/tower-verdicts.js +139 -0
- package/dist/tower/tower-verdicts.js.map +1 -0
- package/dist/types/index.js +1 -1
- package/dist/types/issue-status.d.ts +14 -0
- package/dist/types/issue-status.d.ts.map +1 -1
- package/dist/types/issue-status.js +14 -0
- package/dist/types/issue-status.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 +44 -5
- package/dist/verify/outcome-routing/verification-rework-issue.d.ts.map +1 -1
- package/dist/verify/outcome-routing/verification-rework-issue.js +85 -27
- package/dist/verify/outcome-routing/verification-rework-issue.js.map +1 -1
- package/dist/worktree/focus-worktree-state.d.ts.map +1 -1
- package/dist/worktree/focus-worktree-state.js +1 -0
- package/dist/worktree/focus-worktree-state.js.map +1 -1
- package/package.json +3 -3
|
@@ -15,7 +15,7 @@ import { requestDaemonFailStop } from '../daemon-state/fail-stop.js';
|
|
|
15
15
|
import { failStopDeps } from './execution-process-context.js';
|
|
16
16
|
/** The spawn passes' focus reads, the team spawn and the review-next-step gate's filer, spool and fail-stop. */
|
|
17
17
|
export function buildSpawnPassContext() {
|
|
18
|
-
const readRecordedConcernIds = makeRecordedConcernReader(getFocusReviewFindingFacts);
|
|
18
|
+
const readRecordedConcernIds = makeRecordedConcernReader(getFocusReviewFindingFacts, getFocusIssues);
|
|
19
19
|
return {
|
|
20
20
|
getReadyFocuses,
|
|
21
21
|
getActiveFocuses,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-spawn-pass-context.js","sourceRoot":"","sources":["../../src/composition/runtime-spawn-pass-context.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,yEAAyE;AACzE,gBAAgB;AAehB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC3G,OAAO,EAAE,yCAAyC,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAChI,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,gHAAgH;AAChH,MAAM,UAAU,qBAAqB;IACnC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,0BAA0B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-spawn-pass-context.js","sourceRoot":"","sources":["../../src/composition/runtime-spawn-pass-context.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,yEAAyE;AACzE,gBAAgB;AAehB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC3G,OAAO,EAAE,yCAAyC,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAChI,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,gHAAgH;AAChH,MAAM,UAAU,qBAAqB;IACnC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAC;IACrG,OAAO;QACL,eAAe;QACf,gBAAgB;QAChB,cAAc;QACd,cAAc,EAAE;YACd,kBAAkB;YAClB,cAAc;YACd,sBAAsB;YACtB,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACrB,kBAAkB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,EAAE,gBAAgB,EAAE,CAAC;YAC1F,kBAAkB,EAAE,kBAAkB,EAAE;YACxC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,qBAAqB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;SACvE;QACD,kBAAkB,EAAE,EAAE,kBAAkB,EAAE,cAAc,EAAE,sBAAsB,EAAE;QAClF,uBAAuB,EAAE;YACvB,kBAAkB;YAClB,iBAAiB,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC;YAC1F,sBAAsB;SACvB;KACF,CAAC;AACJ,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,qBAAqB;IACnC,OAAO,EAAE,4BAA4B,EAAE,yCAAyC,EAAE,CAAC;AACrF,CAAC"}
|
|
@@ -13,7 +13,7 @@ import type { DaemonContexts } from '../focus/daemon-contexts.js';
|
|
|
13
13
|
import type { PendingSpawnPassDeps, ReadyFocusPassDeps } from '../focus/pending-spawn-pass-deps.js';
|
|
14
14
|
import type { PendingReviewApprovedHeadDeps } from '../focus/pending-review-approved-head.js';
|
|
15
15
|
/** Every context the spawn passes are mapped from: all of them but the passes themselves. */
|
|
16
|
-
export type SpawnPassSources = Omit<DaemonContexts, 'readyFocusPass' | 'pendingSpawnPass'>;
|
|
16
|
+
export type SpawnPassSources = Omit<DaemonContexts, 'readyFocusPass' | 'pendingSpawnPass' | 'towerPass' | 'engineStart'>;
|
|
17
17
|
/** The approved-head gate over the contexts: its own reads, the approval read, the unchanged-range read, the rework filing. */
|
|
18
18
|
export declare function buildReviewApprovedHeadDeps(contexts: SpawnPassSources): PendingReviewApprovedHeadDeps;
|
|
19
19
|
/** The ready-focus pass over the composition root's contexts. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-pass-deps.d.ts","sourceRoot":"","sources":["../../src/composition/spawn-pass-deps.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"spawn-pass-deps.d.ts","sourceRoot":"","sources":["../../src/composition/spawn-pass-deps.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AAS9F,6FAA6F;AAC7F,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,WAAW,GAAG,aAAa,CAAC,CAAC;AAEzH,+HAA+H;AAC/H,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,gBAAgB,GAAG,6BAA6B,CAOrG;AAED,iEAAiE;AACjE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,kBAAkB,CAetF;AAED,mEAAmE;AACnE,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,oBAAoB,CAiB1F"}
|
|
@@ -7,6 +7,7 @@ import { createReadyFocusCapHoldReader } from '../supervision/review-cycle-cap-h
|
|
|
7
7
|
import { readReviewHeadApproval } from '../completion/state-cascade/review-approved-head-gate.js';
|
|
8
8
|
import { readUnchangedReviewedHead } from '../focus/unchanged-reviewed-head.js';
|
|
9
9
|
import { fileReworkForFailedVerdict } from '../verify/outcome-routing/verification-rework-issue.js';
|
|
10
|
+
import { PRODUCTION_TOWER_ADMISSION } from './tower-pass-context.js';
|
|
10
11
|
/** The approved-head gate over the contexts: its own reads, the approval read, the unchanged-range read, the rework filing. */
|
|
11
12
|
export function buildReviewApprovedHeadDeps(contexts) {
|
|
12
13
|
return {
|
|
@@ -30,6 +31,7 @@ export function buildReadyFocusPassDeps(contexts) {
|
|
|
30
31
|
const row = (await spawnPass.getActiveFocuses(org, focus.product_id ?? undefined)).find((f) => f.focus_id === focus.focus_id);
|
|
31
32
|
return row ? row.review_requested_at : 'absent';
|
|
32
33
|
},
|
|
34
|
+
tower: PRODUCTION_TOWER_ADMISSION,
|
|
33
35
|
};
|
|
34
36
|
}
|
|
35
37
|
/** The pending-spawn pass over the composition root's contexts. */
|
|
@@ -48,6 +50,7 @@ export function buildPendingSpawnPassDeps(contexts) {
|
|
|
48
50
|
nextSpawnRoute: contexts.nextSpawnRoute,
|
|
49
51
|
pendingSpawnGuard: contexts.pendingSpawnGuard,
|
|
50
52
|
respawnCycleEscalation: contexts.respawnCycleEscalation,
|
|
53
|
+
tower: PRODUCTION_TOWER_ADMISSION,
|
|
51
54
|
};
|
|
52
55
|
}
|
|
53
56
|
//# sourceMappingURL=spawn-pass-deps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-pass-deps.js","sourceRoot":"","sources":["../../src/composition/spawn-pass-deps.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,wEAAwE;AACxE,gBAAgB;AAoBhB,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0DAA0D,CAAC;AAClG,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;
|
|
1
|
+
{"version":3,"file":"spawn-pass-deps.js","sourceRoot":"","sources":["../../src/composition/spawn-pass-deps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standing-approval-context.d.ts","sourceRoot":"","sources":["../../src/composition/standing-approval-context.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AACnG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAC;
|
|
1
|
+
{"version":3,"file":"standing-approval-context.d.ts","sourceRoot":"","sources":["../../src/composition/standing-approval-context.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AACnG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAC;AAKzG,kHAAkH;AAClH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,sBAAsB,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,GACxD,oBAAoB,CAgBtB"}
|
|
@@ -26,6 +26,7 @@ import { listReviewCensuses } from '../completion/review-exit/review-census-reco
|
|
|
26
26
|
import { fileEscalationIdempotent } from '../supervision/escalation-suppression.js';
|
|
27
27
|
import { makeRecordedConcernReader } from '../delivery/recorded-concerns.js';
|
|
28
28
|
import { getFocusReviewFindingFacts } from '../queries/focus-review/review-finding-facts.js';
|
|
29
|
+
import { getFocusIssues } from '../queries/focuses/focuses.js';
|
|
29
30
|
/** The production deps for one focus; `readReviewHeadApproval` is the cascade's own head/approval read for it. */
|
|
30
31
|
export function buildStandingApprovalDeps(productId, focusId, readReviewHeadApproval) {
|
|
31
32
|
return {
|
|
@@ -41,7 +42,7 @@ export function buildStandingApprovalDeps(productId, focusId, readReviewHeadAppr
|
|
|
41
42
|
evaluateExternalCondition: makeDeferredRequestClosureEvaluator(productId),
|
|
42
43
|
externalHoldClock: () => new Date().toISOString(),
|
|
43
44
|
fileStrandedEscalation: fileEscalationIdempotent,
|
|
44
|
-
readRecordedConcernIds: makeRecordedConcernReader(getFocusReviewFindingFacts),
|
|
45
|
+
readRecordedConcernIds: makeRecordedConcernReader(getFocusReviewFindingFacts, getFocusIssues),
|
|
45
46
|
};
|
|
46
47
|
}
|
|
47
48
|
//# sourceMappingURL=standing-approval-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standing-approval-context.js","sourceRoot":"","sources":["../../src/composition/standing-approval-context.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,iGAAiG;AACjG,iEAAiE;AACjE,gBAAgB;AAEhB;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,mCAAmC,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAGpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"standing-approval-context.js","sourceRoot":"","sources":["../../src/composition/standing-approval-context.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,iGAAiG;AACjG,iEAAiE;AACjE,gBAAgB;AAEhB;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,mCAAmC,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAGpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,kHAAkH;AAClH,MAAM,UAAU,yBAAyB,CACvC,SAAiB,EACjB,OAAe,EACf,sBAAyD;IAEzD,OAAO;QACL,GAAG,eAAe;QAClB,sBAAsB;QACtB,kBAAkB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC;QAChE,qBAAqB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,WAAW,KAAK,QAAQ;QACjF,iBAAiB;QACjB,sBAAsB;QACtB,oBAAoB,EAAE,kBAAkB,CAAC,qBAAqB;QAC9D,+BAA+B;QAC/B,4BAA4B,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,4BAA4B,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;QACnF,yBAAyB,EAAE,mCAAmC,CAAC,SAAS,CAAC;QACzE,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACjD,sBAAsB,EAAE,wBAAwB;QAChD,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,EAAE,cAAc,CAAC;KAC9F,CAAC;AACJ,CAAC"}
|
|
@@ -99,7 +99,7 @@ export function buildStateCascadeContext() {
|
|
|
99
99
|
clearReviewRequestedAt: closeReviewWindowWith(clearReviewRequestedAt),
|
|
100
100
|
isReviewSessionActive,
|
|
101
101
|
recordReviewSkip,
|
|
102
|
-
readRecordedConcernIds: makeRecordedConcernReader(getFocusReviewFindingFacts),
|
|
102
|
+
readRecordedConcernIds: makeRecordedConcernReader(getFocusReviewFindingFacts, getFocusIssues),
|
|
103
103
|
},
|
|
104
104
|
getActiveFocuses,
|
|
105
105
|
reviewHeadApproval: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-cascade-context.js","sourceRoot":"","sources":["../../src/composition/state-cascade-context.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,wEAAwE;AACxE,0EAA0E;AAC1E,4EAA4E;AAC5E,+DAA+D;AAC/D,gBAAgB;AAEhB;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/G,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,iCAAiC,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC5F,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,kCAAkC,EAClC,mCAAmC,EACnC,6BAA6B,EAC7B,iCAAiC,EACjC,sBAAsB,GACvB,MAAM,yCAAyC,CAAC;AAIjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AACjG,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AACjG,OAAO,EAAE,wCAAwC,EAAE,MAAM,0DAA0D,CAAC;AACpH,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAA4B,MAAM,+CAA+C,CAAC;AACpI,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAE7F,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAW,EAAE,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,WAAW,KAAK,QAAQ,CAAC;AAEpH,mGAAmG;AACnG,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;QACtD,cAAc;QACd,YAAY,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,CAAC;QAC/G,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,qHAAqH;AACrH,MAAM,UAAU,8BAA8B;IAC5C,OAAO;QACL,iBAAiB;QACjB,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,aAAa,IAAI,IAAI;QACnF,cAAc,EAAE,wBAAwB;QACxC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QACrB,oBAAoB,EAAE,iCAAiC;QACvD,sBAAsB,EAAE,yBAAyB;KAClD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO,EAAE,GAAG,sBAAsB,CAAC,wBAAwB,EAAE,EAAE,oBAAoB,EAAE,CAAC,EAAE,GAAG,8BAA8B,EAAE,EAAE,CAAC;AAChI,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAA+B;IACvE,OAAO;QACL,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;QACxD,OAAO,EAAE;YACP,gBAAgB,EAAE,oBAAoB;YACtC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,iBAAiB;YACjB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;SACtB;QACD,QAAQ,EAAE,EAAE,GAAG,8BAA8B,EAAE,EAAE,GAAG,OAAO,EAAE;KAC9D,CAAC;AACJ,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL,OAAO,EAAE;YACP,kBAAkB;YAClB,cAAc;YACd,oBAAoB;YACpB,8GAA8G;YAC9G,sBAAsB,EAAE,qBAAqB,CAAC,sBAAsB,CAAC;YACrE,qBAAqB;YACrB,gBAAgB;YAChB,sBAAsB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"state-cascade-context.js","sourceRoot":"","sources":["../../src/composition/state-cascade-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type FocusBranchContainmentGit } from '../git/focus-branch-containment.js';
|
|
2
|
+
import type { TowerPassDepsSource } from '../tower/tower-pass.js';
|
|
3
|
+
import type { TowerAdmissionDeps } from '../tower/tower-admission.js';
|
|
4
|
+
/** What the spawn passes' admission reads of the tower: the live mode and this daemon's pass standing. */
|
|
5
|
+
export declare const PRODUCTION_TOWER_ADMISSION: TowerAdmissionDeps;
|
|
6
|
+
/** The git the focus-branch containment read runs (no checkout; the product repo). */
|
|
7
|
+
export declare const FOCUS_BRANCH_GIT: FocusBranchContainmentGit;
|
|
8
|
+
export declare function buildTowerPassDepsSource(): TowerPassDepsSource;
|
|
9
|
+
//# sourceMappingURL=tower-pass-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tower-pass-context.d.ts","sourceRoot":"","sources":["../../src/composition/tower-pass-context.ts"],"names":[],"mappings":"AAoBA,OAAO,EAA8B,KAAK,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAKhH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,0GAA0G;AAC1G,eAAO,MAAM,0BAA0B,EAAE,kBAGxC,CAAC;AAEF,sFAAsF;AACtF,eAAO,MAAM,gBAAgB,EAAE,yBAAyE,CAAC;AAEzG,wBAAgB,wBAAwB,IAAI,mBAAmB,CAoB9D"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
+
// Pinned by: packages/daemon/src/tower/tower-production-pass.test.ts
|
|
3
|
+
// PINNED-BY-END
|
|
4
|
+
/**
|
|
5
|
+
* The production binding of the product towers' verdict pass
|
|
6
|
+
* (tower/tower-pass.ts TowerPassDeps) and of the git read the LANDED rule needs
|
|
7
|
+
* (git/focus-branch-containment.ts), shared with the PRD frontier
|
|
8
|
+
* (composition/runtime-prd-context.ts). Part of the daemon composition root.
|
|
9
|
+
*
|
|
10
|
+
* The deps are built per pass from the LIVE config, so a hot-reloaded products
|
|
11
|
+
* array is seen on the next poll.
|
|
12
|
+
*
|
|
13
|
+
* @module composition/tower-pass-context
|
|
14
|
+
*/
|
|
15
|
+
import { liveDaemonConfig } from '../config/live-daemon-config.js';
|
|
16
|
+
import { configForProduct, findProduct } from '../config/config.js';
|
|
17
|
+
import { getActiveTeams } from '../daemon-state/focus-team-state.js';
|
|
18
|
+
import { runGitSync } from '../git/types.js';
|
|
19
|
+
import { readFocusBranchContainment } from '../git/focus-branch-containment.js';
|
|
20
|
+
import { getTowerState, writeTowerVerdicts } from '../queries/tower/tower-state.js';
|
|
21
|
+
import { judgeTowerGraph } from '../tower/tower-graph.js';
|
|
22
|
+
import { resolveTowerMode } from '../tower/tower-mode.js';
|
|
23
|
+
import { wantingFocusIds } from '../tower/tower-spawn-intent.js';
|
|
24
|
+
import { towerPassStanding } from '../tower/tower-pass-standing.js';
|
|
25
|
+
/** What the spawn passes' admission reads of the tower: the live mode and this daemon's pass standing. */
|
|
26
|
+
export const PRODUCTION_TOWER_ADMISSION = {
|
|
27
|
+
mode: () => resolveTowerMode(),
|
|
28
|
+
passStanding: (productId) => towerPassStanding(productId),
|
|
29
|
+
};
|
|
30
|
+
/** The git the focus-branch containment read runs (no checkout; the product repo). */
|
|
31
|
+
export const FOCUS_BRANCH_GIT = { run: (args, cwd) => runGitSync(args, cwd) };
|
|
32
|
+
export function buildTowerPassDepsSource() {
|
|
33
|
+
return () => {
|
|
34
|
+
const config = liveDaemonConfig;
|
|
35
|
+
if (!config)
|
|
36
|
+
return null;
|
|
37
|
+
return {
|
|
38
|
+
products: config.products,
|
|
39
|
+
mode: resolveTowerMode(),
|
|
40
|
+
readState: getTowerState,
|
|
41
|
+
writeVerdicts: (productId, writes) => writeTowerVerdicts(productId, writes),
|
|
42
|
+
liveTeamFocusIds: () => new Set(getActiveTeams().keys()),
|
|
43
|
+
wantingFocusIds: () => wantingFocusIds(),
|
|
44
|
+
judgeGraph: (productId, state) => {
|
|
45
|
+
const product = findProduct(config, productId);
|
|
46
|
+
const pc = product ? configForProduct(config, product) : config;
|
|
47
|
+
return judgeTowerGraph(state, (focus) => readFocusBranchContainment(focus, pc.integrationBranch, pc.repoPath, FOCUS_BRANCH_GIT));
|
|
48
|
+
},
|
|
49
|
+
now: () => new Date(),
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=tower-pass-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tower-pass-context.js","sourceRoot":"","sources":["../../src/composition/tower-pass-context.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,qEAAqE;AACrE,gBAAgB;AAEhB;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAkC,MAAM,oCAAoC,CAAC;AAChH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE,0GAA0G;AAC1G,MAAM,CAAC,MAAM,0BAA0B,GAAuB;IAC5D,IAAI,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE;IAC9B,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;CAC1D,CAAC;AAEF,sFAAsF;AACtF,MAAM,CAAC,MAAM,gBAAgB,GAA8B,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;AAEzG,MAAM,UAAU,wBAAwB;IACtC,OAAO,GAAG,EAAE;QACV,MAAM,MAAM,GAAG,gBAAgB,CAAC;QAChC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,gBAAgB,EAAE;YACxB,SAAS,EAAE,aAAa;YACxB,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC;YAC3E,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAAC;YACxD,eAAe,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE;YACxC,UAAU,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;gBAC/B,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC/C,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAChE,OAAO,eAAe,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACtC,0BAA0B,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;YAC5F,CAAC;YACD,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;SACtB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,11 +1,35 @@
|
|
|
1
|
+
import { getFocusDeliveries, getFocusIssues } from '../queries/focuses/focuses.js';
|
|
2
|
+
import { createIssue, getDeliveryIssues } from '../queries/deliveries/issues.js';
|
|
3
|
+
import { getFocusReviewFindingFacts } from '../queries/focus-review/review-finding-facts.js';
|
|
1
4
|
import { type ReworkAttributionDeps } from '../verify/attribution/rework-attribution.js';
|
|
2
5
|
import type { FailedVerdictReworkDeps, ReworkIssueDeps, ReworkRetryDeps } from '../verify/outcome-routing/verification-rework-issue.js';
|
|
3
6
|
/** Who owns a failed verdict: the focus worktree, the recorded verdicts, and git. */
|
|
4
7
|
export declare function buildReworkAttributionDeps(): ReworkAttributionDeps;
|
|
5
|
-
/** The rework
|
|
8
|
+
/** The IO the rework filing composes over: the issue and delivery reads and writes, and the focus's finding facts. */
|
|
9
|
+
export interface ReworkIssueIO {
|
|
10
|
+
getDeliveryIssues: typeof getDeliveryIssues;
|
|
11
|
+
createIssue: typeof createIssue;
|
|
12
|
+
getFocusDeliveries: typeof getFocusDeliveries;
|
|
13
|
+
/** The focus's review-finding facts, from which the recorded concerns are derived. */
|
|
14
|
+
readFocusReviewFindingFacts: typeof getFocusReviewFindingFacts;
|
|
15
|
+
/** The focus's issues, read to keep a gate rework Bug out of the recorded concerns. */
|
|
16
|
+
readFocusIssues: typeof getFocusIssues;
|
|
17
|
+
}
|
|
18
|
+
/** The production IO: the Telora API reads and writes. */
|
|
19
|
+
export declare const PRODUCTION_REWORK_IO: ReworkIssueIO;
|
|
20
|
+
/**
|
|
21
|
+
* The rework Bug filing composed over `io`: deduped across the focus, attributed to
|
|
22
|
+
* its owner, and skipped only beside OWED work -- the recorded concerns are derived
|
|
23
|
+
* from the focus's finding facts by the same reader the spawn and advance paths
|
|
24
|
+
* bind (delivery/recorded-concerns.ts makeRecordedConcernReader).
|
|
25
|
+
*/
|
|
26
|
+
export declare function composeReworkIssueDeps(io: ReworkIssueIO): ReworkIssueDeps;
|
|
27
|
+
/** The production rework Bug filing. */
|
|
6
28
|
export declare function buildReworkIssueDeps(): ReworkIssueDeps;
|
|
7
29
|
/** The owed-filing retry: the filing plus the recorded verdict and a clock. */
|
|
8
30
|
export declare function buildReworkRetryDeps(): ReworkRetryDeps;
|
|
9
|
-
/** The per-focus filing for a failed verdict
|
|
31
|
+
/** The per-focus filing for a failed verdict composed over `io`: the filing plus the ONE-owner choice over the focus's verify deliveries. */
|
|
32
|
+
export declare function composeFailedVerdictReworkDeps(io: ReworkIssueIO): FailedVerdictReworkDeps;
|
|
33
|
+
/** The production per-focus filing for a failed verdict. */
|
|
10
34
|
export declare function buildFailedVerdictReworkDeps(): FailedVerdictReworkDeps;
|
|
11
35
|
//# sourceMappingURL=verify-rework-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-rework-context.d.ts","sourceRoot":"","sources":["../../src/composition/verify-rework-context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verify-rework-context.d.ts","sourceRoot":"","sources":["../../src/composition/verify-rework-context.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAKjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EACf,eAAe,EAChB,MAAM,wDAAwD,CAAC;AAEhE,qFAAqF;AACrF,wBAAgB,0BAA0B,IAAI,qBAAqB,CAWlE;AAED,sHAAsH;AACtH,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,WAAW,EAAE,OAAO,WAAW,CAAC;IAChC,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,sFAAsF;IACtF,2BAA2B,EAAE,OAAO,0BAA0B,CAAC;IAC/D,uFAAuF;IACvF,eAAe,EAAE,OAAO,cAAc,CAAC;CACxC;AAED,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB,EAAE,aAMlC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,aAAa,GAAG,eAAe,CASzE;AAED,wCAAwC;AACxC,wBAAgB,oBAAoB,IAAI,eAAe,CAEtD;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,IAAI,eAAe,CAMtD;AAED,6IAA6I;AAC7I,wBAAgB,8BAA8B,CAAC,EAAE,EAAE,aAAa,GAAG,uBAAuB,CAOzF;AAED,4DAA4D;AAC5D,wBAAgB,4BAA4B,IAAI,uBAAuB,CAEtE"}
|
|
@@ -15,11 +15,13 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { DELIVERY_STATUS } from '@telora/daemon-core';
|
|
17
17
|
import { getFocusWorktree } from '../worktree/focus-worktree-state.js';
|
|
18
|
-
import { getFocusDeliveries } from '../queries/focuses/focuses.js';
|
|
18
|
+
import { getFocusDeliveries, getFocusIssues } from '../queries/focuses/focuses.js';
|
|
19
19
|
import { createIssue, getDeliveryIssues } from '../queries/deliveries/issues.js';
|
|
20
20
|
import { listReviewWindowCommits } from '../git/review-window-commits.js';
|
|
21
21
|
import { findGreenAncestor, listAncestorsWithGit } from '../verify/gate-verdicts/judged-ancestor.js';
|
|
22
22
|
import { readCommitVerdict } from '../verify/gate-verdicts/commit-verdict-record.js';
|
|
23
|
+
import { makeRecordedConcernReader } from '../delivery/recorded-concerns.js';
|
|
24
|
+
import { getFocusReviewFindingFacts } from '../queries/focus-review/review-finding-facts.js';
|
|
23
25
|
import { deliveryOwnsFailure, selectReworkOwner, } from '../verify/attribution/rework-attribution.js';
|
|
24
26
|
/** Who owns a failed verdict: the focus worktree, the recorded verdicts, and git. */
|
|
25
27
|
export function buildReworkAttributionDeps() {
|
|
@@ -33,16 +35,34 @@ export function buildReworkAttributionDeps() {
|
|
|
33
35
|
.map((d) => d.id),
|
|
34
36
|
};
|
|
35
37
|
}
|
|
36
|
-
/** The
|
|
37
|
-
export
|
|
38
|
+
/** The production IO: the Telora API reads and writes. */
|
|
39
|
+
export const PRODUCTION_REWORK_IO = {
|
|
40
|
+
getDeliveryIssues,
|
|
41
|
+
createIssue,
|
|
42
|
+
getFocusDeliveries,
|
|
43
|
+
readFocusReviewFindingFacts: getFocusReviewFindingFacts,
|
|
44
|
+
readFocusIssues: getFocusIssues,
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* The rework Bug filing composed over `io`: deduped across the focus, attributed to
|
|
48
|
+
* its owner, and skipped only beside OWED work -- the recorded concerns are derived
|
|
49
|
+
* from the focus's finding facts by the same reader the spawn and advance paths
|
|
50
|
+
* bind (delivery/recorded-concerns.ts makeRecordedConcernReader).
|
|
51
|
+
*/
|
|
52
|
+
export function composeReworkIssueDeps(io) {
|
|
38
53
|
const attribution = buildReworkAttributionDeps();
|
|
39
54
|
return {
|
|
40
|
-
getDeliveryIssues,
|
|
41
|
-
createIssue,
|
|
42
|
-
getFocusDeliveries,
|
|
55
|
+
getDeliveryIssues: io.getDeliveryIssues,
|
|
56
|
+
createIssue: io.createIssue,
|
|
57
|
+
getFocusDeliveries: io.getFocusDeliveries,
|
|
58
|
+
readRecordedConcernIds: makeRecordedConcernReader(io.readFocusReviewFindingFacts, io.readFocusIssues),
|
|
43
59
|
deliveryOwnsFailure: (deliveryId, at) => deliveryOwnsFailure(deliveryId, at, attribution),
|
|
44
60
|
};
|
|
45
61
|
}
|
|
62
|
+
/** The production rework Bug filing. */
|
|
63
|
+
export function buildReworkIssueDeps() {
|
|
64
|
+
return composeReworkIssueDeps(PRODUCTION_REWORK_IO);
|
|
65
|
+
}
|
|
46
66
|
/** The owed-filing retry: the filing plus the recorded verdict and a clock. */
|
|
47
67
|
export function buildReworkRetryDeps() {
|
|
48
68
|
return {
|
|
@@ -51,13 +71,17 @@ export function buildReworkRetryDeps() {
|
|
|
51
71
|
now: Date.now,
|
|
52
72
|
};
|
|
53
73
|
}
|
|
54
|
-
/** The per-focus filing for a failed verdict
|
|
55
|
-
export function
|
|
74
|
+
/** The per-focus filing for a failed verdict composed over `io`: the filing plus the ONE-owner choice over the focus's verify deliveries. */
|
|
75
|
+
export function composeFailedVerdictReworkDeps(io) {
|
|
56
76
|
const attribution = buildReworkAttributionDeps();
|
|
57
77
|
return {
|
|
58
|
-
...
|
|
59
|
-
getFocusDeliveries,
|
|
78
|
+
...composeReworkIssueDeps(io),
|
|
79
|
+
getFocusDeliveries: io.getFocusDeliveries,
|
|
60
80
|
selectReworkOwner: (candidates, at) => selectReworkOwner(candidates, at, attribution),
|
|
61
81
|
};
|
|
62
82
|
}
|
|
83
|
+
/** The production per-focus filing for a failed verdict. */
|
|
84
|
+
export function buildFailedVerdictReworkDeps() {
|
|
85
|
+
return composeFailedVerdictReworkDeps(PRODUCTION_REWORK_IO);
|
|
86
|
+
}
|
|
63
87
|
//# sourceMappingURL=verify-rework-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-rework-context.js","sourceRoot":"","sources":["../../src/composition/verify-rework-context.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,oGAAoG;AACpG,iFAAiF;AACjF,gBAAgB;AAEhB;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"verify-rework-context.js","sourceRoot":"","sources":["../../src/composition/verify-rework-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-daemon-config.d.ts","sourceRoot":"","sources":["../../src/config/live-daemon-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"live-daemon-config.d.ts","sourceRoot":"","sources":["../../src/config/live-daemon-config.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,IAAI,gBAAgB,EAAE,YAAY,GAAG,IAAW,CAAC;AAExD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAEpE"}
|
|
@@ -1,23 +1,5 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by: packages/daemon/src/
|
|
3
|
-
// packages/daemon/src/completion/review-cycle-budget/review-cycle-cap-regression.test.ts,
|
|
4
|
-
// packages/daemon/src/focus/awaiting-slot.test.ts,
|
|
5
|
-
// packages/daemon/src/focus/focus-poller-product-poll.test.ts,
|
|
6
|
-
// packages/daemon/src/focus/gaps-found-hands-to-coding.test.ts,
|
|
7
|
-
// packages/daemon/src/focus/held-review-window-not-stranded.test.ts,
|
|
8
|
-
// packages/daemon/src/focus/parked-shortfall-spawn.test.ts,
|
|
9
|
-
// packages/daemon/src/focus/pending-review-approved-head.test.ts,
|
|
10
|
-
// packages/daemon/src/focus/pending-spawn-review-next-step.test.ts,
|
|
11
|
-
// packages/daemon/src/focus/ready-focus-no-work-spawn.test.ts,
|
|
12
|
-
// packages/daemon/src/focus/session-health-poll-sweep.test.ts,
|
|
13
|
-
// packages/daemon/src/focus/unchanged-reviewed-head.test.ts,
|
|
14
|
-
// packages/daemon/src/focus/unclaimed-notice-coding-precedence.test.ts,
|
|
15
|
-
// packages/daemon/src/integration/approved-head-gate-failure-respawn-regression.test.ts,
|
|
16
|
-
// packages/daemon/src/integration/approved-head-hold-release-regression.test.ts,
|
|
17
|
-
// packages/daemon/src/integration/failed-verdict-review-exit-respawn-regression.test.ts,
|
|
18
|
-
// packages/daemon/src/integration/failed-verdict-review-loop-regression.test.ts,
|
|
19
|
-
// packages/daemon/src/integration/shortfall-park-incident-regression.test.ts,
|
|
20
|
-
// packages/daemon/src/spawn/review-hold-park-shortfall.test.ts
|
|
2
|
+
// Pinned by: 24 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/config/live-daemon-config.ts
|
|
21
3
|
// PINNED-BY-END
|
|
22
4
|
export let liveDaemonConfig = null;
|
|
23
5
|
export function setLiveDaemonConfig(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-daemon-config.js","sourceRoot":"","sources":["../../src/config/live-daemon-config.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F
|
|
1
|
+
{"version":3,"file":"live-daemon-config.js","sourceRoot":"","sources":["../../src/config/live-daemon-config.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,+GAA+G;AAC/G,gBAAgB;AAiBhB,MAAM,CAAC,IAAI,gBAAgB,GAAwB,IAAI,CAAC;AAExD,MAAM,UAAU,mBAAmB,CAAC,KAA0B;IAC5D,gBAAgB,GAAG,KAAK,CAAC;AAC3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awaiting-slot.d.ts","sourceRoot":"","sources":["../../src/daemon-state/awaiting-slot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"awaiting-slot.d.ts","sourceRoot":"","sources":["../../src/daemon-state/awaiting-slot.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,6FAA6F;AAC7F,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAQ5C;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI,CAGlH;AAED,8FAA8F;AAC9F,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,sHAAsH;AACtH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIhE;AAED,4EAA4E;AAC5E,wBAAgB,6BAA6B,IAAI,IAAI,CAGpD"}
|
|
@@ -1,7 +1,8 @@
|
|
|
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/focus/awaiting-slot.test.ts,
|
|
3
3
|
// packages/daemon/src/focus/focus-activity-producers.test.ts,
|
|
4
|
-
// packages/daemon/src/focus/heartbeat-team-liveness-phases.test.ts
|
|
4
|
+
// packages/daemon/src/focus/heartbeat-team-liveness-phases.test.ts,
|
|
5
|
+
// packages/daemon/src/tower/tower-entrypoints.test.ts, packages/daemon/src/tower/tower-spawn-modes.test.ts
|
|
5
6
|
// PINNED-BY-END
|
|
6
7
|
/** focusId -> epoch ms the pass FIRST left it waiting in the current unbroken run of passes. */
|
|
7
8
|
const awaitingSlotByPass = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awaiting-slot.js","sourceRoot":"","sources":["../../src/daemon-state/awaiting-slot.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,8DAA8D;AAC9D,gEAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"awaiting-slot.js","sourceRoot":"","sources":["../../src/daemon-state/awaiting-slot.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,8DAA8D;AAC9D,gEAAgE;AAChE,sEAAsE;AACtE,6GAA6G;AAC7G,gBAAgB;AA8BhB,gGAAgG;AAChG,MAAM,kBAAkB,GAAmD;IACzE,KAAK,EAAE,IAAI,GAAG,EAAE;IAChB,OAAO,EAAE,IAAI,GAAG,EAAE;CACnB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAe,EAAE,QAA0B,EAAE,MAAc,IAAI,CAAC,GAAG,EAAE;IAC1G,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,uBAAuB;IACrC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAClG,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC1F,CAAC;AAED,sHAAsH;AACtH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,KAAK,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAC3F,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,6BAA6B;IAC3C,kBAAkB,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IACrC,kBAAkB,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;AACzC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by:
|
|
2
|
+
// Pinned by: 75 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/daemon-state/focus-team-state.ts
|
|
3
3
|
// PINNED-BY-END
|
|
4
4
|
import { createLogger } from '../log/daemon-log.js';
|
|
5
5
|
const log = createLogger({ module: 'focus-executor' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intake-control.d.ts","sourceRoot":"","sources":["../../src/daemon-state/intake-control.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"intake-control.d.ts","sourceRoot":"","sources":["../../src/daemon-state/intake-control.ts"],"names":[],"mappings":"AA6BA;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAOxC;AAED,kFAAkF;AAClF,wBAAgB,qBAAqB,IAAI,IAAI,CAI5C;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,0CAA0C;AAC1C,wBAAgB,8BAA8B,IAAI,IAAI,CAErD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
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/daemon-state/intake-control.test.ts,
|
|
3
|
-
// packages/daemon/src/focus/heartbeat-draining-status.test.ts
|
|
3
|
+
// packages/daemon/src/focus/heartbeat-draining-status.test.ts,
|
|
4
|
+
// packages/daemon/src/focus/pending-spawn-drain.test.ts
|
|
4
5
|
// PINNED-BY-END
|
|
5
6
|
import { createLogger } from '../log/daemon-log.js';
|
|
6
7
|
const log = createLogger({ module: 'auto-update' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intake-control.js","sourceRoot":"","sources":["../../src/daemon-state/intake-control.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,sEAAsE;AACtE,
|
|
1
|
+
{"version":3,"file":"intake-control.js","sourceRoot":"","sources":["../../src/daemon-state/intake-control.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,sEAAsE;AACtE,iEAAiE;AACjE,0DAA0D;AAC1D,gBAAgB;AAGhB,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;AACpD;;;;;;;;;;;;;;;GAeG;AAEH,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,QAAQ;QAAE,OAAO;IACrB,QAAQ,GAAG,IAAI,CAAC;IAChB,GAAG,CAAC,IAAI,CACN,qFAAqF;QACnF,oFAAoF,CACvF,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,qBAAqB;IACnC,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,QAAQ,GAAG,KAAK,CAAC;IACjB,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;AAClE,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,gBAAgB;IAC9B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,8BAA8B;IAC5C,QAAQ,GAAG,KAAK,CAAC;AACnB,CAAC"}
|
|
@@ -27,13 +27,30 @@ import type { ReconcilerIssue } from './delivery-reconciler.js';
|
|
|
27
27
|
export type RecordedConcernReader = (focusId: string) => Promise<ReadonlySet<string>>;
|
|
28
28
|
/** No recorded concerns: every open issue counts as work. */
|
|
29
29
|
export declare const NO_RECORDED_CONCERNS: ReadonlySet<string>;
|
|
30
|
+
/**
|
|
31
|
+
* The fail-closed answer of a reader whose facts read FAILED: empty like
|
|
32
|
+
* NO_RECORDED_CONCERNS (every open issue counts as work), but a distinct object, so
|
|
33
|
+
* a caller that reports WHY it treated an issue as owed can say the concerns were
|
|
34
|
+
* unreadable rather than absent (concernsUnreadable).
|
|
35
|
+
*/
|
|
36
|
+
export declare const UNREADABLE_RECORDED_CONCERNS: ReadonlySet<string>;
|
|
37
|
+
/** Whether a reader's answer is the fail-closed one for an unreadable facts read. */
|
|
38
|
+
export declare function concernsUnreadable(concernIds: ReadonlySet<string>): boolean;
|
|
30
39
|
/**
|
|
31
40
|
* Bind the production reader over the focus review-finding-facts read
|
|
32
41
|
* (queries/focus-review/review-finding-facts.ts getFocusReviewFindingFacts),
|
|
33
42
|
* keeping the recorded concerns (that module's recordedConcernIds -- the same
|
|
34
|
-
* definition the team prompt's listing uses)
|
|
43
|
+
* definition the team prompt's listing uses) LESS every daemon-filed gate rework
|
|
44
|
+
* Bug (types/issue-status.ts isGateReworkIssue). issue_create credits an issue to
|
|
45
|
+
* the focus's live session, so a rework Bug filed while a review runs lands in
|
|
46
|
+
* that review's created ids, and an approving review records it as a concern --
|
|
47
|
+
* which would leave the failed gate with no owed work. `readFocusIssues` is read
|
|
48
|
+
* only when there are concerns to check; its failure fails closed like the facts.
|
|
35
49
|
*/
|
|
36
|
-
export declare function makeRecordedConcernReader(readFacts: (focusId: string) => Promise<FocusReviewFindingFacts
|
|
50
|
+
export declare function makeRecordedConcernReader(readFacts: (focusId: string) => Promise<FocusReviewFindingFacts>, readFocusIssues: (focusId: string) => Promise<ReadonlyArray<{
|
|
51
|
+
id: string;
|
|
52
|
+
title: string;
|
|
53
|
+
}>>): RecordedConcernReader;
|
|
37
54
|
/**
|
|
38
55
|
* Pure: a delivery's open work issues, split into ALL open ones and the OWED
|
|
39
56
|
* ones (open and not a recorded concern -- the reconciler's hasBlockingOpenWork).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recorded-concerns.d.ts","sourceRoot":"","sources":["../../src/delivery/recorded-concerns.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recorded-concerns.d.ts","sourceRoot":"","sources":["../../src/delivery/recorded-concerns.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAE/F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAMhE,gFAAgF;AAChF,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AAEtF,6DAA6D;AAC7D,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAqB,CAAC;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,EAAE,WAAW,CAAC,MAAM,CAAqB,CAAC;AAEnF,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAE3E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,EAChE,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,GAC1F,qBAAqB,CAevB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACpE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,EAC5B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B;IAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAAC,IAAI,EAAE,CAAC,EAAE,CAAA;CAAE,CAG1B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,EACxE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,eAAe,EAAE,CAInB"}
|
|
@@ -1,27 +1,53 @@
|
|
|
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/delivery/recorded-concerns.test.ts
|
|
2
|
+
// Pinned by: packages/daemon/src/delivery/recorded-concerns.test.ts,
|
|
3
|
+
// packages/daemon/src/focus/stranded-review-refire-bound.test.ts,
|
|
4
|
+
// packages/daemon/src/focus/stranded-review-reroute.test.ts,
|
|
5
|
+
// packages/daemon/src/integration/failed-verdict-review-exit-respawn-regression.test.ts,
|
|
6
|
+
// packages/daemon/src/integration/failed-verdict-review-loop-regression.test.ts,
|
|
7
|
+
// packages/daemon/src/integration/verify-failure-rework-route.test.ts,
|
|
8
|
+
// packages/daemon/src/verify/outcome-routing/verification-rework-issue.test.ts
|
|
3
9
|
// PINNED-BY-END
|
|
4
10
|
import { recordedConcernIds } from '../queries/focus-review/recorded-concern-ids.js';
|
|
5
|
-
import { OPEN_ISSUE_STATUSES } from '../types/issue-status.js';
|
|
11
|
+
import { OPEN_ISSUE_STATUSES, isGateReworkIssue } from '../types/issue-status.js';
|
|
6
12
|
import { createLogger } from '../log/daemon-log.js';
|
|
7
13
|
const log = createLogger({ module: 'recorded-concerns' });
|
|
8
14
|
/** No recorded concerns: every open issue counts as work. */
|
|
9
15
|
export const NO_RECORDED_CONCERNS = new Set();
|
|
16
|
+
/**
|
|
17
|
+
* The fail-closed answer of a reader whose facts read FAILED: empty like
|
|
18
|
+
* NO_RECORDED_CONCERNS (every open issue counts as work), but a distinct object, so
|
|
19
|
+
* a caller that reports WHY it treated an issue as owed can say the concerns were
|
|
20
|
+
* unreadable rather than absent (concernsUnreadable).
|
|
21
|
+
*/
|
|
22
|
+
export const UNREADABLE_RECORDED_CONCERNS = new Set();
|
|
23
|
+
/** Whether a reader's answer is the fail-closed one for an unreadable facts read. */
|
|
24
|
+
export function concernsUnreadable(concernIds) {
|
|
25
|
+
return concernIds === UNREADABLE_RECORDED_CONCERNS;
|
|
26
|
+
}
|
|
10
27
|
/**
|
|
11
28
|
* Bind the production reader over the focus review-finding-facts read
|
|
12
29
|
* (queries/focus-review/review-finding-facts.ts getFocusReviewFindingFacts),
|
|
13
30
|
* keeping the recorded concerns (that module's recordedConcernIds -- the same
|
|
14
|
-
* definition the team prompt's listing uses)
|
|
31
|
+
* definition the team prompt's listing uses) LESS every daemon-filed gate rework
|
|
32
|
+
* Bug (types/issue-status.ts isGateReworkIssue). issue_create credits an issue to
|
|
33
|
+
* the focus's live session, so a rework Bug filed while a review runs lands in
|
|
34
|
+
* that review's created ids, and an approving review records it as a concern --
|
|
35
|
+
* which would leave the failed gate with no owed work. `readFocusIssues` is read
|
|
36
|
+
* only when there are concerns to check; its failure fails closed like the facts.
|
|
15
37
|
*/
|
|
16
|
-
export function makeRecordedConcernReader(readFacts) {
|
|
38
|
+
export function makeRecordedConcernReader(readFacts, readFocusIssues) {
|
|
17
39
|
return async (focusId) => {
|
|
18
40
|
try {
|
|
19
|
-
|
|
41
|
+
const concerns = recordedConcernIds(await readFacts(focusId));
|
|
42
|
+
if (concerns.size === 0)
|
|
43
|
+
return concerns;
|
|
44
|
+
const rework = new Set((await readFocusIssues(focusId)).filter(isGateReworkIssue).map((i) => i.id));
|
|
45
|
+
return new Set([...concerns].filter((id) => !rework.has(id)));
|
|
20
46
|
}
|
|
21
47
|
catch (err) {
|
|
22
48
|
log.warn(`[recorded-concerns] review finding facts unreadable for focus ${focusId} -- ` +
|
|
23
49
|
`every open issue counts as work this tick: ${err.message}`);
|
|
24
|
-
return
|
|
50
|
+
return UNREADABLE_RECORDED_CONCERNS;
|
|
25
51
|
}
|
|
26
52
|
};
|
|
27
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recorded-concerns.js","sourceRoot":"","sources":["../../src/delivery/recorded-concerns.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,oEAAoE;AACpE,gBAAgB;AA2BhB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"recorded-concerns.js","sourceRoot":"","sources":["../../src/delivery/recorded-concerns.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,qEAAqE;AACrE,oEAAoE;AACpE,+DAA+D;AAC/D,2FAA2F;AAC3F,mFAAmF;AACnF,yEAAyE;AACzE,iFAAiF;AACjF,gBAAgB;AA2BhB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;AAK1D,6DAA6D;AAC7D,MAAM,CAAC,MAAM,oBAAoB,GAAwB,IAAI,GAAG,EAAU,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAwB,IAAI,GAAG,EAAU,CAAC;AAEnF,qFAAqF;AACrF,MAAM,UAAU,kBAAkB,CAAC,UAA+B;IAChE,OAAO,UAAU,KAAK,4BAA4B,CAAC;AACrD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CACvC,SAAgE,EAChE,eAA2F;IAE3F,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9D,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,QAAQ,CAAC;YACzC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpG,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,IAAI,CACN,iEAAiE,OAAO,MAAM;gBAC9E,8CAA+C,GAAa,CAAC,OAAO,EAAE,CACvE,CAAC;YACF,OAAO,4BAA4B,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,UAA4B,EAC5B,UAA+B;IAE/B,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAwE,EACxE,UAA+B;IAE/B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE;QAChE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
-
// Pinned by:
|
|
2
|
+
// Pinned by: 46 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/directive/directive-queue.ts
|
|
3
3
|
// PINNED-BY-END
|
|
4
4
|
/**
|
|
5
5
|
* Directive queue: the pending spawn-directive store + its identity/guard logic.
|