@telora/daemon 0.20.78 → 0.20.95
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 +2 -2
- package/dist/ai-inspection-context.d.ts.map +1 -1
- package/dist/ai-inspection-context.js +4 -2
- package/dist/ai-inspection-context.js.map +1 -1
- package/dist/audit-prompt.d.ts.map +1 -1
- package/dist/audit-prompt.js +9 -5
- package/dist/audit-prompt.js.map +1 -1
- package/dist/ci-sensor-loop.d.ts +33 -5
- package/dist/ci-sensor-loop.d.ts.map +1 -1
- package/dist/ci-sensor-loop.js +95 -14
- package/dist/ci-sensor-loop.js.map +1 -1
- package/dist/ci-status-git.d.ts +7 -5
- package/dist/ci-status-git.d.ts.map +1 -1
- package/dist/ci-status-git.js +12 -9
- package/dist/ci-status-git.js.map +1 -1
- package/dist/ci-status.d.ts +21 -6
- package/dist/ci-status.d.ts.map +1 -1
- package/dist/ci-status.js +90 -15
- package/dist/ci-status.js.map +1 -1
- package/dist/cli/connect/agents.d.ts +64 -14
- package/dist/cli/connect/agents.d.ts.map +1 -1
- package/dist/cli/connect/agents.js +102 -19
- package/dist/cli/connect/agents.js.map +1 -1
- package/dist/cli/connect/claude.d.ts +19 -16
- package/dist/cli/connect/claude.d.ts.map +1 -1
- package/dist/cli/connect/claude.js +34 -68
- package/dist/cli/connect/claude.js.map +1 -1
- package/dist/cli/connect/scaffolding.d.ts +3 -2
- package/dist/cli/connect/scaffolding.d.ts.map +1 -1
- package/dist/cli/connect/scaffolding.js +17 -6
- package/dist/cli/connect/scaffolding.js.map +1 -1
- package/dist/cli/connect/seed-retirement.d.ts +39 -0
- package/dist/cli/connect/seed-retirement.d.ts.map +1 -0
- package/dist/cli/connect/seed-retirement.js +95 -0
- package/dist/cli/connect/seed-retirement.js.map +1 -0
- package/dist/cli/connect.d.ts +2 -2
- package/dist/cli/connect.d.ts.map +1 -1
- package/dist/cli/connect.js +8 -2
- package/dist/cli/connect.js.map +1 -1
- package/dist/cli/session-state.d.ts +0 -20
- package/dist/cli/session-state.d.ts.map +1 -1
- package/dist/cli/session-state.js +20 -49
- package/dist/cli/session-state.js.map +1 -1
- package/dist/completion/completion-decision.d.ts +3 -29
- package/dist/completion/completion-decision.d.ts.map +1 -1
- package/dist/completion/completion-decision.js +3 -15
- package/dist/completion/completion-decision.js.map +1 -1
- package/dist/completion/event-phases.d.ts +0 -8
- package/dist/completion/event-phases.d.ts.map +1 -1
- package/dist/completion/event-phases.js +4 -52
- package/dist/completion/event-phases.js.map +1 -1
- package/dist/completion/event.d.ts +1 -11
- package/dist/completion/event.d.ts.map +1 -1
- package/dist/completion/event.js +1 -3
- package/dist/completion/event.js.map +1 -1
- package/dist/completion/merge-phase.d.ts +1 -1
- package/dist/completion/merge-phase.d.ts.map +1 -1
- package/dist/completion/merge-phase.js +14 -34
- package/dist/completion/merge-phase.js.map +1 -1
- package/dist/completion/team-lifecycle.d.ts.map +1 -1
- package/dist/completion/team-lifecycle.js +13 -1
- package/dist/completion/team-lifecycle.js.map +1 -1
- package/dist/delivery-artifacts.d.ts.map +1 -1
- package/dist/delivery-artifacts.js +9 -8
- package/dist/delivery-artifacts.js.map +1 -1
- package/dist/git/merge.d.ts +16 -0
- package/dist/git/merge.d.ts.map +1 -1
- package/dist/git/merge.js +39 -1
- package/dist/git/merge.js.map +1 -1
- package/dist/product-scaffold.d.ts +8 -6
- package/dist/product-scaffold.d.ts.map +1 -1
- package/dist/product-scaffold.js +14 -10
- package/dist/product-scaffold.js.map +1 -1
- package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
- package/dist/prompt-sections/execution-sections.js +44 -3
- package/dist/prompt-sections/execution-sections.js.map +1 -1
- package/dist/prompt-sections/scoping-sections.d.ts.map +1 -1
- package/dist/prompt-sections/scoping-sections.js +8 -0
- package/dist/prompt-sections/scoping-sections.js.map +1 -1
- package/dist/queries/cause-key.d.ts +13 -3
- package/dist/queries/cause-key.d.ts.map +1 -1
- package/dist/queries/cause-key.js +14 -4
- package/dist/queries/cause-key.js.map +1 -1
- package/dist/queries/deliveries.d.ts +20 -153
- package/dist/queries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries.js +26 -0
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/delivery-gate-state.d.ts +192 -0
- package/dist/queries/delivery-gate-state.d.ts.map +1 -0
- package/dist/queries/delivery-gate-state.js +23 -0
- package/dist/queries/delivery-gate-state.js.map +1 -0
- package/dist/queries/holds.d.ts +62 -60
- package/dist/queries/holds.d.ts.map +1 -1
- package/dist/queries/holds.js +70 -69
- package/dist/queries/holds.js.map +1 -1
- package/dist/queries/issues.d.ts +2 -2
- package/dist/queries/issues.d.ts.map +1 -1
- package/dist/queries/issues.js +2 -2
- package/dist/queries/issues.js.map +1 -1
- package/dist/reality-pole.d.ts +5 -3
- package/dist/reality-pole.d.ts.map +1 -1
- package/dist/reality-pole.js +13 -4
- package/dist/reality-pole.js.map +1 -1
- package/dist/resolvers/git-diff-against-base.d.ts.map +1 -1
- package/dist/resolvers/git-diff-against-base.js +12 -5
- package/dist/resolvers/git-diff-against-base.js.map +1 -1
- package/dist/resolvers/index.d.ts +1 -1
- package/dist/resolvers/index.d.ts.map +1 -1
- package/dist/resolvers/index.js +1 -1
- package/dist/resolvers/index.js.map +1 -1
- package/dist/resolvers/shared/git-diff.d.ts +147 -26
- package/dist/resolvers/shared/git-diff.d.ts.map +1 -1
- package/dist/resolvers/shared/git-diff.js +275 -35
- package/dist/resolvers/shared/git-diff.js.map +1 -1
- package/dist/templates/agents-md.d.ts +16 -0
- package/dist/templates/agents-md.d.ts.map +1 -1
- package/dist/templates/agents-md.js +26 -0
- package/dist/templates/agents-md.js.map +1 -1
- package/dist/templates/claude-settings.d.ts +44 -1
- package/dist/templates/claude-settings.d.ts.map +1 -1
- package/dist/templates/claude-settings.js +73 -1
- package/dist/templates/claude-settings.js.map +1 -1
- package/dist/unified-shell-provisioning.d.ts +99 -0
- package/dist/unified-shell-provisioning.d.ts.map +1 -0
- package/dist/unified-shell-provisioning.js +222 -0
- package/dist/unified-shell-provisioning.js.map +1 -0
- package/dist/unified-shell.d.ts +0 -41
- package/dist/unified-shell.d.ts.map +1 -1
- package/dist/unified-shell.js +19 -135
- package/dist/unified-shell.js.map +1 -1
- package/dist/verification-deps.d.ts +151 -0
- package/dist/verification-deps.d.ts.map +1 -0
- package/dist/verification-deps.js +19 -0
- package/dist/verification-deps.js.map +1 -0
- package/dist/verification-engine.d.ts +10 -112
- package/dist/verification-engine.d.ts.map +1 -1
- package/dist/verification-engine.js +84 -30
- package/dist/verification-engine.js.map +1 -1
- package/dist/verification-evidence.d.ts +33 -1
- package/dist/verification-evidence.d.ts.map +1 -1
- package/dist/verification-evidence.js +55 -13
- package/dist/verification-evidence.js.map +1 -1
- package/dist/verification-feedback.d.ts +31 -27
- package/dist/verification-feedback.d.ts.map +1 -1
- package/dist/verification-feedback.js +76 -85
- package/dist/verification-feedback.js.map +1 -1
- package/dist/verify-restatement.d.ts +12 -9
- package/dist/verify-restatement.d.ts.map +1 -1
- package/dist/verify-restatement.js +11 -9
- package/dist/verify-restatement.js.map +1 -1
- package/package.json +1 -1
|
@@ -23,160 +23,12 @@ export declare function getReadyDeliveries(_organizationId: string, productId?:
|
|
|
23
23
|
*/
|
|
24
24
|
export declare function getDeliveryContext(deliveryId: string): Promise<DeliveryContext | null>;
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* "Waiting on", live-session inject, and the requeue/respawn prompt -- can
|
|
30
|
-
* surface WHAT failed and WHERE to read it, without a cold re-run.
|
|
26
|
+
* The gate_state vocabulary -- DeliveryGateState and its per-origin detail
|
|
27
|
+
* records -- lives in queries/delivery-gate-state.ts. Re-exported here so the
|
|
28
|
+
* many modules that reach these through queries/deliveries.js keep resolving.
|
|
31
29
|
*/
|
|
32
|
-
export
|
|
33
|
-
|
|
34
|
-
* Failing-test ids that GATE this delivery. When baseline-diff attribution ran,
|
|
35
|
-
* these are the NEW failures the focus introduced; otherwise all parsed failures.
|
|
36
|
-
*/
|
|
37
|
-
failingTests: string[];
|
|
38
|
-
/**
|
|
39
|
-
* Failing tests that pre-exist on the focus base -- recorded, non-blocking
|
|
40
|
-
* (they do not gate the focus). Absent when attribution did not run.
|
|
41
|
-
*/
|
|
42
|
-
preExisting?: string[];
|
|
43
|
-
/** Absolute path to the persistent full-log file, or null when none was written. */
|
|
44
|
-
logPath: string | null;
|
|
45
|
-
/** Process exit code of the failed run, or null. */
|
|
46
|
-
exitCode: number | null;
|
|
47
|
-
/** ISO timestamp of the failing run. */
|
|
48
|
-
failedAt: string;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Detail attached to gate_state when the verify-shortfall RECONCILIATION (not a
|
|
52
|
-
* deterministic shell run) holds the flip: the achieved outcome fell short of
|
|
53
|
-
* the declared desired effect for one or more targeted nodes. Distinct from
|
|
54
|
-
* VerificationFailureDetail on purpose -- a shortfall hold has no exitCode /
|
|
55
|
-
* failingTests (the deterministic check may well have passed), it has a
|
|
56
|
-
* declared-vs-achieved gap. Keeping it under its own key prevents a reader from
|
|
57
|
-
* seeing a passed:false deterministic_verification whose exitCode is 0.
|
|
58
|
-
*/
|
|
59
|
-
export interface ShortfallReconciliationDetail {
|
|
60
|
-
/** ISO timestamp of the reconciliation that held the gate. */
|
|
61
|
-
heldAt: string;
|
|
62
|
-
/** The per-target declared/achieved/reason gaps that withheld the flip. */
|
|
63
|
-
shortfalls: Array<{
|
|
64
|
-
nodeId: string;
|
|
65
|
-
declared: string;
|
|
66
|
-
achieved: string;
|
|
67
|
-
reason: string;
|
|
68
|
-
/** The diff evidence grounding the shortfall, when the judge cited one. */
|
|
69
|
-
diffCitation?: string;
|
|
70
|
-
}>;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Detail attached to gate_state when the verify path was handed NO evidence it
|
|
74
|
-
* could judge the work against (no diff, no changed-files, no inspection
|
|
75
|
-
* finding) -- an INSTRUMENT FAULT, not a verdict about the work. Distinct from
|
|
76
|
-
* VerificationFailureDetail (a shell command failed) and from
|
|
77
|
-
* ShortfallReconciliationDetail (the work fell short of intent): here the
|
|
78
|
-
* reconciliation is BLIND, so it must not render any verdict. The delivery is
|
|
79
|
-
* held in `verify` (never routed to verify_failed, so no iteration is
|
|
80
|
-
* consumed) and a first-occurrence escalation names the missing evidence.
|
|
81
|
-
*/
|
|
82
|
-
export interface EvidenceUnavailableDetail {
|
|
83
|
-
/** ISO timestamp the instrument-fault hold was recorded. */
|
|
84
|
-
heldAt: string;
|
|
85
|
-
/** Which evidence slots were empty (named, so the hold describes the fault, not the work). */
|
|
86
|
-
missing: string[];
|
|
87
|
-
/**
|
|
88
|
-
* Commits the delivery branch is ahead of the integration base. 0 => the
|
|
89
|
-
* branch already merged / did no work; > 0 => a broken diff MEASUREMENT
|
|
90
|
-
* (commits present but the diff resolved empty). Carried for operator triage.
|
|
91
|
-
*/
|
|
92
|
-
commitsAhead: number;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Shape written into product_deliveries.gate_state when guard evaluation
|
|
96
|
-
* blocks a stage transition. Cleared (set to null) when guards pass.
|
|
97
|
-
*
|
|
98
|
-
* `verification` is populated when the block is a daemon-side deterministic
|
|
99
|
-
* verification failure (Harness-Owned Delivery Verification), carrying the
|
|
100
|
-
* failing tests + log path for the feedback loop; absent for guard-only gates.
|
|
101
|
-
*
|
|
102
|
-
* `shortfallReconciliation` is populated when the block is a verify-shortfall
|
|
103
|
-
* reconciliation hold (declared-vs-achieved gap), NOT a deterministic run; the
|
|
104
|
-
* two are mutually exclusive origins and never share the deterministic guard.
|
|
105
|
-
*/
|
|
106
|
-
export interface DeliveryGateState {
|
|
107
|
-
blocking: Array<{
|
|
108
|
-
guardName: string;
|
|
109
|
-
passed: boolean;
|
|
110
|
-
}>;
|
|
111
|
-
warnings: Array<{
|
|
112
|
-
guardName: string;
|
|
113
|
-
passed: boolean;
|
|
114
|
-
}>;
|
|
115
|
-
evaluatedAt: string;
|
|
116
|
-
verification?: VerificationFailureDetail;
|
|
117
|
-
shortfallReconciliation?: ShortfallReconciliationDetail;
|
|
118
|
-
/**
|
|
119
|
-
* Populated when the verify path was handed no evidence it could judge the
|
|
120
|
-
* work against (an instrument fault). Kept under its own key -- never
|
|
121
|
-
* conflated with `verification` (a shell failure) or `shortfallReconciliation`
|
|
122
|
-
* (a work shortfall) -- so a reader can tell "the gate was blind" from "the
|
|
123
|
-
* work fell short". The blocking guard is `verify_evidence_unavailable`.
|
|
124
|
-
*/
|
|
125
|
-
evidenceUnavailable?: EvidenceUnavailableDetail;
|
|
126
|
-
/**
|
|
127
|
-
* Undisposed shortfall drift proposal ids holding this delivery in verify.
|
|
128
|
-
*
|
|
129
|
-
* Kept OUT of `blocking` on purpose: that array is guard-verdict data
|
|
130
|
-
* (guardName + passed), and a shortfall hold is not a guard. Synthesizing a
|
|
131
|
-
* fake guardName to smuggle the ids through would make `blocking` lie about
|
|
132
|
-
* what a guard is. `formatGateBlockers` is the single place that merges the
|
|
133
|
-
* two for display.
|
|
134
|
-
*
|
|
135
|
-
* Absent for guard-only gates. Written by the review-exit shortfall hold and
|
|
136
|
-
* cleared, like the rest of gate_state, when the delivery finally routes.
|
|
137
|
-
*/
|
|
138
|
-
shortfallProposalIds?: string[];
|
|
139
|
-
/**
|
|
140
|
-
* The open operator-blocked escalation (disposition needs_operator /
|
|
141
|
-
* external_wait, any kind) holding this delivery in verify. Written by the
|
|
142
|
-
* operator-hold gate (operator-hold.ts) so the board can name what the
|
|
143
|
-
* delivery is waiting on without a second escalation being filed; cleared,
|
|
144
|
-
* like the rest of gate_state, when the delivery finally routes. When the hold
|
|
145
|
-
* read itself failed (fail-closed), escalationId is null and readFailed is
|
|
146
|
-
* true -- the delivery is still held, just without a specific escalation to
|
|
147
|
-
* name. Like shortfallProposalIds, kept OUT of `blocking` (a hold is not a
|
|
148
|
-
* guard verdict).
|
|
149
|
-
*/
|
|
150
|
-
operatorHold?: {
|
|
151
|
-
escalationId: string | null;
|
|
152
|
-
escalationKind: string | null;
|
|
153
|
-
disposition: string | null;
|
|
154
|
-
readFailed?: boolean;
|
|
155
|
-
};
|
|
156
|
-
/**
|
|
157
|
-
* An irreducibly-external dependency holding this delivery in verify, carried
|
|
158
|
-
* as durable STATE rather than an agent_escalations row (external-hold.ts).
|
|
159
|
-
* The blocking condition and what would clear it live here, attached to the
|
|
160
|
-
* delivery they block; the hold clears by re-evaluating that condition (a
|
|
161
|
-
* re-read of reality), not by a human resolving an inbox item. Kept OUT of
|
|
162
|
-
* `blocking` for the same reason as operatorHold/shortfallProposalIds: a hold
|
|
163
|
-
* is not a guard verdict. Cleared, like the rest of gate_state, when the
|
|
164
|
-
* delivery finally routes.
|
|
165
|
-
*/
|
|
166
|
-
externalHold?: ExternalHoldState;
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* The durable external-hold state on a delivery's gate_state. Distinct from an
|
|
170
|
-
* agent_escalations row: an external dependency is state, not an inbox event.
|
|
171
|
-
*/
|
|
172
|
-
export interface ExternalHoldState {
|
|
173
|
-
/** What is blocking -- the irreducibly-external dependency. */
|
|
174
|
-
condition: string;
|
|
175
|
-
/** The condition that, when re-read as true, clears the hold. */
|
|
176
|
-
clearsWhen: string;
|
|
177
|
-
/** ISO timestamp the hold was declared. */
|
|
178
|
-
declaredAt: string;
|
|
179
|
-
}
|
|
30
|
+
export type { VerificationFailureDetail, ShortfallReconciliationDetail, EvidenceUnavailableDetail, DeliveryGateState, ExternalHoldState, } from './delivery-gate-state.js';
|
|
31
|
+
import type { DeliveryGateState } from './delivery-gate-state.js';
|
|
180
32
|
/**
|
|
181
33
|
* Optional metadata that lets updateDeliveryStatus append a delivery_transitions
|
|
182
34
|
* row alongside the status change. The daemon is the single owner of delivery
|
|
@@ -425,6 +277,21 @@ export declare function recordFocusMerge(params: {
|
|
|
425
277
|
commitShas: string[];
|
|
426
278
|
branchName: string;
|
|
427
279
|
}): Promise<void>;
|
|
280
|
+
/**
|
|
281
|
+
* Fetch the RECORDED constituent commit shas for a delivery's merge, keyed by
|
|
282
|
+
* the merge_commit_sha the delivery row carries.
|
|
283
|
+
*
|
|
284
|
+
* Reads focus_merges (via focus_merge_list) -- the durable record the daemon
|
|
285
|
+
* wrote at merge time (extractConstituentCommits -> recordFocusMerge) -- and
|
|
286
|
+
* returns the commit_shas of the row whose merge_commit_sha matches. This is the
|
|
287
|
+
* exact attribution, immune to the fast-forward + rebase failures that corrupt a
|
|
288
|
+
* range re-derived from live branch topology at verify time.
|
|
289
|
+
*
|
|
290
|
+
* Returns [] when the focus/merge is unknown or the API action is unavailable
|
|
291
|
+
* (best-effort): the verify diff resolver then falls through to its
|
|
292
|
+
* live-topology sources rather than blocking.
|
|
293
|
+
*/
|
|
294
|
+
export declare function getRecordedCommitShasForMerge(focusId: string, mergeCommitSha: string): Promise<string[]>;
|
|
428
295
|
/**
|
|
429
296
|
* Report a git lifecycle state transition for a delivery.
|
|
430
297
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliveries.d.ts","sourceRoot":"","sources":["../../src/queries/deliveries.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAY,eAAe,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAiChE;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IACnG,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC,CAAC,CAeF;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAkB5F;AAED
|
|
1
|
+
{"version":3,"file":"deliveries.d.ts","sourceRoot":"","sources":["../../src/queries/deliveries.ts"],"names":[],"mappings":"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"}
|
|
@@ -291,6 +291,32 @@ export async function recordFocusMerge(params) {
|
|
|
291
291
|
},
|
|
292
292
|
});
|
|
293
293
|
}
|
|
294
|
+
/**
|
|
295
|
+
* Fetch the RECORDED constituent commit shas for a delivery's merge, keyed by
|
|
296
|
+
* the merge_commit_sha the delivery row carries.
|
|
297
|
+
*
|
|
298
|
+
* Reads focus_merges (via focus_merge_list) -- the durable record the daemon
|
|
299
|
+
* wrote at merge time (extractConstituentCommits -> recordFocusMerge) -- and
|
|
300
|
+
* returns the commit_shas of the row whose merge_commit_sha matches. This is the
|
|
301
|
+
* exact attribution, immune to the fast-forward + rebase failures that corrupt a
|
|
302
|
+
* range re-derived from live branch topology at verify time.
|
|
303
|
+
*
|
|
304
|
+
* Returns [] when the focus/merge is unknown or the API action is unavailable
|
|
305
|
+
* (best-effort): the verify diff resolver then falls through to its
|
|
306
|
+
* live-topology sources rather than blocking.
|
|
307
|
+
*/
|
|
308
|
+
export async function getRecordedCommitShasForMerge(focusId, mergeCommitSha) {
|
|
309
|
+
try {
|
|
310
|
+
const result = await callApi('focus_merge_list', { focusId, limit: 500 });
|
|
311
|
+
const row = (result.merges ?? []).find((m) => m.mergeCommitSha === mergeCommitSha);
|
|
312
|
+
return row?.commitShas ?? [];
|
|
313
|
+
}
|
|
314
|
+
catch (err) {
|
|
315
|
+
log.debug(`[focusMerge] commit_shas lookup unavailable for focus ${focusId.slice(0, 8)}: ` +
|
|
316
|
+
`${err.message}`);
|
|
317
|
+
return [];
|
|
318
|
+
}
|
|
319
|
+
}
|
|
294
320
|
/**
|
|
295
321
|
* Track consecutive failures per delivery to detect systematic issues.
|
|
296
322
|
* After FAILURE_THRESHOLD consecutive failures, log at ERROR level.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliveries.js","sourceRoot":"","sources":["../../src/queries/deliveries.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAEL,6BAA6B,EAC7B,6BAA6B,EAC7B,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,EAC3B,qCAAqC,GACtC,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;AAM7D,MAAM,wBAAwB,GAAG,eAAe,CAAwB;IACtE,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,aAAa;IAC1B,eAAe,EAAE,gBAAgB;IACjC,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,UAAU;IACrB,IAAI,EAAE,EAAE,KAAK,EAAE,UAAmB,EAAE;IACpC,sBAAsB,EAAE,qBAAqB;IAC7C,iBAAiB,EAAE,iBAAiB;IACpC,YAAY,EAAE,aAAa;CAC5B,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,eAAuB,EAAE,SAAkB;IAOlF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,6BAA6B,EAC7B,6BAA6B,EAC7B,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAC/B,CAAC;IAEF,iEAAiE;IACjE,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,WAAW,EAAE,CAAC,CAAC,UAAU;QACzB,aAAa,EAAE,CAAC,CAAC,YAAY;QAC7B,UAAU,EAAE,CAAC,CAAC,SAAS;QACvB,sBAAsB,EAAE,CAAC,CAAC,mBAAmB;QAC7C,eAAe,EAAE,CAAC,CAAC,aAAa;KACjC,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IACzD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,6BAA6B,EAC7B,6BAA6B,EAC7B,EAAE,UAAU,EAAE,CACf,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAmF,CAAC;QAC3G,OAAO;YACL,GAAG,OAAO;YACV,QAAQ,EAAE,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC5D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;
|
|
1
|
+
{"version":3,"file":"deliveries.js","sourceRoot":"","sources":["../../src/queries/deliveries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shape of `org_nodes.gate_state` on a delivery row, plus the per-origin
|
|
3
|
+
* detail records that hang off it.
|
|
4
|
+
*
|
|
5
|
+
* Split out of `queries/deliveries.ts` (which holds the API calls) because these
|
|
6
|
+
* are the vocabulary of the verify gate, not of any one query: the verification
|
|
7
|
+
* engine, the feedback/re-work path, the operator- and external-hold gates, and
|
|
8
|
+
* the stall detectors all read and write them. Keeping them here lets those
|
|
9
|
+
* modules depend on the gate's vocabulary without pulling in the query layer.
|
|
10
|
+
*
|
|
11
|
+
* The one rule that shapes every type below: each way the gate can hold a
|
|
12
|
+
* delivery gets its OWN key. A shell-command failure (`verification`), a
|
|
13
|
+
* declared-vs-achieved gap (`shortfallReconciliation`), an unvouchable evidence
|
|
14
|
+
* bundle (`evidenceUnavailable`), an operator hold, and an external dependency
|
|
15
|
+
* are distinct facts about distinct things, and a reader must be able to tell
|
|
16
|
+
* "the gate was blind" from "the work fell short" without inspecting fields.
|
|
17
|
+
*
|
|
18
|
+
* Re-exported from `queries/deliveries.ts`, so both import paths resolve.
|
|
19
|
+
*
|
|
20
|
+
* @module queries/delivery-gate-state
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Detail attached to gate_state when a daemon-side deterministic verification
|
|
24
|
+
* run fails. Carries the failing-test names (parsed from the run output) and a
|
|
25
|
+
* pointer to the persistent full-log file so the feedback loop -- dashboard
|
|
26
|
+
* "Waiting on", live-session inject, and the requeue/respawn prompt -- can
|
|
27
|
+
* surface WHAT failed and WHERE to read it, without a cold re-run.
|
|
28
|
+
*/
|
|
29
|
+
export interface VerificationFailureDetail {
|
|
30
|
+
/**
|
|
31
|
+
* Failing-test ids that GATE this delivery. When baseline-diff attribution ran,
|
|
32
|
+
* these are the NEW failures the focus introduced; otherwise all parsed failures.
|
|
33
|
+
*/
|
|
34
|
+
failingTests: string[];
|
|
35
|
+
/**
|
|
36
|
+
* Failing tests that pre-exist on the focus base -- recorded, non-blocking
|
|
37
|
+
* (they do not gate the focus). Absent when attribution did not run.
|
|
38
|
+
*/
|
|
39
|
+
preExisting?: string[];
|
|
40
|
+
/** Absolute path to the persistent full-log file, or null when none was written. */
|
|
41
|
+
logPath: string | null;
|
|
42
|
+
/** Process exit code of the failed run, or null. */
|
|
43
|
+
exitCode: number | null;
|
|
44
|
+
/** ISO timestamp of the failing run. */
|
|
45
|
+
failedAt: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Detail attached to gate_state when the verify-shortfall RECONCILIATION (not a
|
|
49
|
+
* deterministic shell run) holds the flip: the achieved outcome fell short of
|
|
50
|
+
* the declared desired effect for one or more targeted nodes. Distinct from
|
|
51
|
+
* VerificationFailureDetail on purpose -- a shortfall hold has no exitCode /
|
|
52
|
+
* failingTests (the deterministic check may well have passed), it has a
|
|
53
|
+
* declared-vs-achieved gap. Keeping it under its own key prevents a reader from
|
|
54
|
+
* seeing a passed:false deterministic_verification whose exitCode is 0.
|
|
55
|
+
*/
|
|
56
|
+
export interface ShortfallReconciliationDetail {
|
|
57
|
+
/** ISO timestamp of the reconciliation that held the gate. */
|
|
58
|
+
heldAt: string;
|
|
59
|
+
/** The per-target declared/achieved/reason gaps that withheld the flip. */
|
|
60
|
+
shortfalls: Array<{
|
|
61
|
+
nodeId: string;
|
|
62
|
+
declared: string;
|
|
63
|
+
achieved: string;
|
|
64
|
+
reason: string;
|
|
65
|
+
/** The diff evidence grounding the shortfall, when the judge cited one. */
|
|
66
|
+
diffCitation?: string;
|
|
67
|
+
}>;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Detail attached to gate_state when the verify path could NOT vouch for the
|
|
71
|
+
* evidence it was handed -- an INSTRUMENT FAULT, not a verdict about the work.
|
|
72
|
+
* Two flavours, both BLIND:
|
|
73
|
+
* - EMPTY : no diff / changed-files / inspection finding at all.
|
|
74
|
+
* - INCOMPLETE (half-blind): a non-empty bundle whose resolved diff range does
|
|
75
|
+
* NOT cover the delivery's recorded commit set, so a verdict would judge the
|
|
76
|
+
* work against only part of it. `coverage` is populated in this case.
|
|
77
|
+
* Distinct from VerificationFailureDetail (a shell command failed) and from
|
|
78
|
+
* ShortfallReconciliationDetail (the work fell short of intent): here the
|
|
79
|
+
* reconciliation cannot see the whole delivery, so it must not render any
|
|
80
|
+
* verdict. The delivery is held in `verify` (never routed to verify_failed, so
|
|
81
|
+
* no iteration is consumed) and a first-occurrence escalation names the fault.
|
|
82
|
+
*/
|
|
83
|
+
export interface EvidenceUnavailableDetail {
|
|
84
|
+
/** ISO timestamp the instrument-fault hold was recorded. */
|
|
85
|
+
heldAt: string;
|
|
86
|
+
/** Which evidence slots were empty (named, so the hold describes the fault, not the work). */
|
|
87
|
+
missing: string[];
|
|
88
|
+
/**
|
|
89
|
+
* Commits the delivery branch is ahead of the integration base. 0 => the
|
|
90
|
+
* branch already merged / did no work; > 0 => a broken diff MEASUREMENT
|
|
91
|
+
* (commits present but the diff resolved empty). Carried for operator triage.
|
|
92
|
+
*/
|
|
93
|
+
commitsAhead: number;
|
|
94
|
+
/**
|
|
95
|
+
* Populated for a HALF-BLIND (incomplete) hold: the resolved range covered
|
|
96
|
+
* only `covered` of the delivery's `recorded` commits. Absent for a plain
|
|
97
|
+
* empty-bundle hold, so the empty case is byte-unchanged.
|
|
98
|
+
*/
|
|
99
|
+
coverage?: {
|
|
100
|
+
/** How many commits the durable record (focus_merges.commit_shas) names. */
|
|
101
|
+
recorded: number;
|
|
102
|
+
/** How many of those the resolved diff range actually covered. */
|
|
103
|
+
covered: number;
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Shape written into product_deliveries.gate_state when guard evaluation
|
|
108
|
+
* blocks a stage transition. Cleared (set to null) when guards pass.
|
|
109
|
+
*
|
|
110
|
+
* `verification` is populated when the block is a daemon-side deterministic
|
|
111
|
+
* verification failure (Harness-Owned Delivery Verification), carrying the
|
|
112
|
+
* failing tests + log path for the feedback loop; absent for guard-only gates.
|
|
113
|
+
*
|
|
114
|
+
* `shortfallReconciliation` is populated when the block is a verify-shortfall
|
|
115
|
+
* reconciliation hold (declared-vs-achieved gap), NOT a deterministic run; the
|
|
116
|
+
* two are mutually exclusive origins and never share the deterministic guard.
|
|
117
|
+
*/
|
|
118
|
+
export interface DeliveryGateState {
|
|
119
|
+
blocking: Array<{
|
|
120
|
+
guardName: string;
|
|
121
|
+
passed: boolean;
|
|
122
|
+
}>;
|
|
123
|
+
warnings: Array<{
|
|
124
|
+
guardName: string;
|
|
125
|
+
passed: boolean;
|
|
126
|
+
}>;
|
|
127
|
+
evaluatedAt: string;
|
|
128
|
+
verification?: VerificationFailureDetail;
|
|
129
|
+
shortfallReconciliation?: ShortfallReconciliationDetail;
|
|
130
|
+
/**
|
|
131
|
+
* Populated when the verify path was handed no evidence it could judge the
|
|
132
|
+
* work against (an instrument fault). Kept under its own key -- never
|
|
133
|
+
* conflated with `verification` (a shell failure) or `shortfallReconciliation`
|
|
134
|
+
* (a work shortfall) -- so a reader can tell "the gate was blind" from "the
|
|
135
|
+
* work fell short". The blocking guard is `verify_evidence_unavailable`.
|
|
136
|
+
*/
|
|
137
|
+
evidenceUnavailable?: EvidenceUnavailableDetail;
|
|
138
|
+
/**
|
|
139
|
+
* Undisposed shortfall drift proposal ids holding this delivery in verify.
|
|
140
|
+
*
|
|
141
|
+
* Kept OUT of `blocking` on purpose: that array is guard-verdict data
|
|
142
|
+
* (guardName + passed), and a shortfall hold is not a guard. Synthesizing a
|
|
143
|
+
* fake guardName to smuggle the ids through would make `blocking` lie about
|
|
144
|
+
* what a guard is. `formatGateBlockers` is the single place that merges the
|
|
145
|
+
* two for display.
|
|
146
|
+
*
|
|
147
|
+
* Absent for guard-only gates. Written by the review-exit shortfall hold and
|
|
148
|
+
* cleared, like the rest of gate_state, when the delivery finally routes.
|
|
149
|
+
*/
|
|
150
|
+
shortfallProposalIds?: string[];
|
|
151
|
+
/**
|
|
152
|
+
* The open operator-blocked escalation (disposition needs_operator /
|
|
153
|
+
* external_wait, any kind) holding this delivery in verify. Written by the
|
|
154
|
+
* operator-hold gate (operator-hold.ts) so the board can name what the
|
|
155
|
+
* delivery is waiting on without a second escalation being filed; cleared,
|
|
156
|
+
* like the rest of gate_state, when the delivery finally routes. When the hold
|
|
157
|
+
* read itself failed (fail-closed), escalationId is null and readFailed is
|
|
158
|
+
* true -- the delivery is still held, just without a specific escalation to
|
|
159
|
+
* name. Like shortfallProposalIds, kept OUT of `blocking` (a hold is not a
|
|
160
|
+
* guard verdict).
|
|
161
|
+
*/
|
|
162
|
+
operatorHold?: {
|
|
163
|
+
escalationId: string | null;
|
|
164
|
+
escalationKind: string | null;
|
|
165
|
+
disposition: string | null;
|
|
166
|
+
readFailed?: boolean;
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* An irreducibly-external dependency holding this delivery in verify, carried
|
|
170
|
+
* as durable STATE rather than an agent_escalations row (external-hold.ts).
|
|
171
|
+
* The blocking condition and what would clear it live here, attached to the
|
|
172
|
+
* delivery they block; the hold clears by re-evaluating that condition (a
|
|
173
|
+
* re-read of reality), not by a human resolving an inbox item. Kept OUT of
|
|
174
|
+
* `blocking` for the same reason as operatorHold/shortfallProposalIds: a hold
|
|
175
|
+
* is not a guard verdict. Cleared, like the rest of gate_state, when the
|
|
176
|
+
* delivery finally routes.
|
|
177
|
+
*/
|
|
178
|
+
externalHold?: ExternalHoldState;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* The durable external-hold state on a delivery's gate_state. Distinct from an
|
|
182
|
+
* agent_escalations row: an external dependency is state, not an inbox event.
|
|
183
|
+
*/
|
|
184
|
+
export interface ExternalHoldState {
|
|
185
|
+
/** What is blocking -- the irreducibly-external dependency. */
|
|
186
|
+
condition: string;
|
|
187
|
+
/** The condition that, when re-read as true, clears the hold. */
|
|
188
|
+
clearsWhen: string;
|
|
189
|
+
/** ISO timestamp the hold was declared. */
|
|
190
|
+
declaredAt: string;
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=delivery-gate-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-gate-state.d.ts","sourceRoot":"","sources":["../../src/queries/delivery-gate-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,oFAAoF;IACpF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,6BAA6B;IAC5C,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,UAAU,EAAE,KAAK,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,2EAA2E;QAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;CACJ;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,yBAAyB;IACxC,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,8FAA8F;IAC9F,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QACT,4EAA4E;QAC5E,QAAQ,EAAE,MAAM,CAAC;QACjB,kEAAkE;QAClE,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACxD,QAAQ,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,yBAAyB,CAAC;IACzC,uBAAuB,CAAC,EAAE,6BAA6B,CAAC;IACxD;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IAChD;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EAAE;QACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;IACF;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shape of `org_nodes.gate_state` on a delivery row, plus the per-origin
|
|
3
|
+
* detail records that hang off it.
|
|
4
|
+
*
|
|
5
|
+
* Split out of `queries/deliveries.ts` (which holds the API calls) because these
|
|
6
|
+
* are the vocabulary of the verify gate, not of any one query: the verification
|
|
7
|
+
* engine, the feedback/re-work path, the operator- and external-hold gates, and
|
|
8
|
+
* the stall detectors all read and write them. Keeping them here lets those
|
|
9
|
+
* modules depend on the gate's vocabulary without pulling in the query layer.
|
|
10
|
+
*
|
|
11
|
+
* The one rule that shapes every type below: each way the gate can hold a
|
|
12
|
+
* delivery gets its OWN key. A shell-command failure (`verification`), a
|
|
13
|
+
* declared-vs-achieved gap (`shortfallReconciliation`), an unvouchable evidence
|
|
14
|
+
* bundle (`evidenceUnavailable`), an operator hold, and an external dependency
|
|
15
|
+
* are distinct facts about distinct things, and a reader must be able to tell
|
|
16
|
+
* "the gate was blind" from "the work fell short" without inspecting fields.
|
|
17
|
+
*
|
|
18
|
+
* Re-exported from `queries/deliveries.ts`, so both import paths resolve.
|
|
19
|
+
*
|
|
20
|
+
* @module queries/delivery-gate-state
|
|
21
|
+
*/
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=delivery-gate-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-gate-state.js","sourceRoot":"","sources":["../../src/queries/delivery-gate-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG"}
|