@telora/daemon 0.22.91 → 0.22.104
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/cli/verify-setup-config.d.ts +4 -3
- package/dist/cli/verify-setup-config.d.ts.map +1 -1
- package/dist/cli/verify-setup-config.js.map +1 -1
- package/dist/completion/event-phases.js +5 -5
- package/dist/completion/event-phases.js.map +1 -1
- package/dist/completion/event.d.ts +7 -0
- package/dist/completion/event.d.ts.map +1 -1
- package/dist/completion/event.js.map +1 -1
- package/dist/completion/review-exit-phase.d.ts.map +1 -1
- package/dist/completion/review-exit-phase.js +2 -1
- package/dist/completion/review-exit-phase.js.map +1 -1
- package/dist/delivery/external-hold.js +1 -1
- package/dist/delivery/external-hold.js.map +1 -1
- package/dist/delivery/operator-hold.d.ts +14 -0
- package/dist/delivery/operator-hold.d.ts.map +1 -1
- package/dist/delivery/operator-hold.js +31 -1
- package/dist/delivery/operator-hold.js.map +1 -1
- package/dist/directive/directive-dispatch.js +2 -2
- package/dist/directive/directive-dispatch.js.map +1 -1
- package/dist/directive/directive-executor.d.ts.map +1 -1
- package/dist/directive/directive-executor.js +2 -1
- package/dist/directive/directive-executor.js.map +1 -1
- package/dist/directive/directive-verify-hold-gate.d.ts +32 -8
- package/dist/directive/directive-verify-hold-gate.d.ts.map +1 -1
- package/dist/directive/directive-verify-hold-gate.js +20 -21
- package/dist/directive/directive-verify-hold-gate.js.map +1 -1
- package/dist/focus/focus-engine.d.ts.map +1 -1
- package/dist/focus/focus-engine.js +6 -9
- package/dist/focus/focus-engine.js.map +1 -1
- package/dist/focus/listener-spawn.d.ts +31 -0
- package/dist/focus/listener-spawn.d.ts.map +1 -1
- package/dist/focus/listener-spawn.js +44 -22
- package/dist/focus/listener-spawn.js.map +1 -1
- package/dist/focus/listener.d.ts.map +1 -1
- package/dist/focus/listener.js +4 -0
- package/dist/focus/listener.js.map +1 -1
- package/dist/focus/team-actionable-work.d.ts +76 -20
- package/dist/focus/team-actionable-work.d.ts.map +1 -1
- package/dist/focus/team-actionable-work.js +85 -20
- package/dist/focus/team-actionable-work.js.map +1 -1
- package/dist/git/exec.d.ts.map +1 -1
- package/dist/git/exec.js +2 -1
- package/dist/git/exec.js.map +1 -1
- package/dist/nexus/incoming.js +1 -1
- package/dist/nexus/incoming.js.map +1 -1
- package/dist/nexus/pending-returns.d.ts +124 -0
- package/dist/nexus/pending-returns.d.ts.map +1 -0
- package/dist/nexus/pending-returns.js +194 -0
- package/dist/nexus/pending-returns.js.map +1 -0
- package/dist/nexus/return-routing.d.ts +89 -0
- package/dist/nexus/return-routing.d.ts.map +1 -0
- package/dist/nexus/return-routing.js +148 -0
- package/dist/nexus/return-routing.js.map +1 -0
- package/dist/nexus/return.d.ts +66 -89
- package/dist/nexus/return.d.ts.map +1 -1
- package/dist/nexus/return.js +116 -279
- package/dist/nexus/return.js.map +1 -1
- package/dist/prompt/focus-prompt-builder.d.ts.map +1 -1
- package/dist/prompt/focus-prompt-builder.js +1 -0
- package/dist/prompt/focus-prompt-builder.js.map +1 -1
- package/dist/queries/delivery-gate-state.d.ts +31 -0
- package/dist/queries/delivery-gate-state.d.ts.map +1 -1
- package/dist/queries/delivery-gate-state.js +31 -4
- package/dist/queries/delivery-gate-state.js.map +1 -1
- package/dist/queries/focus-discovery.d.ts +7 -1
- package/dist/queries/focus-discovery.d.ts.map +1 -1
- package/dist/queries/focus-discovery.js +9 -3
- package/dist/queries/focus-discovery.js.map +1 -1
- package/dist/queries/requests.d.ts +51 -3
- package/dist/queries/requests.d.ts.map +1 -1
- package/dist/queries/requests.js +63 -10
- package/dist/queries/requests.js.map +1 -1
- package/dist/queries/shared.js +1 -1
- package/dist/queries/verification.d.ts +15 -0
- package/dist/queries/verification.d.ts.map +1 -1
- package/dist/queries/verification.js +2 -0
- package/dist/queries/verification.js.map +1 -1
- package/dist/shell/config.d.ts.map +1 -1
- package/dist/shell/config.js +10 -9
- package/dist/shell/config.js.map +1 -1
- package/dist/shell/unified-shell-status.d.ts +6 -0
- package/dist/shell/unified-shell-status.d.ts.map +1 -1
- package/dist/shell/unified-shell-status.js +9 -2
- package/dist/shell/unified-shell-status.js.map +1 -1
- package/dist/spawn/prompt-assembly.js +1 -1
- package/dist/spawn/prompt-assembly.js.map +1 -1
- package/dist/spawn/respawn-cycle-escalation.d.ts.map +1 -1
- package/dist/spawn/respawn-cycle-escalation.js +11 -3
- package/dist/spawn/respawn-cycle-escalation.js.map +1 -1
- package/dist/spawn/review-hold-park.d.ts +31 -0
- package/dist/spawn/review-hold-park.d.ts.map +1 -0
- package/dist/spawn/review-hold-park.js +120 -0
- package/dist/spawn/review-hold-park.js.map +1 -0
- package/dist/spawn/spawn-cooldown.d.ts +27 -4
- package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
- package/dist/spawn/spawn-cooldown.js +88 -3
- package/dist/spawn/spawn-cooldown.js.map +1 -1
- package/dist/spawn/spawn-decision.d.ts.map +1 -1
- package/dist/spawn/spawn-decision.js +6 -0
- package/dist/spawn/spawn-decision.js.map +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/types/config.d.ts +9 -6
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/update/auto-update-idle.d.ts.map +1 -1
- package/dist/update/auto-update-idle.js +2 -1
- package/dist/update/auto-update-idle.js.map +1 -1
- package/dist/verify/failure-signature.d.ts.map +1 -1
- package/dist/verify/failure-signature.js +1 -0
- package/dist/verify/failure-signature.js.map +1 -1
- package/dist/verify/verification-baseline.d.ts +63 -16
- package/dist/verify/verification-baseline.d.ts.map +1 -1
- package/dist/verify/verification-baseline.js +74 -34
- package/dist/verify/verification-baseline.js.map +1 -1
- package/dist/verify/verification-checkout.d.ts +71 -0
- package/dist/verify/verification-checkout.d.ts.map +1 -0
- package/dist/verify/verification-checkout.js +353 -0
- package/dist/verify/verification-checkout.js.map +1 -0
- package/dist/verify/verification-config.d.ts +76 -0
- package/dist/verify/verification-config.d.ts.map +1 -1
- package/dist/verify/verification-config.js +100 -12
- package/dist/verify/verification-config.js.map +1 -1
- package/dist/verify/verification-default-on.d.ts +102 -11
- package/dist/verify/verification-default-on.d.ts.map +1 -1
- package/dist/verify/verification-default-on.js +252 -16
- package/dist/verify/verification-default-on.js.map +1 -1
- package/dist/verify/verification-deps-default.js +1 -1
- package/dist/verify/verification-deps-default.js.map +1 -1
- package/dist/verify/verification-deps.d.ts +28 -3
- package/dist/verify/verification-deps.d.ts.map +1 -1
- package/dist/verify/verification-deterministic.d.ts +63 -1
- package/dist/verify/verification-deterministic.d.ts.map +1 -1
- package/dist/verify/verification-deterministic.js +38 -29
- package/dist/verify/verification-deterministic.js.map +1 -1
- package/dist/verify/verification-engine.d.ts.map +1 -1
- package/dist/verify/verification-engine.js +20 -20
- package/dist/verify/verification-engine.js.map +1 -1
- package/dist/verify/verification-evidence-unavailable-feedback.d.ts.map +1 -1
- package/dist/verify/verification-evidence-unavailable-feedback.js +6 -1
- package/dist/verify/verification-evidence-unavailable-feedback.js.map +1 -1
- package/dist/verify/verification-feedback.d.ts +3 -0
- package/dist/verify/verification-feedback.d.ts.map +1 -1
- package/dist/verify/verification-feedback.js +5 -2
- package/dist/verify/verification-feedback.js.map +1 -1
- package/dist/verify/verification-manifest.d.ts.map +1 -1
- package/dist/verify/verification-manifest.js +1 -0
- package/dist/verify/verification-manifest.js.map +1 -1
- package/dist/verify/verification-timeout-fault.d.ts +147 -0
- package/dist/verify/verification-timeout-fault.d.ts.map +1 -0
- package/dist/verify/verification-timeout-fault.js +211 -0
- package/dist/verify/verification-timeout-fault.js.map +1 -0
- package/dist/verify/verify-gate-stall.d.ts +5 -1
- package/dist/verify/verify-gate-stall.d.ts.map +1 -1
- package/dist/verify/verify-gate-stall.js +10 -1
- package/dist/verify/verify-gate-stall.js.map +1 -1
- package/dist/worktree/verify-interlock.d.ts +9 -1
- package/dist/worktree/verify-interlock.d.ts.map +1 -1
- package/dist/worktree/verify-interlock.js +40 -3
- package/dist/worktree/verify-interlock.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-baseline.js","sourceRoot":"","sources":["../../src/verify/verification-baseline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verification-baseline.js","sourceRoot":"","sources":["../../src/verify/verification-baseline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { PendingVerification } from '../queries/verification.js';
|
|
2
|
+
import { type StrategyResult } from './verification-deterministic.js';
|
|
3
|
+
import type { VerificationDeps } from './verification-deps.js';
|
|
4
|
+
import { type AppliedVerificationConfig } from './verification-config.js';
|
|
5
|
+
import { type VerifyManifestReader } from './verification-manifest.js';
|
|
6
|
+
/** A detached checkout of one commit, owned by the verify that made it. */
|
|
7
|
+
export interface VerifyCheckout {
|
|
8
|
+
/** Absolute checkout path the verify command runs in. */
|
|
9
|
+
path: string;
|
|
10
|
+
/** The commit the checkout holds -- the sha the verdict is about. */
|
|
11
|
+
sha: string;
|
|
12
|
+
/** True when an install moved the linked dependency trees since the checkout was made. */
|
|
13
|
+
dependenciesMoved: () => boolean;
|
|
14
|
+
/** Remove the checkout (links unlinked, never followed) and its git registration. Idempotent. */
|
|
15
|
+
dispose: () => void;
|
|
16
|
+
}
|
|
17
|
+
/** Git result slice the checkout reads (structural over runGitSync). */
|
|
18
|
+
type GitRun = (args: string[], cwd: string) => {
|
|
19
|
+
success: boolean;
|
|
20
|
+
output: string;
|
|
21
|
+
error?: string;
|
|
22
|
+
};
|
|
23
|
+
/** Injectable seams (tests point the root at a temp dir). */
|
|
24
|
+
export interface VerifyCheckoutDeps {
|
|
25
|
+
runGit?: GitRun;
|
|
26
|
+
/** Parent directory checkouts are created under. */
|
|
27
|
+
checkoutRoot?: () => string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Repo-relative ignored node_modules dirs of the focus worktree (never one nested
|
|
31
|
+
* inside another node_modules). `--directory` keeps git from walking into a
|
|
32
|
+
* wholly-ignored tree. Build output is deliberately not listed (module doc).
|
|
33
|
+
*/
|
|
34
|
+
export declare function listMirroredDirs(focusWorktreePath: string, runGit?: GitRun): string[];
|
|
35
|
+
/**
|
|
36
|
+
* Create a detached checkout of the focus worktree's HEAD for one verify run.
|
|
37
|
+
* `checkoutKey` names the checkout directory (the delivery id -- a delivery
|
|
38
|
+
* never verifies twice at once, so concurrent verifies never share a path). A
|
|
39
|
+
* leftover from a crashed run at the same path is removed first. Returns null
|
|
40
|
+
* when HEAD cannot be read or the checkout cannot be created.
|
|
41
|
+
*/
|
|
42
|
+
export declare function createVerifyCheckout(focusWorktreePath: string, checkoutKey: string, deps?: VerifyCheckoutDeps): VerifyCheckout | null;
|
|
43
|
+
/** The deps slice {@link runDeterministicAtFixedCommit} reads. */
|
|
44
|
+
export type FixedCommitVerifyDeps = Pick<VerificationDeps, 'runDeterministic' | 'resolveCwd' | 'resolveVerificationCwd' | 'resolveRecordedPreMergeRef' | 'resolveRecordedCommitShas' | 'resolveRunVerificationConfig'> & {
|
|
45
|
+
/** The focus worktree a delivery's verify judges; null when the focus has none. */
|
|
46
|
+
resolveFocusWorktreePath?: (v: PendingVerification) => string | null;
|
|
47
|
+
createVerifyCheckout?: (focusWorktreePath: string, checkoutKey: string) => VerifyCheckout | null;
|
|
48
|
+
};
|
|
49
|
+
/** Resolves a default-on run's command + timeout from the code at `runPath`. */
|
|
50
|
+
export type RunVerificationConfigResolver = (v: PendingVerification, runPath: string) => AppliedVerificationConfig;
|
|
51
|
+
/**
|
|
52
|
+
* The real dispatch-time resolver (module doc): env > the candidate's operator
|
|
53
|
+
* block > the manifest at `runPath` > the repoPath manifest, a fallback that is
|
|
54
|
+
* recorded on the result and warned naming the delivery and both paths. `env` and
|
|
55
|
+
* `readManifest` are injectable so tests never touch process.env.
|
|
56
|
+
*/
|
|
57
|
+
export declare function buildRunVerificationConfigResolver(env?: NodeJS.ProcessEnv, readManifest?: VerifyManifestReader): RunVerificationConfigResolver;
|
|
58
|
+
/**
|
|
59
|
+
* The deterministic strategy: resolve the verify boundary env, then run the
|
|
60
|
+
* configured command against a detached checkout of the focus HEAD (holding the
|
|
61
|
+
* FOCUS worktree's interlock for the judged delivery), stamping the verdict with
|
|
62
|
+
* the sha it judged and the config it applied -- for a default-on candidate,
|
|
63
|
+
* re-resolved from the checkout itself (module doc). A verdict rendered while an
|
|
64
|
+
* install moved the linked dependencies is discarded (pending, retried). A
|
|
65
|
+
* delivery with no focus worktree runs in place, as before, on the config it
|
|
66
|
+
* carries: no team works in the product repo path the fallback cwd names, and
|
|
67
|
+
* that is the path the tick resolved the config against.
|
|
68
|
+
*/
|
|
69
|
+
export declare function runDeterministicAtFixedCommit(deps: FixedCommitVerifyDeps, v: PendingVerification): Promise<StrategyResult>;
|
|
70
|
+
export {};
|
|
71
|
+
//# sourceMappingURL=verification-checkout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-checkout.d.ts","sourceRoot":"","sources":["../../src/verify/verification-checkout.ts"],"names":[],"mappings":"AAkEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAmC,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACvG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAiD,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAMtH,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,0FAA0F;IAC1F,iBAAiB,EAAE,MAAM,OAAO,CAAC;IACjC,iGAAiG;IACjG,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wEAAwE;AACxE,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpG,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAOD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAE,MAAmB,GAAG,MAAM,EAAE,CASjG;AAgGD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,kBAAuB,GAC5B,cAAc,GAAG,IAAI,CAsCvB;AAED,kEAAkE;AAClE,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,gBAAgB,EACd,kBAAkB,GAAG,YAAY,GAAG,wBAAwB,GAAG,4BAA4B,GAAG,2BAA2B,GACzH,8BAA8B,CACjC,GAAG;IACF,mFAAmF;IACnF,wBAAwB,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,MAAM,GAAG,IAAI,CAAC;IACrE,oBAAoB,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI,CAAC;CAClG,CAAC;AAKF,gFAAgF;AAChF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,KAAK,yBAAyB,CAAC;AAEnH;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAChD,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,YAAY,GAAE,oBAAyC,GACtD,6BAA6B,CAY/B;AAgDD;;;;;;;;;;GAUG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,qBAAqB,EAC3B,CAAC,EAAE,mBAAmB,GACrB,OAAO,CAAC,cAAc,CAAC,CAkDzB"}
|
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
+
// Pinned by: packages/daemon/src/verify/verification-checkout.test.ts,
|
|
3
|
+
// packages/daemon/src/verify/verification-run-config-source.test.ts
|
|
4
|
+
// PINNED-BY-END
|
|
5
|
+
/**
|
|
6
|
+
* A deterministic verify judges a FIXED commit, never the live focus worktree.
|
|
7
|
+
*
|
|
8
|
+
* Every delivery of a focus shares one worktree, and the verify hold now
|
|
9
|
+
* withholds only the delivery under verify (focus/team-actionable-work.ts) -- so
|
|
10
|
+
* a coding team can be alive in that worktree, editing and committing a sibling
|
|
11
|
+
* delivery's fix, while a verify runs (f1, 2026-09-13). A verify run IN that
|
|
12
|
+
* worktree would judge a tree the team moved mid-run: a verdict about no commit
|
|
13
|
+
* at all. So the run happens in a detached checkout of the focus HEAD sha taken
|
|
14
|
+
* at dispatch, under the daemon state dir (the same shape as the baseline runner
|
|
15
|
+
* in verification-baseline.ts), and the verdict carries that sha.
|
|
16
|
+
*
|
|
17
|
+
* The verify interlock hold is still acquired on the FOCUS worktree (with the
|
|
18
|
+
* judged delivery id): daemon-authored commits and the coding->verify advance keep
|
|
19
|
+
* deferring exactly as before, so a team alive during a verify tears neither.
|
|
20
|
+
*
|
|
21
|
+
* Environment parity WITHOUT shared mutable state. A fresh checkout has no
|
|
22
|
+
* installed dependencies; the focus worktree resolves them from its own ignored
|
|
23
|
+
* node_modules dirs and by Node's walk-up to ancestor node_modules (the main
|
|
24
|
+
* checkout's, for a worktree nested under it -- often its ONLY real package tree).
|
|
25
|
+
* The checkout rebuilds that resolution as REAL node_modules directories whose
|
|
26
|
+
* package entries are symlinks: the root one merges the worktree's root
|
|
27
|
+
* node_modules with every ancestor node_modules in walk-up order (the first
|
|
28
|
+
* source naming a package wins, as resolution does), and `.bin` / `@scope` dirs
|
|
29
|
+
* merge one level down. Two things are deliberately NOT carried:
|
|
30
|
+
* - dot-entries other than `.bin` (`.vite`, `.cache`, ...): tool caches both
|
|
31
|
+
* sides write, which the verify recreates inside its own directories;
|
|
32
|
+
* - build output (`dist`): it is whatever tree the team last built, not the
|
|
33
|
+
* judged commit, so the gate builds what it needs inside the checkout.
|
|
34
|
+
* So no team write to caches or build output reaches the verify, and no verify
|
|
35
|
+
* write reaches the team. The linked package trees are read, never written; the
|
|
36
|
+
* one way they move is a dependency install, which the checkout DETECTS: a
|
|
37
|
+
* fingerprint of each source's package set and npm's hidden lockfile is taken at
|
|
38
|
+
* setup and re-read after the run, and a verdict rendered while the dependencies
|
|
39
|
+
* moved is discarded as `pending` (re-run next tick). The checkout is removed by
|
|
40
|
+
* lstat-based removal, which unlinks a link and never follows it into its target.
|
|
41
|
+
*
|
|
42
|
+
* Fail-closed: when no checkout can be made the run is NOT performed in the live
|
|
43
|
+
* worktree; it reports `pending` with checkoutUnavailable so the tick retries.
|
|
44
|
+
*
|
|
45
|
+
* The command + timeout come from the COMMIT BEING JUDGED. A default-on
|
|
46
|
+
* candidate's config is provisional: the tick resolved it against the product
|
|
47
|
+
* repoPath (the operator's checkout, which may lag the branch). Once the checkout
|
|
48
|
+
* exists, both are re-resolved from ITS telora.verify.json, so a command or
|
|
49
|
+
* timeout committed on the verified branch applies to that branch's next run
|
|
50
|
+
* with no daemon restart and no edit to the operator's checkout. A checkout that
|
|
51
|
+
* ships no manifest falls back to the repoPath manifest -- recorded on the result
|
|
52
|
+
* (appliedConfig.manifestFallback) and warned, never silent. A MALFORMED checkout
|
|
53
|
+
* manifest fails the run without running the command, and never falls back.
|
|
54
|
+
* Explicit-method rows carry their own config and are never re-resolved; an
|
|
55
|
+
* in-place run (no focus worktree) keeps the tick's values, which were resolved
|
|
56
|
+
* against the very repoPath it runs in.
|
|
57
|
+
*
|
|
58
|
+
* @module verify/verification-checkout
|
|
59
|
+
*/
|
|
60
|
+
import { existsSync, mkdirSync, readdirSync, rmSync, statSync, symlinkSync } from 'node:fs';
|
|
61
|
+
import { basename, dirname, join, resolve } from 'node:path';
|
|
62
|
+
import { resolveGlobalStateDir } from '../shell/daemon-process.js';
|
|
63
|
+
import { runGitSync } from '../git/exec.js';
|
|
64
|
+
import { getFocusWorktree } from '../focus/focus-worktree-state.js';
|
|
65
|
+
import { DEFAULT_VERIFICATION_TIMEOUT_MS } from './verification-deterministic.js';
|
|
66
|
+
import { formatVerifyConfigSource, resolveAppliedVerificationConfig, } from './verification-config.js';
|
|
67
|
+
import { readVerifyManifest, resolveVerifyManifestPath } from './verification-manifest.js';
|
|
68
|
+
import { resolveVerifyBoundaryEnv } from './verification-boundary-env.js';
|
|
69
|
+
import { createLogger } from '../shell/log.js';
|
|
70
|
+
const log = createLogger({ module: 'verification' });
|
|
71
|
+
/** The ignored directory name a checkout rebuilds from the focus worktree. */
|
|
72
|
+
const DEPENDENCY_DIR = 'node_modules';
|
|
73
|
+
const defaultCheckoutRoot = () => resolve(resolveGlobalStateDir(), 'verification-checkout');
|
|
74
|
+
/**
|
|
75
|
+
* Repo-relative ignored node_modules dirs of the focus worktree (never one nested
|
|
76
|
+
* inside another node_modules). `--directory` keeps git from walking into a
|
|
77
|
+
* wholly-ignored tree. Build output is deliberately not listed (module doc).
|
|
78
|
+
*/
|
|
79
|
+
export function listMirroredDirs(focusWorktreePath, runGit = runGitSync) {
|
|
80
|
+
const listed = runGit(['ls-files', '--others', '--ignored', '--exclude-standard', '--directory'], focusWorktreePath);
|
|
81
|
+
if (!listed.success)
|
|
82
|
+
return [];
|
|
83
|
+
return listed.output
|
|
84
|
+
.split('\n')
|
|
85
|
+
.map((line) => line.trim().replace(/\/$/, ''))
|
|
86
|
+
.filter((rel) => rel.length > 0
|
|
87
|
+
&& basename(rel) === DEPENDENCY_DIR
|
|
88
|
+
&& !rel.split('/').slice(0, -1).includes(DEPENDENCY_DIR));
|
|
89
|
+
}
|
|
90
|
+
/** Every node_modules Node's walk-up reaches from `dir` upward, nearest first. */
|
|
91
|
+
function ancestorNodeModules(dir) {
|
|
92
|
+
const found = [];
|
|
93
|
+
let current = resolve(dir);
|
|
94
|
+
for (;;) {
|
|
95
|
+
const candidate = join(current, DEPENDENCY_DIR);
|
|
96
|
+
if (existsSync(candidate))
|
|
97
|
+
found.push(candidate);
|
|
98
|
+
const parent = dirname(current);
|
|
99
|
+
if (parent === current)
|
|
100
|
+
return found;
|
|
101
|
+
current = parent;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/** A directory's entry names, or [] when it cannot be read. */
|
|
105
|
+
function entriesOf(dir) {
|
|
106
|
+
try {
|
|
107
|
+
return readdirSync(dir);
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
return [];
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Build `at` as a REAL directory whose entries link into `sources` (nearest
|
|
115
|
+
* first; the first source naming an entry wins). At the top level a `.bin` or
|
|
116
|
+
* `@scope` entry is merged one level down the same way, and every other
|
|
117
|
+
* dot-entry (a tool cache) is skipped.
|
|
118
|
+
*/
|
|
119
|
+
function buildMergedModulesDir(sources, at, depth = 0) {
|
|
120
|
+
mkdirSync(at, { recursive: true });
|
|
121
|
+
const seen = new Set();
|
|
122
|
+
for (const source of sources) {
|
|
123
|
+
for (const name of entriesOf(source)) {
|
|
124
|
+
if (seen.has(name))
|
|
125
|
+
continue;
|
|
126
|
+
const merged = depth === 0 && (name === '.bin' || name.startsWith('@'));
|
|
127
|
+
if (depth === 0 && name.startsWith('.') && !merged)
|
|
128
|
+
continue;
|
|
129
|
+
seen.add(name);
|
|
130
|
+
if (merged) {
|
|
131
|
+
buildMergedModulesDir(sources.map((s) => join(s, name)), join(at, name), depth + 1);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
symlinkSync(join(source, name), join(at, name));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* A fingerprint of the dependency trees a checkout links into: each source's
|
|
141
|
+
* package set (top-level and `@scope` entry names; tool caches excluded) and
|
|
142
|
+
* npm's hidden lockfile (`.package-lock.json`, rewritten by every install). Equal
|
|
143
|
+
* before and after a run => no install moved the linked packages mid-run.
|
|
144
|
+
*/
|
|
145
|
+
function dependencyFingerprint(sources) {
|
|
146
|
+
return JSON.stringify(sources.map((source) => {
|
|
147
|
+
const names = entriesOf(source).filter((name) => !name.startsWith('.')).sort();
|
|
148
|
+
const scoped = names.filter((name) => name.startsWith('@')).map((name) => [name, entriesOf(join(source, name)).sort()]);
|
|
149
|
+
let lockfile = 'none';
|
|
150
|
+
try {
|
|
151
|
+
const stat = statSync(join(source, '.package-lock.json'));
|
|
152
|
+
lockfile = `${stat.mtimeMs}:${stat.size}`;
|
|
153
|
+
}
|
|
154
|
+
catch { /* no hidden lockfile */ }
|
|
155
|
+
return [source, names, scoped, lockfile];
|
|
156
|
+
}));
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Rebuild the focus worktree's dependency resolution inside the checkout (module
|
|
160
|
+
* doc). Returns every source node_modules the checkout links into.
|
|
161
|
+
*/
|
|
162
|
+
function mirrorDependencyDirs(focusWorktreePath, checkoutPath, runGit) {
|
|
163
|
+
const plans = listMirroredDirs(focusWorktreePath, runGit)
|
|
164
|
+
.filter((rel) => rel !== DEPENDENCY_DIR)
|
|
165
|
+
.map((rel) => ({ rel, sources: [join(focusWorktreePath, rel)] }));
|
|
166
|
+
const ownRoot = join(focusWorktreePath, DEPENDENCY_DIR);
|
|
167
|
+
const rootSources = [...(existsSync(ownRoot) ? [ownRoot] : []), ...ancestorNodeModules(dirname(focusWorktreePath))];
|
|
168
|
+
if (rootSources.length > 0)
|
|
169
|
+
plans.push({ rel: DEPENDENCY_DIR, sources: rootSources });
|
|
170
|
+
for (const plan of plans)
|
|
171
|
+
buildMergedModulesDir(plan.sources, join(checkoutPath, plan.rel));
|
|
172
|
+
return plans.flatMap((plan) => plan.sources);
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Remove a checkout directory and its registration. rmSync removes by lstat, so
|
|
176
|
+
* a linked package entry is unlinked, never followed into its target; `git
|
|
177
|
+
* worktree prune` then drops the registration of the now-missing directory.
|
|
178
|
+
*/
|
|
179
|
+
function removeCheckout(checkoutPath, focusWorktreePath, runGit) {
|
|
180
|
+
try {
|
|
181
|
+
rmSync(checkoutPath, { recursive: true, force: true });
|
|
182
|
+
}
|
|
183
|
+
catch (err) {
|
|
184
|
+
log.warn(`verify checkout removal failed at ${checkoutPath}: ${err.message}`);
|
|
185
|
+
}
|
|
186
|
+
runGit(['worktree', 'prune'], focusWorktreePath);
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Create a detached checkout of the focus worktree's HEAD for one verify run.
|
|
190
|
+
* `checkoutKey` names the checkout directory (the delivery id -- a delivery
|
|
191
|
+
* never verifies twice at once, so concurrent verifies never share a path). A
|
|
192
|
+
* leftover from a crashed run at the same path is removed first. Returns null
|
|
193
|
+
* when HEAD cannot be read or the checkout cannot be created.
|
|
194
|
+
*/
|
|
195
|
+
export function createVerifyCheckout(focusWorktreePath, checkoutKey, deps = {}) {
|
|
196
|
+
const runGit = deps.runGit ?? runGitSync;
|
|
197
|
+
const head = runGit(['rev-parse', 'HEAD'], focusWorktreePath);
|
|
198
|
+
const sha = head.success ? head.output.trim() : '';
|
|
199
|
+
if (sha.length === 0) {
|
|
200
|
+
log.warn(`verify checkout: cannot read HEAD of ${focusWorktreePath}: ${head.error ?? 'empty output'}`);
|
|
201
|
+
return null;
|
|
202
|
+
}
|
|
203
|
+
const root = (deps.checkoutRoot ?? defaultCheckoutRoot)();
|
|
204
|
+
const checkoutPath = resolve(root, checkoutKey.replace(/[^a-zA-Z0-9._-]/g, '_'));
|
|
205
|
+
let sources;
|
|
206
|
+
try {
|
|
207
|
+
mkdirSync(root, { recursive: true });
|
|
208
|
+
if (existsSync(checkoutPath))
|
|
209
|
+
removeCheckout(checkoutPath, focusWorktreePath, runGit);
|
|
210
|
+
const added = runGit(['worktree', 'add', '--detach', checkoutPath, sha], focusWorktreePath);
|
|
211
|
+
if (!added.success) {
|
|
212
|
+
log.warn(`verify checkout: worktree add at ${sha.slice(0, 8)} failed: ${added.error ?? added.output}`);
|
|
213
|
+
removeCheckout(checkoutPath, focusWorktreePath, runGit);
|
|
214
|
+
return null;
|
|
215
|
+
}
|
|
216
|
+
sources = mirrorDependencyDirs(focusWorktreePath, checkoutPath, runGit);
|
|
217
|
+
}
|
|
218
|
+
catch (err) {
|
|
219
|
+
log.warn(`verify checkout: setup failed at ${checkoutPath}: ${err.message}`);
|
|
220
|
+
removeCheckout(checkoutPath, focusWorktreePath, runGit);
|
|
221
|
+
return null;
|
|
222
|
+
}
|
|
223
|
+
const fingerprint = dependencyFingerprint(sources);
|
|
224
|
+
let disposed = false;
|
|
225
|
+
return {
|
|
226
|
+
path: checkoutPath,
|
|
227
|
+
sha,
|
|
228
|
+
dependenciesMoved: () => dependencyFingerprint(sources) !== fingerprint,
|
|
229
|
+
dispose: () => {
|
|
230
|
+
if (disposed)
|
|
231
|
+
return;
|
|
232
|
+
disposed = true;
|
|
233
|
+
removeCheckout(checkoutPath, focusWorktreePath, runGit);
|
|
234
|
+
},
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
const defaultResolveFocusWorktreePath = (v) => (v.focusId ? getFocusWorktree(v.focusId)?.worktreePath ?? null : null);
|
|
238
|
+
/**
|
|
239
|
+
* The real dispatch-time resolver (module doc): env > the candidate's operator
|
|
240
|
+
* block > the manifest at `runPath` > the repoPath manifest, a fallback that is
|
|
241
|
+
* recorded on the result and warned naming the delivery and both paths. `env` and
|
|
242
|
+
* `readManifest` are injectable so tests never touch process.env.
|
|
243
|
+
*/
|
|
244
|
+
export function buildRunVerificationConfigResolver(env = process.env, readManifest = readVerifyManifest) {
|
|
245
|
+
return (v, runPath) => {
|
|
246
|
+
const applied = resolveAppliedVerificationConfig(v.defaultOnSource ?? {}, runPath, env, readManifest);
|
|
247
|
+
if (applied.manifestFallback) {
|
|
248
|
+
log.warn(`verify config: delivery ${v.deliveryId}: the verified checkout ships no manifest at `
|
|
249
|
+
+ `${applied.verifiedManifestPath}; applying the product repoPath manifest at ${applied.manifestPath} `
|
|
250
|
+
+ 'as a recorded fallback');
|
|
251
|
+
}
|
|
252
|
+
return applied;
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
const defaultResolveRunVerificationConfig = buildRunVerificationConfigResolver();
|
|
256
|
+
/**
|
|
257
|
+
* A row's own command + timeout as a run applies them (the strategy default when
|
|
258
|
+
* no timeout is set). The timeout's source is the label stamped on the row at
|
|
259
|
+
* synthesis (a default-on candidate carries the tick's resolved layer); a row
|
|
260
|
+
* with no stamp is an explicit-method row, whose timeout is its own config -- or
|
|
261
|
+
* the typed default when it sets none.
|
|
262
|
+
*/
|
|
263
|
+
function appliedFromRow(cfg) {
|
|
264
|
+
const command = cfg?.command;
|
|
265
|
+
if (typeof command !== 'string' || !cfg)
|
|
266
|
+
return undefined;
|
|
267
|
+
const timeoutMs = typeof cfg.timeoutMs === 'number' && cfg.timeoutMs > 0 ? cfg.timeoutMs : DEFAULT_VERIFICATION_TIMEOUT_MS;
|
|
268
|
+
const timeoutSource = typeof cfg.timeoutSource === 'string'
|
|
269
|
+
? cfg.timeoutSource
|
|
270
|
+
: formatVerifyConfigSource(timeoutMs === cfg.timeoutMs ? { layer: 'delivery' } : { layer: 'default' });
|
|
271
|
+
return { command, timeoutMs, timeoutSource };
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Choose what a checkout run applies. A DEFAULT-ON candidate is re-resolved from
|
|
275
|
+
* the checkout's own manifest; an explicit-method row applies the config it
|
|
276
|
+
* carries, unchanged. A resolution that throws (a malformed manifest in the
|
|
277
|
+
* verified code) yields the rationale instead, logged at ERROR: no fallback.
|
|
278
|
+
* The re-resolved run config carries the timeout's source label so a timeout
|
|
279
|
+
* rationale can name the layer it was read from.
|
|
280
|
+
*/
|
|
281
|
+
function chooseCheckoutRunConfig(deps, v, checkoutPath) {
|
|
282
|
+
if (!v.defaultOnSource)
|
|
283
|
+
return { runConfig: v.verificationConfig, appliedConfig: appliedFromRow(v.verificationConfig) };
|
|
284
|
+
try {
|
|
285
|
+
const appliedConfig = (deps.resolveRunVerificationConfig ?? defaultResolveRunVerificationConfig)(v, checkoutPath);
|
|
286
|
+
const { command, timeoutMs, timeoutSource } = appliedConfig;
|
|
287
|
+
return { runConfig: { command, timeoutMs, timeoutSource }, appliedConfig };
|
|
288
|
+
}
|
|
289
|
+
catch (err) {
|
|
290
|
+
const unresolvable = `verify config unresolvable from the verified checkout (manifest ${resolveVerifyManifestPath(checkoutPath)}): `
|
|
291
|
+
+ `${err.message} -- the command was not run, and no other checkout's manifest is substituted`;
|
|
292
|
+
log.error(`verify config: delivery ${v.deliveryId}: ${unresolvable}`);
|
|
293
|
+
return { unresolvable };
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* The deterministic strategy: resolve the verify boundary env, then run the
|
|
298
|
+
* configured command against a detached checkout of the focus HEAD (holding the
|
|
299
|
+
* FOCUS worktree's interlock for the judged delivery), stamping the verdict with
|
|
300
|
+
* the sha it judged and the config it applied -- for a default-on candidate,
|
|
301
|
+
* re-resolved from the checkout itself (module doc). A verdict rendered while an
|
|
302
|
+
* install moved the linked dependencies is discarded (pending, retried). A
|
|
303
|
+
* delivery with no focus worktree runs in place, as before, on the config it
|
|
304
|
+
* carries: no team works in the product repo path the fallback cwd names, and
|
|
305
|
+
* that is the path the tick resolved the config against.
|
|
306
|
+
*/
|
|
307
|
+
export async function runDeterministicAtFixedCommit(deps, v) {
|
|
308
|
+
// Hoist the boundary resolution BEFORE the run so the command's targeted-test
|
|
309
|
+
// selector diffs against the delivery's recorded pre-merge boundary.
|
|
310
|
+
const extraEnv = await resolveVerifyBoundaryEnv(deps, v);
|
|
311
|
+
const logContext = { deliveryId: v.deliveryId, startedAtMs: Date.now() };
|
|
312
|
+
const focusWorktreePath = (deps.resolveFocusWorktreePath ?? defaultResolveFocusWorktreePath)(v);
|
|
313
|
+
if (focusWorktreePath === null) {
|
|
314
|
+
const cwd = (deps.resolveVerificationCwd ?? ((pv) => deps.resolveCwd(pv.productId)))(v);
|
|
315
|
+
const appliedConfig = appliedFromRow(v.verificationConfig);
|
|
316
|
+
const inPlace = await deps.runDeterministic(v.verificationConfig, cwd, logContext, extraEnv);
|
|
317
|
+
return appliedConfig ? { ...inPlace, appliedConfig } : inPlace;
|
|
318
|
+
}
|
|
319
|
+
const checkout = (deps.createVerifyCheckout ?? createVerifyCheckout)(focusWorktreePath, v.deliveryId);
|
|
320
|
+
if (!checkout) {
|
|
321
|
+
return {
|
|
322
|
+
outcome: 'pending',
|
|
323
|
+
rationale: 'verify checkout unavailable: no detached checkout of the focus HEAD could be made; '
|
|
324
|
+
+ 'the verify is not run in the live focus worktree (a team may be moving it) -- retried next tick',
|
|
325
|
+
checkoutUnavailable: true,
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
try {
|
|
329
|
+
const chosen = chooseCheckoutRunConfig(deps, v, checkout.path);
|
|
330
|
+
if ('unresolvable' in chosen) {
|
|
331
|
+
return { outcome: 'failed', rationale: chosen.unresolvable, verifiedSha: checkout.sha, configUnresolved: true };
|
|
332
|
+
}
|
|
333
|
+
const result = await deps.runDeterministic(chosen.runConfig, checkout.path, logContext, extraEnv, { worktreePath: focusWorktreePath, deliveryId: v.deliveryId });
|
|
334
|
+
if (checkout.dependenciesMoved()) {
|
|
335
|
+
log.warn(`verify checkout: dependencies moved during the run for delivery ${v.deliveryId}; verdict discarded`);
|
|
336
|
+
return {
|
|
337
|
+
outcome: 'pending',
|
|
338
|
+
rationale: 'verify discarded: a dependency install moved the node_modules trees the checkout links into '
|
|
339
|
+
+ 'while the run was in flight, so the verdict judged no fixed environment -- retried next tick',
|
|
340
|
+
checkoutUnavailable: true,
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
return {
|
|
344
|
+
...result,
|
|
345
|
+
verifiedSha: checkout.sha,
|
|
346
|
+
...(chosen.appliedConfig ? { appliedConfig: chosen.appliedConfig } : {}),
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
finally {
|
|
350
|
+
checkout.dispose();
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
//# sourceMappingURL=verification-checkout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-checkout.js","sourceRoot":"","sources":["../../src/verify/verification-checkout.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,22 @@
|
|
|
18
18
|
* cli/verify-setup.ts:218 writes to ~/.telora/daemon.json), so without it no PR
|
|
19
19
|
* could arm the gate and a fresh clone was ungated by construction.
|
|
20
20
|
*
|
|
21
|
+
* WHERE the manifest layer is read. The verification tick resolves once per
|
|
22
|
+
* product against `repoPath` -- the operator's checkout -- and that resolution
|
|
23
|
+
* owns the posture and the daemon-wide concurrency cap, and arms the default-on
|
|
24
|
+
* gate for every delivery when it resolves a command. When it resolves none, a
|
|
25
|
+
* delivery is still armed by the manifest its own judged commit ships
|
|
26
|
+
* (verify/verification-default-on.ts), unless the operator declined. The
|
|
27
|
+
* command + timeout a run APPLIES are re-resolved at
|
|
28
|
+
* dispatch against the code under verification, the detached checkout of the
|
|
29
|
+
* focus HEAD (resolveAppliedVerificationConfig, called from
|
|
30
|
+
* verify/verification-checkout.ts). Taking them from repoPath made a command or
|
|
31
|
+
* timeout committed on the verified branch inert until it reached the operator's
|
|
32
|
+
* checkout: full-suite runs were killed at a stale repoPath timeout while the
|
|
33
|
+
* branch declared a longer one. The repoPath manifest stays a RECORDED fallback
|
|
34
|
+
* for verified code that ships none; a malformed manifest in the verified code
|
|
35
|
+
* never falls back.
|
|
36
|
+
*
|
|
21
37
|
* The seam stays OPT-IN: a repo shipping no manifest still resolves to ''
|
|
22
38
|
* (disabled). No default command is ever hard-coded here -- the daemon manages
|
|
23
39
|
* products that have no whole-repo verification command at all.
|
|
@@ -32,6 +48,7 @@
|
|
|
32
48
|
*/
|
|
33
49
|
import type { DaemonConfig, DefaultVerificationConfig } from '../types/index.js';
|
|
34
50
|
import { type VerifyManifestReader } from './verification-manifest.js';
|
|
51
|
+
import type { StrategyResult } from './verification-deterministic.js';
|
|
35
52
|
/** Default timeout for the default-on deterministic run: 30 min (full build+test sweep). */
|
|
36
53
|
export declare const DEFAULT_VERIFY_TIMEOUT_MS: number;
|
|
37
54
|
/** Default max concurrent daemon-side verification runs. */
|
|
@@ -42,6 +59,42 @@ export declare const VERIFY_ENV: {
|
|
|
42
59
|
readonly TIMEOUT_MS: "TELORA_DEFAULT_VERIFY_TIMEOUT_MS";
|
|
43
60
|
readonly MAX_CONCURRENT: "TELORA_DEFAULT_VERIFY_MAX_CONCURRENT";
|
|
44
61
|
};
|
|
62
|
+
/**
|
|
63
|
+
* The layer a resolved verify value was read from.
|
|
64
|
+
*
|
|
65
|
+
* Why it is carried at all: a verify run killed by its timeout used to name
|
|
66
|
+
* neither the value applied nor where it came from, so a reader could not tell a
|
|
67
|
+
* stale operator override from a manifest committed on the branch from the typed
|
|
68
|
+
* default -- and each of those is fixed in a different place. `manifest_fallback`
|
|
69
|
+
* is the recorded case where the verified commit shipped no manifest and the
|
|
70
|
+
* product repoPath manifest was applied instead; `delivery` is an explicit-method
|
|
71
|
+
* row's own config, which no resolver layer produced.
|
|
72
|
+
*/
|
|
73
|
+
export type VerifyConfigSource = {
|
|
74
|
+
layer: 'env';
|
|
75
|
+
envVar: string;
|
|
76
|
+
} | {
|
|
77
|
+
layer: 'daemon.json';
|
|
78
|
+
} | {
|
|
79
|
+
layer: 'manifest';
|
|
80
|
+
path: string;
|
|
81
|
+
} | {
|
|
82
|
+
layer: 'manifest_fallback';
|
|
83
|
+
path: string;
|
|
84
|
+
verifiedPath: string;
|
|
85
|
+
} | {
|
|
86
|
+
layer: 'default';
|
|
87
|
+
} | {
|
|
88
|
+
layer: 'delivery';
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* A source as one human-readable label, the form every surface prints (gate
|
|
92
|
+
* state, escalations, `telora-daemon status`), so the same layer reads the same
|
|
93
|
+
* everywhere. A manifest names its absolute path, which also answers WHICH
|
|
94
|
+
* checkout's manifest applied. The `default` label names the typed timeout
|
|
95
|
+
* default: a defaulted command is '' (verification disabled), never printed.
|
|
96
|
+
*/
|
|
97
|
+
export declare function formatVerifyConfigSource(src: VerifyConfigSource): string;
|
|
45
98
|
/**
|
|
46
99
|
* Fully-resolved default-on verification settings. `enabled` is a convenience
|
|
47
100
|
* flag: true iff a non-empty command is configured (the default-on path only
|
|
@@ -52,6 +105,11 @@ export interface ResolvedDefaultVerification {
|
|
|
52
105
|
timeoutMs: number;
|
|
53
106
|
maxConcurrent: number;
|
|
54
107
|
enabled: boolean;
|
|
108
|
+
/** Which layer supplied the command and the timeout (see VerifyConfigSource). */
|
|
109
|
+
sources: {
|
|
110
|
+
command: VerifyConfigSource;
|
|
111
|
+
timeoutMs: VerifyConfigSource;
|
|
112
|
+
};
|
|
55
113
|
}
|
|
56
114
|
/**
|
|
57
115
|
* The config slice these resolvers need: the (already per-product-selected)
|
|
@@ -95,6 +153,22 @@ export type VerificationConfigScope = Pick<DaemonConfig, 'defaultVerification'>
|
|
|
95
153
|
* unchanged).
|
|
96
154
|
*/
|
|
97
155
|
export declare function resolveDefaultVerification(config: VerificationConfigScope, env?: NodeJS.ProcessEnv, readManifest?: VerifyManifestReader): ResolvedDefaultVerification;
|
|
156
|
+
/** What a deterministic run applied, and where it was read (StrategyResult.appliedConfig). */
|
|
157
|
+
export type AppliedVerificationConfig = NonNullable<StrategyResult['appliedConfig']>;
|
|
158
|
+
/**
|
|
159
|
+
* Resolve the command + timeout a deterministic run APPLIES, from the code it
|
|
160
|
+
* runs in: env > operator block > the manifest at `runPath` > the manifest at
|
|
161
|
+
* `source.repoPath` (recorded fallback) > typed default.
|
|
162
|
+
*
|
|
163
|
+
* The fallback is taken ONLY when the code at `runPath` ships no manifest, and
|
|
164
|
+
* it is recorded on the result (`manifestFallback`; `manifestPath` names the
|
|
165
|
+
* repoPath manifest, `verifiedManifestPath` where the verified code was read), so
|
|
166
|
+
* a value from another checkout is never applied silently. A MALFORMED manifest
|
|
167
|
+
* at `runPath` throws (readVerifyManifest names the file) and never falls back:
|
|
168
|
+
* the branch declared something unreadable, and substituting the operator
|
|
169
|
+
* checkout's value is exactly the silent swap this resolution removes.
|
|
170
|
+
*/
|
|
171
|
+
export declare function resolveAppliedVerificationConfig(source: VerificationConfigScope, runPath: string, env?: NodeJS.ProcessEnv, readManifest?: VerifyManifestReader): AppliedVerificationConfig;
|
|
98
172
|
/**
|
|
99
173
|
* Declarative verification posture, derived at read time from config (never a
|
|
100
174
|
* filed event, so it cannot spam and self-clears once configured):
|
|
@@ -130,6 +204,8 @@ export interface ProductVerificationPosture {
|
|
|
130
204
|
command: string;
|
|
131
205
|
/** The resolved timeout (ms) for the command; meaningful when `configured`. */
|
|
132
206
|
timeoutMs: number;
|
|
207
|
+
/** Where that timeout was read (formatVerifyConfigSource label), resolved against the product repoPath. */
|
|
208
|
+
timeoutSource?: string;
|
|
133
209
|
}
|
|
134
210
|
/**
|
|
135
211
|
* Build a `{ [productId]: { posture, command } }` map across products, applying
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-config.d.ts","sourceRoot":"","sources":["../../src/verify/verification-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verification-config.d.ts","sourceRoot":"","sources":["../../src/verify/verification-config.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEjF,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,4FAA4F;AAC5F,eAAO,MAAM,yBAAyB,QAAiB,CAAC;AAExD,4DAA4D;AAC5D,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAE/C,2DAA2D;AAC3D,eAAO,MAAM,UAAU;;;;CAIb,CAAC;AAEX;;;;;;;;;;GAUG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,GACxB;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,KAAK,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GACpB;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC;AAE1B;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAexE;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,iFAAiF;IACjF,OAAO,EAAE;QAAE,OAAO,EAAE,kBAAkB,CAAC;QAAC,SAAS,EAAE,kBAAkB,CAAA;KAAE,CAAC;CACzE;AAmBD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC,GAAG;IAChF,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,uBAAuB,EAC/B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,YAAY,GAAE,oBAAyC,GACtD,2BAA2B,CAyC7B;AAED,8FAA8F;AAC9F,MAAM,MAAM,yBAAyB,GAAG,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;AAErF;;;;;;;;;;;;GAYG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,YAAY,GAAE,oBAAyC,GACtD,yBAAyB,CAqC3B;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,UAAU,GAAG,cAAc,CAAC;AAE7E;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,uBAAuB,EAC/B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,YAAY,GAAE,oBAAyC,GACtD,mBAAmB,CAKrB;AAED,yEAAyE;AACzE,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,mBAAmB,CAAC;IAC7B,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,2GAA2G;IAC3G,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,yBAAyB,CAAA;CAAE,CAAC,EAC3G,WAAW,EAAE,yBAAyB,GAAG,SAAS,EAClD,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,YAAY,GAAE,oBAAyC,GACtD,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAkB5C"}
|