@telora/daemon 0.22.181 → 0.22.187
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/audit/audit-floor-policy.d.ts +188 -0
- package/dist/audit/audit-floor-policy.d.ts.map +1 -0
- package/dist/audit/audit-floor-policy.js +353 -0
- package/dist/audit/audit-floor-policy.js.map +1 -0
- package/dist/audit/audit-prompt.d.ts +4 -177
- package/dist/audit/audit-prompt.d.ts.map +1 -1
- package/dist/audit/audit-prompt.js +6 -329
- package/dist/audit/audit-prompt.js.map +1 -1
- package/dist/completion/escalations.d.ts.map +1 -1
- package/dist/completion/escalations.js +3 -1
- package/dist/completion/escalations.js.map +1 -1
- package/dist/focus/focus-executor.d.ts.map +1 -1
- package/dist/focus/focus-executor.js +2 -0
- package/dist/focus/focus-executor.js.map +1 -1
- package/dist/focus/session-health.d.ts.map +1 -1
- package/dist/focus/session-health.js +2 -1
- package/dist/focus/session-health.js.map +1 -1
- package/dist/focus-stage-lifecycle/planning-release.d.ts +52 -17
- package/dist/focus-stage-lifecycle/planning-release.d.ts.map +1 -1
- package/dist/focus-stage-lifecycle/planning-release.js +58 -70
- package/dist/focus-stage-lifecycle/planning-release.js.map +1 -1
- package/dist/focus-stage-lifecycle/ratify-bar-gate.d.ts +108 -0
- package/dist/focus-stage-lifecycle/ratify-bar-gate.d.ts.map +1 -0
- package/dist/focus-stage-lifecycle/ratify-bar-gate.js +174 -0
- package/dist/focus-stage-lifecycle/ratify-bar-gate.js.map +1 -0
- package/dist/git/merge-to-main.d.ts.map +1 -1
- package/dist/git/merge-to-main.js.map +1 -1
- package/dist/nexus/index.d.ts.map +1 -1
- package/dist/nexus/index.js +2 -1
- package/dist/nexus/index.js.map +1 -1
- package/dist/nexus/intake-prompt-sections.d.ts +70 -0
- package/dist/nexus/intake-prompt-sections.d.ts.map +1 -0
- package/dist/nexus/intake-prompt-sections.js +145 -0
- package/dist/nexus/intake-prompt-sections.js.map +1 -0
- package/dist/nexus/intake-spawn.d.ts +49 -13
- package/dist/nexus/intake-spawn.d.ts.map +1 -1
- package/dist/nexus/intake-spawn.js +45 -122
- package/dist/nexus/intake-spawn.js.map +1 -1
- package/dist/nexus/intake.d.ts +55 -0
- package/dist/nexus/intake.d.ts.map +1 -1
- package/dist/nexus/intake.js +62 -1
- package/dist/nexus/intake.js.map +1 -1
- package/dist/prd/arm-readiness.d.ts +93 -0
- package/dist/prd/arm-readiness.d.ts.map +1 -0
- package/dist/prd/arm-readiness.js +254 -0
- package/dist/prd/arm-readiness.js.map +1 -0
- package/dist/prd/arm-refusal.d.ts +149 -0
- package/dist/prd/arm-refusal.d.ts.map +1 -0
- package/dist/prd/arm-refusal.js +219 -0
- package/dist/prd/arm-refusal.js.map +1 -0
- package/dist/prd/controller-shared.d.ts +111 -0
- package/dist/prd/controller-shared.d.ts.map +1 -1
- package/dist/prd/controller-shared.js +3 -1
- package/dist/prd/controller-shared.js.map +1 -1
- package/dist/prd/controller.d.ts +16 -10
- package/dist/prd/controller.d.ts.map +1 -1
- package/dist/prd/controller.js +28 -35
- package/dist/prd/controller.js.map +1 -1
- package/dist/prd/frontier-arming.d.ts +151 -0
- package/dist/prd/frontier-arming.d.ts.map +1 -0
- package/dist/prd/frontier-arming.js +315 -0
- package/dist/prd/frontier-arming.js.map +1 -0
- package/dist/prd/index.d.ts +10 -1
- package/dist/prd/index.d.ts.map +1 -1
- package/dist/prd/index.js +9 -1
- package/dist/prd/index.js.map +1 -1
- package/dist/prd/scoping-prompt.d.ts +68 -0
- package/dist/prd/scoping-prompt.d.ts.map +1 -0
- package/dist/prd/scoping-prompt.js +86 -0
- package/dist/prd/scoping-prompt.js.map +1 -0
- package/dist/prompt/prompt-contradictions.d.ts +20 -1
- package/dist/prompt/prompt-contradictions.d.ts.map +1 -1
- package/dist/prompt/prompt-contradictions.js +35 -0
- package/dist/prompt/prompt-contradictions.js.map +1 -1
- package/dist/prompt/team-prompt-base.d.ts +18 -0
- package/dist/prompt/team-prompt-base.d.ts.map +1 -1
- package/dist/prompt/team-prompt-base.js +56 -11
- package/dist/prompt/team-prompt-base.js.map +1 -1
- package/dist/prompt-sections/persona-sections.d.ts +36 -13
- package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
- package/dist/prompt-sections/persona-sections.js +93 -16
- package/dist/prompt-sections/persona-sections.js.map +1 -1
- package/dist/prompt-sections/scoping-sections.d.ts +19 -5
- package/dist/prompt-sections/scoping-sections.d.ts.map +1 -1
- package/dist/prompt-sections/scoping-sections.js +45 -38
- package/dist/prompt-sections/scoping-sections.js.map +1 -1
- package/dist/prompt-sections/shared.d.ts +8 -0
- package/dist/prompt-sections/shared.d.ts.map +1 -1
- package/dist/prompt-sections/shared.js.map +1 -1
- package/dist/queries/focus-criteria-standing.d.ts +170 -7
- package/dist/queries/focus-criteria-standing.d.ts.map +1 -1
- package/dist/queries/focus-criteria-standing.js +143 -8
- package/dist/queries/focus-criteria-standing.js.map +1 -1
- package/dist/queries/focus-ratify-release.d.ts +43 -0
- package/dist/queries/focus-ratify-release.d.ts.map +1 -0
- package/dist/queries/focus-ratify-release.js +45 -0
- package/dist/queries/focus-ratify-release.js.map +1 -0
- package/dist/queries/focuses.d.ts +0 -10
- package/dist/queries/focuses.d.ts.map +1 -1
- package/dist/queries/focuses.js +0 -14
- package/dist/queries/focuses.js.map +1 -1
- package/dist/queries/prd.d.ts +31 -0
- package/dist/queries/prd.d.ts.map +1 -1
- package/dist/queries/prd.js +26 -1
- package/dist/queries/prd.js.map +1 -1
- package/dist/queries/shared.js +1 -1
- package/dist/resolvers/focus-criteria-standing.d.ts.map +1 -1
- package/dist/resolvers/focus-criteria-standing.js +324 -25
- package/dist/resolvers/focus-criteria-standing.js.map +1 -1
- package/dist/security/security-auto-inject.d.ts +51 -0
- package/dist/security/security-auto-inject.d.ts.map +1 -1
- package/dist/security/security-auto-inject.js +101 -11
- package/dist/security/security-auto-inject.js.map +1 -1
- package/dist/security/security-scan-engine.d.ts +4 -4
- package/dist/security/security-scan-engine.d.ts.map +1 -1
- package/dist/security/security-scan-engine.js +6 -0
- package/dist/security/security-scan-engine.js.map +1 -1
- package/dist/session/session-lineage.d.ts.map +1 -1
- package/dist/session/session-lineage.js +2 -0
- package/dist/session/session-lineage.js.map +1 -1
- package/dist/shell/constants.d.ts +5 -0
- package/dist/shell/constants.d.ts.map +1 -1
- package/dist/shell/constants.js +5 -0
- package/dist/shell/constants.js.map +1 -1
- package/dist/shell/daemon-instance.d.ts +74 -64
- package/dist/shell/daemon-instance.d.ts.map +1 -1
- package/dist/shell/daemon-instance.js +16 -121
- package/dist/shell/daemon-instance.js.map +1 -1
- package/dist/shell/health-events.js +1 -1
- package/dist/shell/health-events.js.map +1 -1
- package/dist/shell/instance-liveness.d.ts +112 -0
- package/dist/shell/instance-liveness.d.ts.map +1 -0
- package/dist/shell/instance-liveness.js +205 -0
- package/dist/shell/instance-liveness.js.map +1 -0
- package/dist/shell/schema-version-gate.d.ts +22 -0
- package/dist/shell/schema-version-gate.d.ts.map +1 -1
- package/dist/shell/schema-version-gate.js +116 -6
- package/dist/shell/schema-version-gate.js.map +1 -1
- package/dist/shell/worker-pidfile.d.ts +21 -8
- package/dist/shell/worker-pidfile.d.ts.map +1 -1
- package/dist/shell/worker-pidfile.js +38 -9
- package/dist/shell/worker-pidfile.js.map +1 -1
- package/dist/spawn/lead-launch.d.ts.map +1 -1
- package/dist/spawn/lead-launch.js +2 -1
- package/dist/spawn/lead-launch.js.map +1 -1
- package/dist/spawn/one-shot-scoping-spawn.d.ts +51 -0
- package/dist/spawn/one-shot-scoping-spawn.d.ts.map +1 -0
- package/dist/spawn/one-shot-scoping-spawn.js +156 -0
- package/dist/spawn/one-shot-scoping-spawn.js.map +1 -0
- package/dist/spawn/process-spawn.d.ts +12 -0
- package/dist/spawn/process-spawn.d.ts.map +1 -1
- package/dist/spawn/process-spawn.js +1 -1
- package/dist/spawn/process-spawn.js.map +1 -1
- package/dist/spawn/prompt-assembly.d.ts +8 -0
- package/dist/spawn/prompt-assembly.d.ts.map +1 -1
- package/dist/spawn/prompt-assembly.js +15 -3
- package/dist/spawn/prompt-assembly.js.map +1 -1
- package/dist/spawn/worktree-session.d.ts +24 -6
- package/dist/spawn/worktree-session.d.ts.map +1 -1
- package/dist/spawn/worktree-session.js +37 -14
- package/dist/spawn/worktree-session.js.map +1 -1
- package/dist/testing/arm-coverage-model.d.ts +75 -0
- package/dist/testing/arm-coverage-model.d.ts.map +1 -0
- package/dist/testing/arm-coverage-model.js +114 -0
- package/dist/testing/arm-coverage-model.js.map +1 -0
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/types/index.js +1 -1
- package/dist/verify/verification-boundary-env.d.ts +7 -2
- package/dist/verify/verification-boundary-env.d.ts.map +1 -1
- package/dist/verify/verification-boundary-env.js +9 -4
- package/dist/verify/verification-boundary-env.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-executor.js","sourceRoot":"","sources":["../../src/focus/focus-executor.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0GAA0G;AAC1G,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAQhD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAyB,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,2GAA2G;AAC3G,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,aAAa,EAAE,CAAC;AAChB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,2EAA2E;AAE3E,OAAO,EACL,cAAc,EACd,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,gFAAgF;AAChF,0EAA0E;AAC1E,iDAAiD;AACjD,OAAO,EACL,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,gFAAgF;AAChF,2EAA2E;AAC3E,8EAA8E;AAC9E,OAAO,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC9F,gFAAgF;AAChF,2EAA2E;AAC3E,8EAA8E;AAC9E,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,kFAAkF;AAClF,2EAA2E;AAC3E,8EAA8E;AAC9E,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,kFAAkF;AAClF,mFAAmF;AACnF,kEAAkE;AAClE,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AAEpC,gFAAgF;AAChF,8EAA8E;AAC9E,iFAAiF;AACjF,iCAAiC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAA0B,MAAM,gCAAgC,CAAC;AAEhG,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAGvD,2EAA2E;AAE3E,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,6BAA6B,EAC7B,gCAAgC,EAChC,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,8BAA8B,EAC9B,iBAAiB,EACjB,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAUzE,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,qCAAqC,EACrC,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,EAC/B,kBAAkB,EAClB,+BAA+B,EAC/B,qBAAqB,EACrB,gBAAgB,EAChB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,cAAc,EACd,aAAa,EACb,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,gCAAgC,GACjC,MAAM,wBAAwB,CAAC;AAIhC,qEAAqE;AAErE,IAAI,QAAQ,GAA4B,IAAI,CAAC;AAE7C,oEAAoE;AACpE,MAAM,UAAU,YAAY,CAAC,GAAqB;IAChD,QAAQ,GAAG,GAAG,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,wEAAwE;AAExE,oFAAoF;AACpF,iFAAiF;AACjF,wEAAwE;AACxE,6DAA6D;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAS9B;IACC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACzG,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5G,GAAG,CAAC,IAAI,CAAC,4BAA4B,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3I,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,6EAA6E;IAC7E,8EAA8E;IAC9E,gFAAgF;IAChF,0BAA0B;IAC1B,GAAG,CAAC,IAAI,CACN,gCAAgC,yBAAyB,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,WAAW,GAAG;QACrG,UAAU,yBAAyB,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,WAAW,EAAE,CAC/E,CAAC;IACF,GAAG,CAAC,IAAI,CAAC,kBAAkB,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;IACzD,GAAG,CAAC,IAAI,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC;IACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,cAAc,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACvG,GAAG,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA4B;IAE5B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,GAAG,KAAK,EAAE,gBAAgB,EAC1F,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAClG,YAAY,EAAE,UAAU,GAAG,KAAK,EAAE,wBAAwB,EAAE,GAAG,MAAM,CAAC;IACxE,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,yEAAyE;IACzE,gFAAgF;IAEhF,8EAA8E;IAC9E,0EAA0E;IAC1E,gFAAgF;IAChF,gFAAgF;IAChF,4EAA4E;IAC5E,uEAAuE;IACvE,2DAA2D;IAC3D,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,IAAI,CAAC,kCAAkC,SAAS,mBAAmB,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,MAAM,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC;QAAE,OAAO;IAExD,MAAM,eAAe,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAC9D,4EAA4E;IAC5E,8EAA8E;IAC9E,+EAA+E;IAC/E,MAAM,cAAc,GAAG,sBAAsB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1F,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;IAC7C,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QAC3B,0EAA0E;QAC1E,4EAA4E;QAC5E,yEAAyE;QACzE,gFAAgF;QAChF,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CACpD,GAAG,CAAC,IAAI,CAAC,mDAAmD,SAAS,MAAO,GAAa,CAAC,OAAO,EAAE,CAAC,CACrG,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,MAAM,SAAS,GAAG,sBAAsB,CAAC;QACvC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ;QACvF,wBAAwB;KACzB,CAAC,CAAC;IACH,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAEpC,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,+EAA+E;IAC/E,2EAA2E;IAC3E,6EAA6E;IAC7E,0EAA0E;IAC1E,gFAAgF;IAChF,4EAA4E;IAC5E,+EAA+E;IAC/E,gFAAgF;IAChF,wDAAwD;IACxD,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,CAAC;QACH,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE5G,2EAA2E;QAC3E,0EAA0E;QAC1E,0EAA0E;QAC1E,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,MAAM,EACJ,UAAU,EACV,MAAM,EACN,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,GACjB,GAAG,YAAY,CAAC;QAEjB,6EAA6E;QAC7E,4EAA4E;QAC5E,+EAA+E;QAC/E,yEAAyE;QACzE,4EAA4E;QAC5E,yEAAyE;QACzE,oEAAoE;QACpE,wDAAwD;QACxD,MAAM,QAAQ,GAAa,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,wBAAwB,EAAE,CAAC;QAChG,MAAM,UAAU,GAAG,2BAA2B,CAAC;YAC7C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ;SACxE,CAAC,CAAC;QACH,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,MAAM,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC;QAExC,8BAA8B;QAC9B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,iFAAiF;QACjF,uFAAuF;QACvF,uEAAuE;QACvE,8EAA8E;QAC9E,8EAA8E;QAC9E,2EAA2E;QAC3E,2DAA2D;QAC3D,MAAM,aAAa,GAAG,gBAAgB,EAAE,WAAW,KAAK,QAAQ,CAAC;QACjE,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;QAC3H,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO;QACtC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC3C,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC;QACtC,8EAA8E;QAC9E,4EAA4E;QAC5E,6EAA6E;QAC7E,wEAAwE;QACxE,MAAM,mBAAmB,GAAG,QAAQ,CAAC,eAAe,EAAE,QAAQ,IAAI,IAAI,CAAC;QAEvE,8EAA8E;QAC9E,+EAA+E;QAC/E,0EAA0E;QAC1E,8EAA8E;QAC9E,yCAAyC;QACzC,SAAS,CAAC,kBAAkB,GAAG,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAElF,cAAc,EAAE,CAAC;QAEjB,4EAA4E;QAC5E,mEAAmE;QACnE,MAAM,EAAE,oBAAoB,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,GAAG,MAAM,oBAAoB,CAAC;YACjH,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM;SACnC,CAAC,CAAC;QAEH,+EAA+E;QAC/E,yEAAyE;QACzE,6EAA6E;QAC7E,2CAA2C;QAC3C,MAAM,YAAY,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,CAAC;QACpJ,MAAM,EACJ,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,GACpB,GAAG,MAAM,0BAA0B,CAAC;YACnC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB;YAC5E,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC,YAAY,CAAC;SAC/F,CAAC,CAAC;QAEH,yEAAyE;QACzE,4EAA4E;QAC5E,8EAA8E;QAC9E,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,oBAAoB,CAAC;YAC9E,GAAG,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,oBAAoB,EAAE,eAAe;YAC9F,cAAc,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS;SACxG,CAAC,CAAC;QAEH,wEAAwE;QACxE,iFAAiF;QACjF,6EAA6E;QAC7E,gFAAgF;QAChF,gFAAgF;QAChF,8DAA8D;QAC9D,MAAM,OAAO,GAAG,MAAM,kCAAkC,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAC1H,GAAG,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC5H,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,gFAAgF;QAChF,wEAAwE;QACxE,8EAA8E;QAC9E,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,iBAAiB,GAAG,MAAM,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC1E,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC;YACxC,gBAAgB,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC;QAED,0EAA0E;QAC1E,MAAM,aAAa,GAAG,uBAAuB,CAAC;YAC5C,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe;YACjF,cAAc,EAAE,yBAAyB,EAAE,QAAQ,EAAE,WAAW;YAChE,oBAAoB,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;YAC1C,6EAA6E;YAC7E,yEAAyE;YACzE,oBAAoB,EAAE,SAAS,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB;YACpF,yEAAyE;YACzE,wEAAwE;YACxE,qEAAqE;YACrE,QAAQ;SACT,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,gBAAgB,CAAC;YAC9B,IAAI,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,mBAAmB;YAC5E,mBAAmB,EAAE,eAAe,EAAE,UAAU;YAChD,0BAA0B,EAAE,mBAAmB,CAAC,OAAO;YACvD,YAAY,EAAE,SAAS,CAAC,WAAW,KAAK,QAAQ;YAChD,0EAA0E;YAC1E,uEAAuE;YACvE,cAAc,EAAE,OAAO,CAAC,EAAE;SAC3B,CAAC,CAAC;QAEH,0BAA0B;QAC1B,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAEvE,sBAAsB;QACtB,0EAA0E;QAC1E,0EAA0E;QAC1E,+EAA+E;QAC/E,MAAM,WAAW,GAAG,eAAe,CAAC;YAClC,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;YAClD,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,UAAU,EAAE,SAAS,CAAC,UAAU;SACjC,CAAC,CAAC;QACH,+EAA+E;QAC/E,2EAA2E;QAC3E,gFAAgF;QAChF,8EAA8E;QAC9E,6CAA6C;QAC7C,MAAM,aAAa,GAAG,yBAAyB,CAAC;YAC9C,QAAQ;YACR,UAAU;YACV,MAAM;YACN,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;QACxC,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CACN,qDAAqD,SAAS,IAAI;gBAClE,uBAAuB,WAAW,IAAI,MAAM,oDAAoD,CACjG,CAAC;QACJ,CAAC;QACD,uEAAuE;QACvE,wBAAwB;QACxB,4EAA4E;QAC5E,+EAA+E;QAC/E,gFAAgF;QAChF,kDAAkD;QAClD,MAAM,8BAA8B,CAAC;YACnC,OAAO,EAAE,SAAS;YAClB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,kBAAkB;SACnB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACb,GAAG,CAAC,IAAI,CAAC,gDAAgD,SAAS,IAAI,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC;YAC9C,cAAc,EAAE,UAAU,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,mBAAmB;YAC7F,MAAM,EAAE,cAAc;YACtB,yBAAyB,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ;YAC1E,iBAAiB;YACjB,eAAe,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB;YACxF,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO;SACnC,CAAC,CAAC;QACH,IAAI,eAAe,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACzC,8EAA8E;YAC9E,8EAA8E;YAC9E,8EAA8E;YAC9E,wEAAwE;YACxE,wEAAwE;YACxE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC;YAC9C,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE;gBAC9B,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,uCAAuC,MAAM,CAAC,IAAI,MAAM,SAAS,EAAE;gBAChF,aAAa,EAAE,yBAAyB;gBACxC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;gBACnB,GAAG,CAAC,IAAI,CAAC,0DAA0D,EAAG,SAAmB,CAAC,OAAO,CAAC,CAAC;YACrG,CAAC,CAAC,CAAC;YACH,+EAA+E;YAC/E,0EAA0E;YAC1E,6EAA6E;YAC7E,kEAAkE;YAClE,2EAA2E;YAC3E,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,IAAI,eAAe,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC7C,4EAA4E;YAC5E,6EAA6E;YAC7E,6EAA6E;YAC7E,8EAA8E;YAC9E,6EAA6E;YAC7E,kEAAkE;YAClE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;YAC3C,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE;gBAC9B,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,mCAAmC,MAAM,CAAC,IAAI,MAAM,MAAM,uBAAuB;gBAC9F,aAAa,EAAE,2BAA2B;gBAC1C,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;gBACnB,GAAG,CAAC,IAAI,CAAC,2DAA2D,EAAG,SAAmB,CAAC,OAAO,CAAC,CAAC;YACtG,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,GAAG,eAAe,CAAC;QACvG,6EAA6E;QAC7E,sEAAsE;QACtE,2DAA2D;QAC3D,SAAS,CAAC,QAAQ,GAAG,eAAe,CAAC,QAAQ,IAAI,IAAI,CAAC;QAEtD,2EAA2E;QAC3E,+EAA+E;QAC/E,4EAA4E;QAC5E,MAAM,eAAe,GAA4B,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC;YAC5C,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa;YACtJ,mBAAmB,EAAE,eAAe,EAAE,UAAU;YAChD,0BAA0B,EAAE,mBAAmB,CAAC,OAAO;YACvD,mBAAmB,EAAE,eAAe;YACpC,uEAAuE;YACvE,8EAA8E;YAC9E,wEAAwE;YACxE,uDAAuD;YACvD,cAAc,EAAE,OAAO,CAAC,EAAE;SAC3B,CAAC,CAAC;QAEH,0EAA0E;QAC1E,2EAA2E;QAC3E,+EAA+E;QAC/E,gFAAgF;QAChF,MAAM,UAAU,GAAsB,aAAa,CAAC,cAAc;YAChE,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,IAAI,IAAI;gBAChB,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,mBAAmB;oBACnB,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,iBAAiB,CAAC;QAC1B,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;YAC/C,KAAK,EAAE,UAAU;YACjB,oBAAoB,EAAE,gBAAgB;YACtC,0BAA0B,EAAE,mBAAmB,CAAC,OAAO;YACvD,oBAAoB;YACpB,eAAe;SAChB,CAAC,CAAC;QAEH,wEAAwE;QACxE,+EAA+E;QAC/E,wEAAwE;QACxE,mFAAmF;QACnF,MAAM,gBAAgB,CAAC;YACrB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa;YAC5E,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB;YACvH,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc;YAClF,qBAAqB,EAAE,mBAAmB,CAAC,GAAG;SAC/C,CAAC,CAAC;QACH,uEAAuE;QACvE,8EAA8E;QAC9E,6EAA6E;QAC7E,8EAA8E;QAC9E,iEAAiE;QACjE,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,8EAA8E;QAC9E,sEAAsE;QACtE,2EAA2E;QAC3E,wEAAwE;QACxE,4EAA4E;QAC5E,yEAAyE;QACzE,sEAAsE;QACtE,2CAA2C;QAC3C,GAAG,CAAC,KAAK,CACP,yCAAyC,SAAS,2BAA2B;YAC7E,0DAA2D,GAAa,CAAC,OAAO,EAAE,CACnF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"focus-executor.js","sourceRoot":"","sources":["../../src/focus/focus-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-health.d.ts","sourceRoot":"","sources":["../../src/focus/session-health.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-health.d.ts","sourceRoot":"","sources":["../../src/focus/session-health.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,QAAgB,CAAC;AAE5D,kGAAkG;AAClG,wBAAgB,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,OAAO,CAErF;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,GAAG,MAAM,GAAG,IAAI,CAKlG;AAED,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,yCAAyC;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACzC;;;;;;;;;;;;OAYG;IACH,sBAAsB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,sBAAsB,CAAC;IACtE;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,uBAAuB,GAC/B,cAAc,GACd,eAAe,GACf,cAAc,GACd,cAAc;AAChB,uEAAuE;GACrE,oBAAoB;AACtB,oFAAoF;GAClF,qBAAqB;AACvB,6EAA6E;GAC3E,kBAAkB,CAAC;AAEvB,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,uCAAuC;IACvC,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;CACtF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE,oBAAoB,GACxB,qBAAqB,CAiFvB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,GAAG,EAAE,oBAAoB,GACxB,qBAAqB,EAAE,CAEzB"}
|
|
@@ -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/focus/session-close-producers.test.ts,
|
|
3
|
-
// packages/daemon/src/focus/session-health.test.ts, packages/daemon/src/focus/session-process-reap.test.ts
|
|
3
|
+
// packages/daemon/src/focus/session-health.test.ts, packages/daemon/src/focus/session-process-reap.test.ts,
|
|
4
|
+
// packages/daemon/src/shell/daemon-instance.test.ts
|
|
4
5
|
// PINNED-BY-END
|
|
5
6
|
/**
|
|
6
7
|
* Grace period: a session started within this window is left alone even if it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-health.js","sourceRoot":"","sources":["../../src/focus/session-health.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,wEAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"session-health.js","sourceRoot":"","sources":["../../src/focus/session-health.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Owns the two planning->queued release paths:
|
|
5
5
|
* - `releaseRatifiedReadOnlyFocus` -- the SOLE human-ratified planning->execution
|
|
6
|
-
* crossing for a read-only audit focus.
|
|
6
|
+
* crossing for a read-only audit focus. Gated by `ratify-bar-gate.ts`: that
|
|
7
|
+
* crossing is the audit focus's go-signal, so it states a bar or it does
|
|
8
|
+
* not happen.
|
|
7
9
|
* - `releaseWritableFocusPlanningDeliveries` -- the writable-focus analogue that
|
|
8
10
|
* closes the silent born-planning wedge for a normal execute focus.
|
|
9
11
|
*
|
|
@@ -12,9 +14,11 @@
|
|
|
12
14
|
*
|
|
13
15
|
* @module focus-stage-lifecycle/planning-release
|
|
14
16
|
*/
|
|
15
|
-
import { getFocusDeliveries as defaultGetFocusDeliveries
|
|
17
|
+
import { getFocusDeliveries as defaultGetFocusDeliveries } from '../queries/focuses.js';
|
|
18
|
+
import { ratifyReleaseFocus as defaultRatifyReleaseFocus } from '../queries/focus-ratify-release.js';
|
|
16
19
|
import { updateDeliveryStatus as defaultUpdateDeliveryStatus } from '../queries/deliveries.js';
|
|
17
20
|
import { emitLoopTrigger } from '../loops/index.js';
|
|
21
|
+
import { holdRatifyForUnstatedBar as defaultHoldRatifyForUnstatedBar, noteRatifyFlipFailure as defaultNoteRatifyFlipFailure } from './ratify-bar-gate.js';
|
|
18
22
|
/**
|
|
19
23
|
* Pure predicate: a read-only focus is ready to cross planning->execution
|
|
20
24
|
* exactly when a human has ratified its remediation plan.
|
|
@@ -38,33 +42,64 @@ export declare function isFocusRatifiedForExecute(focus: {
|
|
|
38
42
|
/**
|
|
39
43
|
* Dependencies for `releaseRatifiedReadOnlyFocus`. Defaults reach for the real
|
|
40
44
|
* query modules; tests pass stub implementations.
|
|
45
|
+
*
|
|
46
|
+
* ONE write dep, not three. The crossing used to fetch the deliveries, queue
|
|
47
|
+
* them one at a time, and flip read_only afterwards; it now hands the whole
|
|
48
|
+
* crossing to `ratifyReleaseFocus` (the `ratify_release_focus` RPC), because
|
|
49
|
+
* the two halves must succeed or fail TOGETHER -- see the function below.
|
|
41
50
|
*/
|
|
42
51
|
export interface RatifyReleaseDeps {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
updateDeliveryStatus: typeof defaultUpdateDeliveryStatus;
|
|
52
|
+
/** The whole crossing, as ONE database transaction. */
|
|
53
|
+
ratifyReleaseFocus: typeof defaultRatifyReleaseFocus;
|
|
46
54
|
emitLoopTrigger: typeof emitLoopTrigger;
|
|
55
|
+
/**
|
|
56
|
+
* The BAR pre-check (`ratify-bar-gate.ts`). True => this crossing states no
|
|
57
|
+
* future to judge the released work against, so do not attempt it.
|
|
58
|
+
*/
|
|
59
|
+
holdRatifyForUnstatedBar: typeof defaultHoldRatifyForUnstatedBar;
|
|
60
|
+
/** The recorder for a refusal that arrives at the crossing anyway. */
|
|
61
|
+
noteRatifyFlipFailure: typeof defaultNoteRatifyFlipFailure;
|
|
47
62
|
}
|
|
48
63
|
/**
|
|
49
64
|
* The SOLE planning->execution crossing for a read-only audit focus.
|
|
50
65
|
*
|
|
51
66
|
* When `isFocusRatifiedForExecute(focus)` holds (read_only=true AND a human
|
|
52
|
-
* stamped ratified_at),
|
|
67
|
+
* stamped ratified_at), cross ATOMICALLY:
|
|
53
68
|
* (a) flip read_only=false, and
|
|
54
69
|
* (b) release every held delivery (execution_status 'planning') to 'queued'.
|
|
55
70
|
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
71
|
+
* ATOMICALLY IS THE WHOLE POINT, AND IT IS NOT THIS FUNCTION'S DOING. Both
|
|
72
|
+
* writes happen inside `ratify_release_focus(p_focus_id)`, one database
|
|
73
|
+
* transaction (migration 20260922173056). Ratification is an audit focus's
|
|
74
|
+
* go-signal, so the database refuses the read_only flip when the focus states
|
|
75
|
+
* no future to judge the released work against -- and a refusal is only a
|
|
76
|
+
* refusal if it can still stop the release.
|
|
77
|
+
*
|
|
78
|
+
* It could not, and no ORDERING could make it. This function used to do the
|
|
79
|
+
* two writes itself, deliberately releasing FIRST: flipping first makes the
|
|
80
|
+
* re-entry predicate fail, so a partial release would be abandoned with
|
|
81
|
+
* deliveries stranded in 'planning'. Release-then-flip meant a refusal arriving
|
|
82
|
+
* on the flip left every delivery already at 'queued' -- actionable work that
|
|
83
|
+
* ready-focus discovery does not exclude -- under the empty bar the refusal had
|
|
84
|
+
* just rejected (review finding, issue d8985d50). One transaction dissolves the
|
|
85
|
+
* dilemma: a refusal rolls the release back with it, and a success commits both
|
|
86
|
+
* halves, so neither half-crossing exists.
|
|
87
|
+
*
|
|
88
|
+
* `holdRatifyForUnstatedBar` (`ratify-bar-gate.ts`) still runs first. It is no
|
|
89
|
+
* longer load-bearing for correctness -- the transaction is -- but it turns the
|
|
90
|
+
* common "the audit stated no future yet" case into a cheap, RECORDED hold
|
|
91
|
+
* instead of a round trip that raises, and it is where the operator-facing
|
|
92
|
+
* record is written.
|
|
59
93
|
*
|
|
60
|
-
* Idempotent by construction:
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
94
|
+
* Idempotent by construction, at the database: the RPC takes the focus row FOR
|
|
95
|
+
* UPDATE and re-evaluates the crossing predicate against it, so a second tick
|
|
96
|
+
* (or a lost race) writes nothing and answers `crossed: false`. The release is
|
|
97
|
+
* scoped to 'planning' rows, so deliveries already queued or further along are
|
|
98
|
+
* untouched.
|
|
65
99
|
*
|
|
66
|
-
* Returns the number of deliveries released (0 when the predicate does not
|
|
67
|
-
* or there were no held
|
|
100
|
+
* Returns the number of deliveries released (0 when the predicate does not
|
|
101
|
+
* hold, the bar gate held, the crossing was refused, or there were no held
|
|
102
|
+
* deliveries).
|
|
68
103
|
*
|
|
69
104
|
* Runs regardless of stage: a read-only audit focus may sit at planning/queued/
|
|
70
105
|
* in_progress, so this is NOT gated on focus.stage.
|
|
@@ -162,7 +197,7 @@ export declare function isWritableFocusPastKickoff(input: {
|
|
|
162
197
|
/**
|
|
163
198
|
* Dependencies for `releaseWritableFocusPlanningDeliveries`. A strict subset of
|
|
164
199
|
* `RatifyReleaseDeps` -- there is no read_only flip here (the focus is already
|
|
165
|
-
* writable), so no
|
|
200
|
+
* writable), so no read_only flip and no atomic crossing RPC. `hasActiveTeam` is the kickoff-window
|
|
166
201
|
* discriminator (see `isWritableFocusPastKickoff`); injected so tests can drive it.
|
|
167
202
|
*/
|
|
168
203
|
export interface WritableReleaseDeps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planning-release.d.ts","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/planning-release.ts"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"planning-release.d.ts","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/planning-release.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Owns the two planning->queued release paths:
|
|
8
8
|
* - `releaseRatifiedReadOnlyFocus` -- the SOLE human-ratified planning->execution
|
|
9
|
-
* crossing for a read-only audit focus.
|
|
9
|
+
* crossing for a read-only audit focus. Gated by `ratify-bar-gate.ts`: that
|
|
10
|
+
* crossing is the audit focus's go-signal, so it states a bar or it does
|
|
11
|
+
* not happen.
|
|
10
12
|
* - `releaseWritableFocusPlanningDeliveries` -- the writable-focus analogue that
|
|
11
13
|
* closes the silent born-planning wedge for a normal execute focus.
|
|
12
14
|
*
|
|
@@ -15,13 +17,15 @@
|
|
|
15
17
|
*
|
|
16
18
|
* @module focus-stage-lifecycle/planning-release
|
|
17
19
|
*/
|
|
18
|
-
import { getFocusDeliveries as defaultGetFocusDeliveries
|
|
20
|
+
import { getFocusDeliveries as defaultGetFocusDeliveries } from '../queries/focuses.js';
|
|
21
|
+
import { ratifyReleaseFocus as defaultRatifyReleaseFocus } from '../queries/focus-ratify-release.js';
|
|
19
22
|
import { updateDeliveryStatus as defaultUpdateDeliveryStatus } from '../queries/deliveries.js';
|
|
20
23
|
import { DELIVERY_STATUS, isExecutionStatus, isValidTransition } from '@telora/daemon-core';
|
|
21
24
|
import { emitLoopTrigger } from '../loops/index.js';
|
|
22
25
|
import { deriveFocusPhase, PRE_EXECUTION_STATUSES } from '../focus/focus-phase.js';
|
|
23
26
|
import { hasActiveTeam as defaultHasActiveTeam } from '../focus/focus-team-state.js';
|
|
24
27
|
import { isAuditPhaseFocus } from '../audit/audit-shape.js';
|
|
28
|
+
import { holdRatifyForUnstatedBar as defaultHoldRatifyForUnstatedBar, noteRatifyFlipFailure as defaultNoteRatifyFlipFailure, } from './ratify-bar-gate.js';
|
|
25
29
|
import { createLogger } from '../shell/log.js';
|
|
26
30
|
const log = createLogger({ module: 'focus-stage-lifecycle' });
|
|
27
31
|
// ── Ratify-to-execute release (Safe audit-to-remediation D3) ──────
|
|
@@ -45,31 +49,51 @@ export function isFocusRatifiedForExecute(focus) {
|
|
|
45
49
|
return focus.readOnly === true && focus.ratifiedAt != null;
|
|
46
50
|
}
|
|
47
51
|
const defaultRatifyReleaseDeps = {
|
|
48
|
-
|
|
49
|
-
updateFocusReadOnly: defaultUpdateFocusReadOnly,
|
|
50
|
-
updateDeliveryStatus: defaultUpdateDeliveryStatus,
|
|
52
|
+
ratifyReleaseFocus: defaultRatifyReleaseFocus,
|
|
51
53
|
emitLoopTrigger,
|
|
54
|
+
holdRatifyForUnstatedBar: defaultHoldRatifyForUnstatedBar,
|
|
55
|
+
noteRatifyFlipFailure: defaultNoteRatifyFlipFailure,
|
|
52
56
|
};
|
|
53
57
|
/**
|
|
54
58
|
* The SOLE planning->execution crossing for a read-only audit focus.
|
|
55
59
|
*
|
|
56
60
|
* When `isFocusRatifiedForExecute(focus)` holds (read_only=true AND a human
|
|
57
|
-
* stamped ratified_at),
|
|
61
|
+
* stamped ratified_at), cross ATOMICALLY:
|
|
58
62
|
* (a) flip read_only=false, and
|
|
59
63
|
* (b) release every held delivery (execution_status 'planning') to 'queued'.
|
|
60
64
|
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
65
|
+
* ATOMICALLY IS THE WHOLE POINT, AND IT IS NOT THIS FUNCTION'S DOING. Both
|
|
66
|
+
* writes happen inside `ratify_release_focus(p_focus_id)`, one database
|
|
67
|
+
* transaction (migration 20260922173056). Ratification is an audit focus's
|
|
68
|
+
* go-signal, so the database refuses the read_only flip when the focus states
|
|
69
|
+
* no future to judge the released work against -- and a refusal is only a
|
|
70
|
+
* refusal if it can still stop the release.
|
|
71
|
+
*
|
|
72
|
+
* It could not, and no ORDERING could make it. This function used to do the
|
|
73
|
+
* two writes itself, deliberately releasing FIRST: flipping first makes the
|
|
74
|
+
* re-entry predicate fail, so a partial release would be abandoned with
|
|
75
|
+
* deliveries stranded in 'planning'. Release-then-flip meant a refusal arriving
|
|
76
|
+
* on the flip left every delivery already at 'queued' -- actionable work that
|
|
77
|
+
* ready-focus discovery does not exclude -- under the empty bar the refusal had
|
|
78
|
+
* just rejected (review finding, issue d8985d50). One transaction dissolves the
|
|
79
|
+
* dilemma: a refusal rolls the release back with it, and a success commits both
|
|
80
|
+
* halves, so neither half-crossing exists.
|
|
64
81
|
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
82
|
+
* `holdRatifyForUnstatedBar` (`ratify-bar-gate.ts`) still runs first. It is no
|
|
83
|
+
* longer load-bearing for correctness -- the transaction is -- but it turns the
|
|
84
|
+
* common "the audit stated no future yet" case into a cheap, RECORDED hold
|
|
85
|
+
* instead of a round trip that raises, and it is where the operator-facing
|
|
86
|
+
* record is written.
|
|
70
87
|
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
88
|
+
* Idempotent by construction, at the database: the RPC takes the focus row FOR
|
|
89
|
+
* UPDATE and re-evaluates the crossing predicate against it, so a second tick
|
|
90
|
+
* (or a lost race) writes nothing and answers `crossed: false`. The release is
|
|
91
|
+
* scoped to 'planning' rows, so deliveries already queued or further along are
|
|
92
|
+
* untouched.
|
|
93
|
+
*
|
|
94
|
+
* Returns the number of deliveries released (0 when the predicate does not
|
|
95
|
+
* hold, the bar gate held, the crossing was refused, or there were no held
|
|
96
|
+
* deliveries).
|
|
73
97
|
*
|
|
74
98
|
* Runs regardless of stage: a read-only audit focus may sit at planning/queued/
|
|
75
99
|
* in_progress, so this is NOT gated on focus.stage.
|
|
@@ -77,68 +101,32 @@ const defaultRatifyReleaseDeps = {
|
|
|
77
101
|
export async function releaseRatifiedReadOnlyFocus(focus, deps = defaultRatifyReleaseDeps) {
|
|
78
102
|
if (!isFocusRatifiedForExecute(focus))
|
|
79
103
|
return 0;
|
|
80
|
-
//
|
|
81
|
-
//
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
// tick retries the whole release. Flipping first would orphan any
|
|
86
|
-
// not-yet-released held delivery: the predicate would already be false and
|
|
87
|
-
// those deliveries would never be queued.
|
|
88
|
-
// (a) Release held deliveries: planning -> queued. Guarded so only 'planning'
|
|
89
|
-
// rows move; anything already queued/further-along is left untouched
|
|
90
|
-
// (idempotency + safety).
|
|
91
|
-
let deliveries;
|
|
104
|
+
// ASK FIRST: does this crossing state a bar? A hold costs one poll tick and
|
|
105
|
+
// records the reason where an operator reads it.
|
|
106
|
+
if (await deps.holdRatifyForUnstatedBar(focus))
|
|
107
|
+
return 0;
|
|
108
|
+
let result;
|
|
92
109
|
try {
|
|
93
|
-
|
|
110
|
+
result = await deps.ratifyReleaseFocus(focus.focusId);
|
|
94
111
|
}
|
|
95
112
|
catch (err) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
113
|
+
// A refusal the pre-check did not catch (the two read the tree seconds
|
|
114
|
+
// apart, through different paths) degrades to held+recorded, never to a
|
|
115
|
+
// crash and never to a silent log line. NOTHING was released: the refusal
|
|
116
|
+
// aborted the transaction that would have released it.
|
|
117
|
+
await deps.noteRatifyFlipFailure(focus, err);
|
|
99
118
|
return 0;
|
|
100
119
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
//
|
|
105
|
-
|
|
106
|
-
// never 'draft', so there is no draft to release here. Keeping this narrow also
|
|
107
|
-
// keeps the human-ratify gate the SOLE crossing for audit focuses.
|
|
108
|
-
if (d.executionStatus !== DELIVERY_STATUS.PLANNING)
|
|
109
|
-
continue;
|
|
110
|
-
try {
|
|
111
|
-
await deps.updateDeliveryStatus(d.id, DELIVERY_STATUS.QUEUED, undefined, undefined, undefined, { organizationId: focus.organizationId, fromStatus: DELIVERY_STATUS.PLANNING });
|
|
112
|
-
released += 1;
|
|
113
|
-
}
|
|
114
|
-
catch (err) {
|
|
115
|
-
allReleased = false;
|
|
116
|
-
log.warn(`[focus-stage-lifecycle] Ratify-release: failed to queue held delivery ` +
|
|
117
|
-
`${d.id.slice(0, 8)} on "${focus.focusName}": ${err.message}`);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
// (b) Flip read_only=false ONLY when every held delivery was queued. If any
|
|
121
|
-
// release failed, leave read_only=true so the predicate stays satisfied and
|
|
122
|
-
// the next tick retries the (planning-only, idempotent) release -- never
|
|
123
|
-
// crossing the gate with held deliveries still stuck in planning.
|
|
124
|
-
if (!allReleased) {
|
|
125
|
-
log.warn(`[focus-stage-lifecycle] Ratify-release: not all held deliveries queued ` +
|
|
126
|
-
`for "${focus.focusName}" (released ${released}); leaving read_only=true ` +
|
|
127
|
-
`to retry next tick.`);
|
|
128
|
-
return released;
|
|
129
|
-
}
|
|
130
|
-
try {
|
|
131
|
-
await deps.updateFocusReadOnly(focus.focusId, false);
|
|
132
|
-
}
|
|
133
|
-
catch (err) {
|
|
134
|
-
log.warn(`[focus-stage-lifecycle] Ratify-release: held deliveries queued for ` +
|
|
135
|
-
`"${focus.focusName}" but failed to flip read_only=false (will retry ` +
|
|
136
|
-
`next tick): ${err.message}`);
|
|
137
|
-
return released;
|
|
120
|
+
if (!result.crossed) {
|
|
121
|
+
// The RPC re-read the predicate and found no crossing to make -- already
|
|
122
|
+
// crossed by an earlier tick, or ratified_at cleared under us. Not an
|
|
123
|
+
// error, and nothing was written.
|
|
124
|
+
return 0;
|
|
138
125
|
}
|
|
126
|
+
const { released } = result;
|
|
139
127
|
log.info(`[focus-stage-lifecycle] Focus "${focus.focusName}" ratified -> execute: ` +
|
|
140
128
|
`read_only=false, released ${released} held planning ` +
|
|
141
|
-
`deliver${released === 1 ? 'y' : 'ies'} to queued.`);
|
|
129
|
+
`deliver${released === 1 ? 'y' : 'ies'} to queued (one transaction).`);
|
|
142
130
|
deps.emitLoopTrigger({
|
|
143
131
|
type: 'focus_status_changed',
|
|
144
132
|
focusId: focus.focusId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planning-release.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/planning-release.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0FAA0F;AAC1F,gBAAgB;AAEhB
|
|
1
|
+
{"version":3,"file":"planning-release.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/planning-release.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE RATIFY CROSSING STATES A BAR, OR IT DOES NOT HAPPEN.
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS. A read_only (audit) focus is armed in order to go and
|
|
5
|
+
* DISCOVER what its tree should say, so its role arm states no bar and the
|
|
6
|
+
* database does not refuse it -- it stamps an honest empty `[]`. That empty
|
|
7
|
+
* stamp used to be treated as harmless, on the reasoning that nothing waits on
|
|
8
|
+
* an audit focus's bar. It is not harmless: `releaseRatifiedReadOnlyFocus`
|
|
9
|
+
* (planning-release.ts) later releases the focus's held 'planning' deliveries
|
|
10
|
+
* to 'queued' and flips read_only=false with NO new arm and NO re-stamp, so
|
|
11
|
+
* execution proceeded under a bar that stated nothing and no reviewer could
|
|
12
|
+
* hold the work against anything (review finding, delivery 3e6bacf5).
|
|
13
|
+
*
|
|
14
|
+
* So the rule binds the write that IS the audit focus's go-signal. Migration
|
|
15
|
+
* 20260922173056 refuses the read_only TRUE -> FALSE crossing when the focus
|
|
16
|
+
* states no bar, and re-stamps the whole baseline from the CURRENT tree when it
|
|
17
|
+
* does. This module is the daemon's half of that: ASK FIRST, so the refusal
|
|
18
|
+
* never has to arrive in the middle of a crossing that has already queued
|
|
19
|
+
* deliveries.
|
|
20
|
+
*
|
|
21
|
+
* WHY ASKING FIRST MATTERS HERE and not merely as politeness: the crossing is
|
|
22
|
+
* deliberately ordered release-then-flip, so that a partial release retries
|
|
23
|
+
* (see planning-release.ts). A refusal landing on the flip would therefore
|
|
24
|
+
* leave the deliveries queued and read_only still true -- released work under
|
|
25
|
+
* an audit flag, the worst of both. Holding BEFORE the release keeps the focus
|
|
26
|
+
* exactly where it was.
|
|
27
|
+
*
|
|
28
|
+
* FAIL CLOSED = HOLD. An unreadable bar holds the crossing, because crossing on
|
|
29
|
+
* an unproven bar spends the human's ratification on a run nobody can judge,
|
|
30
|
+
* and only a new ratification restores it. A hold costs one poll tick.
|
|
31
|
+
*
|
|
32
|
+
* WHAT IS RECORDED, AND WHERE. The same `focus_debug_artifacts` section the PRD
|
|
33
|
+
* frontier's refused arm uses (`arm_refused`, one row per focus, rendered on
|
|
34
|
+
* the focus Debug tab, read by NOTHING in the machine's decision path) through
|
|
35
|
+
* the same writer (`prd/arm-refusal.ts` `recordArmRefusalSection`), so there is
|
|
36
|
+
* one row and one since-when line rather than two vocabularies for "this focus
|
|
37
|
+
* states no future". Only a READABLE refusal is recorded: "the tree says this
|
|
38
|
+
* focus states nothing" is a finding an operator acts on, while "I could not
|
|
39
|
+
* read the tree" is a transient the next tick retries, and recording the second
|
|
40
|
+
* as the first would put a permanent-looking note on a healthy focus.
|
|
41
|
+
*
|
|
42
|
+
* NOTHING HERE ESCALATES. An audit whose findings state no future is a waiting
|
|
43
|
+
* state whose fix is a restatement on a tree node -- work an agent does, not a
|
|
44
|
+
* question for a human queue.
|
|
45
|
+
*
|
|
46
|
+
* @module focus-stage-lifecycle/ratify-bar-gate
|
|
47
|
+
*/
|
|
48
|
+
import { readFocusStatesABar as defaultReadFocusStatesABar } from '../prd/arm-readiness.js';
|
|
49
|
+
import { clearArmRefusal as defaultClearArmRefusal, recordArmRefusalSection as defaultRecordArmRefusalSection } from '../prd/arm-refusal.js';
|
|
50
|
+
/** The focus identity this gate reads and reports on. */
|
|
51
|
+
export interface RatifyBarFocus {
|
|
52
|
+
focusId: string;
|
|
53
|
+
focusName: string;
|
|
54
|
+
}
|
|
55
|
+
/** Injectable seam (tests drive it with no API and no mock.module). */
|
|
56
|
+
export interface RatifyBarGateDeps {
|
|
57
|
+
readFocusStatesABar: typeof defaultReadFocusStatesABar;
|
|
58
|
+
recordArmRefusalSection: typeof defaultRecordArmRefusalSection;
|
|
59
|
+
clearArmRefusal: typeof defaultClearArmRefusal;
|
|
60
|
+
now: () => Date;
|
|
61
|
+
}
|
|
62
|
+
/** Production wiring. */
|
|
63
|
+
export declare const defaultRatifyBarGateDeps: RatifyBarGateDeps;
|
|
64
|
+
/**
|
|
65
|
+
* Render the operator-facing record. PURE.
|
|
66
|
+
*
|
|
67
|
+
* `detail` is whatever named the refusal: the daemon's own reading of the tree
|
|
68
|
+
* when it held the crossing, or the DATABASE's verbatim message when a refusal
|
|
69
|
+
* arrived anyway. Neither is re-worded -- the node list is the half a human
|
|
70
|
+
* needs and only the reader that produced it could resolve.
|
|
71
|
+
*/
|
|
72
|
+
export declare function renderRatifyBarRefusalArtifact(args: {
|
|
73
|
+
focusName: string;
|
|
74
|
+
focusId: string;
|
|
75
|
+
detail: string;
|
|
76
|
+
observedAt: string;
|
|
77
|
+
/** True when the DATABASE refused the write; false when the daemon held first. */
|
|
78
|
+
refusedByDatabase: boolean;
|
|
79
|
+
}, since: string): string;
|
|
80
|
+
/**
|
|
81
|
+
* Should the ratify crossing be held? Answered BEFORE anything is released.
|
|
82
|
+
*
|
|
83
|
+
* `true` => hold: release nothing, leave read_only=true, and the next tick asks
|
|
84
|
+
* again. The reason is logged, and a readable refusal is also recorded durably.
|
|
85
|
+
* `false` => the focus states a bar; any stale record is cleared and the
|
|
86
|
+
* crossing proceeds.
|
|
87
|
+
*/
|
|
88
|
+
export declare function holdRatifyForUnstatedBar(focus: RatifyBarFocus, deps?: RatifyBarGateDeps): Promise<boolean>;
|
|
89
|
+
/**
|
|
90
|
+
* The backstop: a refusal that arrived ANYWAY, on the read_only flip itself.
|
|
91
|
+
*
|
|
92
|
+
* The pre-check and the trigger read the tree at two different instants and
|
|
93
|
+
* through two different paths (the injection bundle's `nowTargets` vs the
|
|
94
|
+
* `targets` edges), so they CAN disagree without either being wrong. When they
|
|
95
|
+
* do, the crossing degrades to "held, recorded" -- never to a crash and never
|
|
96
|
+
* to a silent log line -- and the next tick re-asks. A failure that is NOT the
|
|
97
|
+
* criteria refusal is logged as before and records nothing: it is an ordinary
|
|
98
|
+
* transient, not a statement about this focus's bar.
|
|
99
|
+
*
|
|
100
|
+
* RECOGNITION DEPENDS ON THE EDGE CARRYING THE TEXT. `daemon_update_focus_status`
|
|
101
|
+
* answers a refused flip with the database's message verbatim and
|
|
102
|
+
* `code: 'arm_criteria_required'`. In the deploy-order window -- migration live,
|
|
103
|
+
* edge function not -- the same refusal comes back as an opaque 500, so it is
|
|
104
|
+
* logged and held but not recorded. That degradation is deliberate: the
|
|
105
|
+
* alternative is recording every transient as a statement about the bar.
|
|
106
|
+
*/
|
|
107
|
+
export declare function noteRatifyFlipFailure(focus: RatifyBarFocus, err: unknown, deps?: RatifyBarGateDeps): Promise<void>;
|
|
108
|
+
//# sourceMappingURL=ratify-bar-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ratify-bar-gate.d.ts","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/ratify-bar-gate.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EACL,mBAAmB,IAAI,0BAA0B,EAElD,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIL,eAAe,IAAI,sBAAsB,EACzC,uBAAuB,IAAI,8BAA8B,EAC1D,MAAM,uBAAuB,CAAC;AAK/B,yDAAyD;AACzD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,uEAAuE;AACvE,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,EAAE,OAAO,0BAA0B,CAAC;IACvD,uBAAuB,EAAE,OAAO,8BAA8B,CAAC;IAC/D,eAAe,EAAE,OAAO,sBAAsB,CAAC;IAC/C,GAAG,EAAE,MAAM,IAAI,CAAC;CACjB;AAED,yBAAyB;AACzB,eAAO,MAAM,wBAAwB,EAAE,iBAKtC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE;IACJ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,iBAAiB,EAAE,OAAO,CAAC;CAC5B,EACD,KAAK,EAAE,MAAM,GACZ,MAAM,CA4BR;AAsBD;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,cAAc,EACrB,IAAI,GAAE,iBAA4C,GACjD,OAAO,CAAC,OAAO,CAAC,CAgClB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,cAAc,EACrB,GAAG,EAAE,OAAO,EACZ,IAAI,GAAE,iBAA4C,GACjD,OAAO,CAAC,IAAI,CAAC,CAYf"}
|