@deftai/directive-runtime 0.129.5 → 0.129.6
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/Taskfile.yml +235 -0
- package/UPGRADING.md +1 -0
- package/contracts/design-critique.md +1 -1
- package/contracts/path-write-fence.md +6 -0
- package/dist/applying-host-release.d.ts +16 -0
- package/dist/applying-host-release.js +98 -0
- package/dist/authz.d.ts +1 -1
- package/dist/authz.js +1 -1
- package/dist/check.d.ts +1 -0
- package/dist/check.js +27 -4
- package/dist/design-critique-ensure-arc-dest.d.ts +16 -0
- package/dist/design-critique-ensure-arc-dest.js +168 -0
- package/dist/dispatch.d.ts +1 -1
- package/dist/dispatch.js +8 -0
- package/dist/hook-dispatch.js +3 -2
- package/dist/human-presence-mint.d.ts +6 -1
- package/dist/human-presence-mint.js +20 -6
- package/dist/session-start.js +40 -6
- package/dist/setup-wiring.d.ts +36 -0
- package/dist/setup-wiring.js +169 -14
- package/dist/verify-source-cli/verify-deposit-closure.js +5 -5
- package/dist/windows-bin-ps1.d.ts +2 -2
- package/dist/windows-bin-ps1.js +5 -11
- package/docs/deft-directive-disable.md +3 -3
- package/package.json +2 -3
- package/packs/lessons/lessons-pack-0.1.json +15 -0
- package/packs/skills/skills-pack-0.1.json +2 -2
- package/skills/deft-directive-design-critique/SKILL.md +1 -1
- package/skills/deft-directive-release/SKILL.md +31 -1
- package/vendor/directive-content/Taskfile.yml +235 -0
- package/vendor/directive-content/UPGRADING.md +1 -0
- package/vendor/directive-content/contracts/design-critique.md +1 -1
- package/vendor/directive-content/contracts/path-write-fence.md +6 -0
- package/vendor/directive-content/docs/deft-directive-disable.md +3 -3
- package/vendor/directive-content/packs/lessons/lessons-pack-0.1.json +15 -0
- package/vendor/directive-content/packs/skills/skills-pack-0.1.json +2 -2
- package/vendor/directive-content/skills/deft-directive-design-critique/SKILL.md +1 -1
- package/vendor/directive-content/skills/deft-directive-release/SKILL.md +31 -1
- package/vendor/directive-core/dist/.tsbuildinfo +1 -1
- package/vendor/directive-core/dist/authz/classify.d.ts +12 -0
- package/vendor/directive-core/dist/authz/classify.d.ts.map +1 -1
- package/vendor/directive-core/dist/authz/classify.js +40 -12
- package/vendor/directive-core/dist/authz/classify.js.map +1 -1
- package/vendor/directive-core/dist/authz/templates.d.ts +2 -2
- package/vendor/directive-core/dist/authz/templates.d.ts.map +1 -1
- package/vendor/directive-core/dist/authz/templates.js +1 -0
- package/vendor/directive-core/dist/authz/templates.js.map +1 -1
- package/vendor/directive-core/dist/authz/types.d.ts +1 -1
- package/vendor/directive-core/dist/authz/types.d.ts.map +1 -1
- package/vendor/directive-core/dist/authz/types.js +2 -0
- package/vendor/directive-core/dist/authz/types.js.map +1 -1
- package/vendor/directive-core/dist/authz/verb-classification.d.ts.map +1 -1
- package/vendor/directive-core/dist/authz/verb-classification.js +30 -3
- package/vendor/directive-core/dist/authz/verb-classification.js.map +1 -1
- package/vendor/directive-core/dist/cache/fetch.d.ts.map +1 -1
- package/vendor/directive-core/dist/cache/fetch.js +50 -4
- package/vendor/directive-core/dist/cache/fetch.js.map +1 -1
- package/vendor/directive-core/dist/design-critique/arc-dest.d.ts +22 -5
- package/vendor/directive-core/dist/design-critique/arc-dest.d.ts.map +1 -1
- package/vendor/directive-core/dist/design-critique/arc-dest.js +61 -0
- package/vendor/directive-core/dist/design-critique/arc-dest.js.map +1 -1
- package/vendor/directive-core/dist/design-critique/run-posture.d.ts +7 -2
- package/vendor/directive-core/dist/design-critique/run-posture.d.ts.map +1 -1
- package/vendor/directive-core/dist/design-critique/run-posture.js +6 -1
- package/vendor/directive-core/dist/design-critique/run-posture.js.map +1 -1
- package/vendor/directive-core/dist/hooks/dispatcher.d.ts.map +1 -1
- package/vendor/directive-core/dist/hooks/dispatcher.js +174 -12
- package/vendor/directive-core/dist/hooks/dispatcher.js.map +1 -1
- package/vendor/directive-core/dist/hooks/shell-write-targets.d.ts +5 -0
- package/vendor/directive-core/dist/hooks/shell-write-targets.d.ts.map +1 -1
- package/vendor/directive-core/dist/hooks/shell-write-targets.js +18 -1
- package/vendor/directive-core/dist/hooks/shell-write-targets.js.map +1 -1
- package/vendor/directive-core/dist/init-deposit/host-hook-outer.d.ts +5 -0
- package/vendor/directive-core/dist/init-deposit/host-hook-outer.d.ts.map +1 -1
- package/vendor/directive-core/dist/init-deposit/host-hook-outer.js +22 -9
- package/vendor/directive-core/dist/init-deposit/host-hook-outer.js.map +1 -1
- package/vendor/directive-core/dist/init-deposit/scaffold.d.ts +8 -1
- package/vendor/directive-core/dist/init-deposit/scaffold.d.ts.map +1 -1
- package/vendor/directive-core/dist/init-deposit/scaffold.js +38 -4
- package/vendor/directive-core/dist/init-deposit/scaffold.js.map +1 -1
- package/vendor/directive-core/dist/install-health/cheap.d.ts +2 -1
- package/vendor/directive-core/dist/install-health/cheap.d.ts.map +1 -1
- package/vendor/directive-core/dist/install-health/cheap.js +4 -3
- package/vendor/directive-core/dist/install-health/cheap.js.map +1 -1
- package/vendor/directive-core/dist/install-health/constants.d.ts +18 -2
- package/vendor/directive-core/dist/install-health/constants.d.ts.map +1 -1
- package/vendor/directive-core/dist/install-health/constants.js +18 -2
- package/vendor/directive-core/dist/install-health/constants.js.map +1 -1
- package/vendor/directive-core/dist/policy/deft-directive-disable.d.ts +42 -5
- package/vendor/directive-core/dist/policy/deft-directive-disable.d.ts.map +1 -1
- package/vendor/directive-core/dist/policy/deft-directive-disable.js +71 -41
- package/vendor/directive-core/dist/policy/deft-directive-disable.js.map +1 -1
- package/vendor/directive-core/dist/pr-closeout-attestable/evaluate.d.ts +6 -1
- package/vendor/directive-core/dist/pr-closeout-attestable/evaluate.d.ts.map +1 -1
- package/vendor/directive-core/dist/pr-closeout-attestable/evaluate.js +24 -12
- package/vendor/directive-core/dist/pr-closeout-attestable/evaluate.js.map +1 -1
- package/vendor/directive-core/dist/pr-closeout-attestable/pr-head-assert.d.ts +68 -14
- package/vendor/directive-core/dist/pr-closeout-attestable/pr-head-assert.d.ts.map +1 -1
- package/vendor/directive-core/dist/pr-closeout-attestable/pr-head-assert.js +278 -47
- package/vendor/directive-core/dist/pr-closeout-attestable/pr-head-assert.js.map +1 -1
- package/vendor/directive-core/dist/release/gh.d.ts.map +1 -1
- package/vendor/directive-core/dist/release/gh.js +2 -1
- package/vendor/directive-core/dist/release/gh.js.map +1 -1
- package/vendor/directive-core/dist/release/version.d.ts +4 -2
- package/vendor/directive-core/dist/release/version.d.ts.map +1 -1
- package/vendor/directive-core/dist/release/version.js +4 -2
- package/vendor/directive-core/dist/release/version.js.map +1 -1
- package/vendor/directive-core/dist/release-publish/gh-api.d.ts.map +1 -1
- package/vendor/directive-core/dist/release-publish/gh-api.js +4 -2
- package/vendor/directive-core/dist/release-publish/gh-api.js.map +1 -1
- package/vendor/directive-core/dist/release-publish/main.d.ts.map +1 -1
- package/vendor/directive-core/dist/release-publish/main.js +15 -4
- package/vendor/directive-core/dist/release-publish/main.js.map +1 -1
- package/vendor/directive-core/dist/release-publish/pipeline.d.ts +11 -0
- package/vendor/directive-core/dist/release-publish/pipeline.d.ts.map +1 -1
- package/vendor/directive-core/dist/release-publish/pipeline.js +143 -2
- package/vendor/directive-core/dist/release-publish/pipeline.js.map +1 -1
- package/vendor/directive-core/dist/release-rollback/gh.d.ts.map +1 -1
- package/vendor/directive-core/dist/release-rollback/gh.js +2 -1
- package/vendor/directive-core/dist/release-rollback/gh.js.map +1 -1
- package/vendor/directive-core/dist/session/git.d.ts +21 -2
- package/vendor/directive-core/dist/session/git.d.ts.map +1 -1
- package/vendor/directive-core/dist/session/git.js +21 -4
- package/vendor/directive-core/dist/session/git.js.map +1 -1
- package/vendor/directive-core/dist/session/occupancy.d.ts +93 -6
- package/vendor/directive-core/dist/session/occupancy.d.ts.map +1 -1
- package/vendor/directive-core/dist/session/occupancy.js +215 -52
- package/vendor/directive-core/dist/session/occupancy.js.map +1 -1
- package/vendor/directive-core/dist/session/session-start.d.ts.map +1 -1
- package/vendor/directive-core/dist/session/session-start.js +5 -2
- package/vendor/directive-core/dist/session/session-start.js.map +1 -1
- package/vendor/directive-core/dist/swarm/dest-place.d.ts +1 -1
- package/vendor/directive-core/dist/swarm/dest-place.d.ts.map +1 -1
- package/vendor/directive-core/dist/swarm/dest-place.js +36 -41
- package/vendor/directive-core/dist/swarm/dest-place.js.map +1 -1
- package/vendor/directive-core/dist/swarm/finalize-owed.d.ts +14 -0
- package/vendor/directive-core/dist/swarm/finalize-owed.d.ts.map +1 -1
- package/vendor/directive-core/dist/swarm/finalize-owed.js +214 -48
- package/vendor/directive-core/dist/swarm/finalize-owed.js.map +1 -1
- package/vendor/directive-core/dist/swarm/launch.d.ts.map +1 -1
- package/vendor/directive-core/dist/swarm/launch.js +15 -4
- package/vendor/directive-core/dist/swarm/launch.js.map +1 -1
- package/vendor/directive-core/dist/swarm/worktree-pm-install.d.ts +49 -2
- package/vendor/directive-core/dist/swarm/worktree-pm-install.d.ts.map +1 -1
- package/vendor/directive-core/dist/swarm/worktree-pm-install.js +207 -12
- package/vendor/directive-core/dist/swarm/worktree-pm-install.js.map +1 -1
- package/vendor/directive-core/dist/swarm/worktrees-cli.d.ts +6 -0
- package/vendor/directive-core/dist/swarm/worktrees-cli.d.ts.map +1 -1
- package/vendor/directive-core/dist/swarm/worktrees-cli.js +79 -2
- package/vendor/directive-core/dist/swarm/worktrees-cli.js.map +1 -1
- package/vendor/directive-core/dist/swarm/worktrees.d.ts +12 -1
- package/vendor/directive-core/dist/swarm/worktrees.d.ts.map +1 -1
- package/vendor/directive-core/dist/swarm/worktrees.js +34 -26
- package/vendor/directive-core/dist/swarm/worktrees.js.map +1 -1
|
@@ -17,6 +17,12 @@
|
|
|
17
17
|
* - Deposit presence is **OK**.
|
|
18
18
|
* - Full re-enable requires: delete the file **and** start a **new** agent session.
|
|
19
19
|
* - Precedence: active kill-switch first, then `.no-deft-directive`, else normal.
|
|
20
|
+
*
|
|
21
|
+
* Eligibility (#6122 / Prefer-A Bound): override only when positively validated
|
|
22
|
+
* eligible (project-root non-symlink regular file + successful untracked
|
|
23
|
+
* `git ls-files` listing). Tracked / wrong kind / absent → ineligible.
|
|
24
|
+
* Probe launch failure, nonzero status, timeout, or unavailable output →
|
|
25
|
+
* indeterminate (never active; never cached as untracked).
|
|
20
26
|
*/
|
|
21
27
|
/** Canonical root-only filename (lowercase). Presence = candidate flag. */
|
|
22
28
|
export declare const DEFT_DIRECTIVE_DISABLE_FLAG_NAME = ".deft-directive-disable";
|
|
@@ -36,13 +42,35 @@ export declare const DEFT_DIRECTIVE_DISABLE_STATUS: "disabled-test-kill-switch";
|
|
|
36
42
|
* Tracked flags do **not** disable enforcement.
|
|
37
43
|
*/
|
|
38
44
|
export declare const DEFT_DIRECTIVE_DISABLE_TRACKED_WARNING = "Misconfig: `.deft-directive-disable` is tracked by git. The flag must be gitignored (local kill-switch only). Untrack it and ensure `.gitignore` covers the path. Enforcement is NOT disabled while the flag is tracked.";
|
|
45
|
+
/**
|
|
46
|
+
* Three-way operator-override eligibility (#6122).
|
|
47
|
+
* Only `eligible` selects the kill-switch short-circuit.
|
|
48
|
+
*/
|
|
49
|
+
export type OperatorDisableEligibility = "eligible" | "ineligible" | "indeterminate";
|
|
50
|
+
/** Successful `git ls-files` listing outcome (cacheable). */
|
|
51
|
+
export type GitTrackListingOutcome = "tracked" | "untracked";
|
|
52
|
+
/** Listing probe result including indeterminate inspection failures. */
|
|
53
|
+
export type GitTrackProbeResult = GitTrackListingOutcome | "indeterminate";
|
|
54
|
+
/** Test helper: drop cached listing outcomes. */
|
|
55
|
+
export declare function clearDeftDirectiveDisableTrackedProbeCache(): void;
|
|
39
56
|
export interface DeftDirectiveDisableSeams {
|
|
40
57
|
readonly isFile?: (path: string) => boolean;
|
|
41
58
|
readonly isDir?: (path: string) => boolean;
|
|
42
|
-
/**
|
|
59
|
+
/**
|
|
60
|
+
* Legacy boolean seam: true = tracked, false = untracked.
|
|
61
|
+
* Does not model indeterminate; prefer `probeGitTrackListing` for that.
|
|
62
|
+
*/
|
|
43
63
|
readonly isGitTracked?: (projectRoot: string, relPath: string) => boolean;
|
|
64
|
+
/** Three-way listing probe; wins over `isGitTracked` when both are set. */
|
|
65
|
+
readonly probeGitTrackListing?: (projectRoot: string, relPath: string) => GitTrackProbeResult;
|
|
44
66
|
/** Skip tracked probe + cache (tests / doctor full re-check). */
|
|
45
67
|
readonly skipTrackedCache?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Adapter seam for the default `git ls-files` capture used by
|
|
70
|
+
* `probeGitLsFilesListing` (cached + skipTrackedCache paths). Throw to
|
|
71
|
+
* model launch/nonzero failure; return stdout string on success.
|
|
72
|
+
*/
|
|
73
|
+
readonly gitLsFilesCapture?: (projectRoot: string, relPath: string) => string;
|
|
46
74
|
}
|
|
47
75
|
export interface DeftDirectiveDisableState {
|
|
48
76
|
readonly present: boolean;
|
|
@@ -50,15 +78,24 @@ export interface DeftDirectiveDisableState {
|
|
|
50
78
|
readonly depositPresent: boolean;
|
|
51
79
|
/**
|
|
52
80
|
* True when the flag file is tracked by git (misconfig — should be gitignored).
|
|
53
|
-
* Always false when the flag is absent or when the probe
|
|
81
|
+
* Always false when the flag is absent or when the probe is not a successful
|
|
82
|
+
* tracked listing (including indeterminate).
|
|
54
83
|
*/
|
|
55
84
|
readonly trackedByGit: boolean;
|
|
85
|
+
/** Three-way eligibility; `active` is true only when this is `eligible`. */
|
|
86
|
+
readonly eligibility: OperatorDisableEligibility;
|
|
56
87
|
/**
|
|
57
88
|
* True when the kill-switch is **active** for enforcement short-circuit:
|
|
58
|
-
* present
|
|
89
|
+
* positively validated eligible (present regular file + successful untracked listing).
|
|
59
90
|
*/
|
|
60
91
|
readonly active: boolean;
|
|
61
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Explicit Git success predicate (#6122): successful `git ls-files` with usable
|
|
95
|
+
* captured output. Empty listing = untracked; nonempty = tracked; launch failure,
|
|
96
|
+
* nonzero, timeout, or unavailable output = indeterminate.
|
|
97
|
+
*/
|
|
98
|
+
export declare function probeGitLsFilesListing(projectRoot: string, relPath: string, capture?: (projectRoot: string, relPath: string) => string): GitTrackProbeResult;
|
|
62
99
|
/** Absolute path to the root kill-switch flag file. */
|
|
63
100
|
export declare function deftDirectiveDisableFlagPath(projectRoot: string): string;
|
|
64
101
|
/**
|
|
@@ -66,12 +103,12 @@ export declare function deftDirectiveDisableFlagPath(projectRoot: string): strin
|
|
|
66
103
|
* (empty or short comment OK). Deposit presence is reported but never treated
|
|
67
104
|
* as inconsistent (#3039 vs #2926).
|
|
68
105
|
*
|
|
69
|
-
* Enforcement short-circuit uses `state.active` (
|
|
106
|
+
* Enforcement short-circuit uses `state.active` (eligibility === "eligible").
|
|
70
107
|
*/
|
|
71
108
|
export declare function detectDeftDirectiveDisable(projectRoot: string, seams?: DeftDirectiveDisableSeams): DeftDirectiveDisableState;
|
|
72
109
|
/**
|
|
73
110
|
* True when the local (untracked) kill-switch is active for enforcement
|
|
74
|
-
* short-circuit. Tracked flags return false so hooks stay enforced.
|
|
111
|
+
* short-circuit. Tracked / indeterminate flags return false so hooks stay enforced.
|
|
75
112
|
*/
|
|
76
113
|
export declare function isDeftDirectiveDisableActive(projectRoot: string, seams?: DeftDirectiveDisableSeams): boolean;
|
|
77
114
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deft-directive-disable.d.ts","sourceRoot":"","sources":["../../src/policy/deft-directive-disable.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"deft-directive-disable.d.ts","sourceRoot":"","sources":["../../src/policy/deft-directive-disable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAOH,2EAA2E;AAC3E,eAAO,MAAM,gCAAgC,4BAA4B,CAAC;AAE1E,mEAAmE;AACnE,eAAO,MAAM,qCAAqC,4BAAmC,CAAC;AAEtF;;;GAGG;AACH,eAAO,MAAM,uCAAuC,QAQQ,CAAC;AAE7D,2DAA2D;AAC3D,eAAO,MAAM,+BAA+B,0FAC6C,CAAC;AAE1F,8EAA8E;AAC9E,eAAO,MAAM,6BAA6B,EAAG,2BAAoC,CAAC;AAElF;;;GAGG;AACH,eAAO,MAAM,sCAAsC,6NACyK,CAAC;AAK7N;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,UAAU,GAAG,YAAY,GAAG,eAAe,CAAC;AAErF,6DAA6D;AAC7D,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,WAAW,CAAC;AAE7D,wEAAwE;AACxE,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,GAAG,eAAe,CAAC;AAM3E,iDAAiD;AACjD,wBAAgB,0CAA0C,IAAI,IAAI,CAEjE;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1E,2EAA2E;IAC3E,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,mBAAmB,CAAC;IAC9F,iEAAiE;IACjE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/E;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAAC;IACjD;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AA2BD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GACzD,mBAAmB,CAgBrB;AAiED,uDAAuD;AACvD,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,yBAA8B,GACpC,yBAAyB,CAgB3B;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,yBAA8B,GACpC,OAAO,CAET;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,GAAE;IACP,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CACvB,GACL,MAAM,CAgBR"}
|
|
@@ -17,6 +17,12 @@
|
|
|
17
17
|
* - Deposit presence is **OK**.
|
|
18
18
|
* - Full re-enable requires: delete the file **and** start a **new** agent session.
|
|
19
19
|
* - Precedence: active kill-switch first, then `.no-deft-directive`, else normal.
|
|
20
|
+
*
|
|
21
|
+
* Eligibility (#6122 / Prefer-A Bound): override only when positively validated
|
|
22
|
+
* eligible (project-root non-symlink regular file + successful untracked
|
|
23
|
+
* `git ls-files` listing). Tracked / wrong kind / absent → ineligible.
|
|
24
|
+
* Probe launch failure, nonzero status, timeout, or unavailable output →
|
|
25
|
+
* indeterminate (never active; never cached as untracked).
|
|
20
26
|
*/
|
|
21
27
|
import { execFileSync } from "node:child_process";
|
|
22
28
|
import { lstatSync, statSync } from "node:fs";
|
|
@@ -49,9 +55,13 @@ export const DEFT_DIRECTIVE_DISABLE_STATUS = "disabled-test-kill-switch";
|
|
|
49
55
|
export const DEFT_DIRECTIVE_DISABLE_TRACKED_WARNING = "Misconfig: `.deft-directive-disable` is tracked by git. The flag must be gitignored (local kill-switch only). Untrack it and ensure `.gitignore` covers the path. Enforcement is NOT disabled while the flag is tracked.";
|
|
50
56
|
/** Cap git probe so hot-path hooks never hang on a slow VCS call. */
|
|
51
57
|
const GIT_TRACKED_PROBE_TIMEOUT_MS = 1500;
|
|
52
|
-
/** Process-local cache:
|
|
58
|
+
/** Process-local cache: successful tracked|untracked only — never indeterminate. */
|
|
53
59
|
const trackedProbeCache = new Map();
|
|
54
60
|
const TRACKED_PROBE_CACHE_TTL_MS = 30_000;
|
|
61
|
+
/** Test helper: drop cached listing outcomes. */
|
|
62
|
+
export function clearDeftDirectiveDisableTrackedProbeCache() {
|
|
63
|
+
trackedProbeCache.clear();
|
|
64
|
+
}
|
|
55
65
|
/**
|
|
56
66
|
* Regular-file check that does **not** treat a symlink as an intentional kill-switch
|
|
57
67
|
* (#3213 residual after #3206). `statSync().isFile()` follows links, so
|
|
@@ -78,28 +88,67 @@ function defaultIsDir(path) {
|
|
|
78
88
|
return false;
|
|
79
89
|
}
|
|
80
90
|
}
|
|
81
|
-
|
|
91
|
+
/**
|
|
92
|
+
* Explicit Git success predicate (#6122): successful `git ls-files` with usable
|
|
93
|
+
* captured output. Empty listing = untracked; nonempty = tracked; launch failure,
|
|
94
|
+
* nonzero, timeout, or unavailable output = indeterminate.
|
|
95
|
+
*/
|
|
96
|
+
export function probeGitLsFilesListing(projectRoot, relPath, capture) {
|
|
97
|
+
try {
|
|
98
|
+
const out = capture !== undefined
|
|
99
|
+
? capture(projectRoot, relPath)
|
|
100
|
+
: execFileSync("git", ["ls-files", "--", relPath], {
|
|
101
|
+
cwd: projectRoot,
|
|
102
|
+
encoding: "utf8",
|
|
103
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
104
|
+
timeout: GIT_TRACKED_PROBE_TIMEOUT_MS,
|
|
105
|
+
});
|
|
106
|
+
if (typeof out !== "string")
|
|
107
|
+
return "indeterminate";
|
|
108
|
+
return out.trim().length > 0 ? "tracked" : "untracked";
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
return "indeterminate";
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function defaultProbeGitTrackListing(projectRoot, relPath, capture) {
|
|
82
115
|
const cacheKey = `${projectRoot}\0${relPath}`;
|
|
83
116
|
const now = Date.now();
|
|
84
117
|
const cached = trackedProbeCache.get(cacheKey);
|
|
85
118
|
if (cached !== undefined && now - cached.atMs < TRACKED_PROBE_CACHE_TTL_MS) {
|
|
86
|
-
return cached.tracked;
|
|
119
|
+
return cached.tracked ? "tracked" : "untracked";
|
|
87
120
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
cwd: projectRoot,
|
|
92
|
-
encoding: "utf8",
|
|
93
|
-
stdio: ["ignore", "pipe", "ignore"],
|
|
94
|
-
timeout: GIT_TRACKED_PROBE_TIMEOUT_MS,
|
|
95
|
-
});
|
|
96
|
-
tracked = out.trim().length > 0;
|
|
121
|
+
const result = probeGitLsFilesListing(projectRoot, relPath, capture);
|
|
122
|
+
if (result === "tracked" || result === "untracked") {
|
|
123
|
+
trackedProbeCache.set(cacheKey, { tracked: result === "tracked", atMs: now });
|
|
97
124
|
}
|
|
98
|
-
|
|
99
|
-
|
|
125
|
+
return result;
|
|
126
|
+
}
|
|
127
|
+
function resolveTrackProbe(projectRoot, seams) {
|
|
128
|
+
if (seams.probeGitTrackListing) {
|
|
129
|
+
return seams.probeGitTrackListing(projectRoot, DEFT_DIRECTIVE_DISABLE_FLAG_NAME);
|
|
130
|
+
}
|
|
131
|
+
if (seams.isGitTracked) {
|
|
132
|
+
return seams.isGitTracked(projectRoot, DEFT_DIRECTIVE_DISABLE_FLAG_NAME)
|
|
133
|
+
? "tracked"
|
|
134
|
+
: "untracked";
|
|
100
135
|
}
|
|
101
|
-
|
|
102
|
-
|
|
136
|
+
if (seams.skipTrackedCache) {
|
|
137
|
+
return probeGitLsFilesListing(projectRoot, DEFT_DIRECTIVE_DISABLE_FLAG_NAME, seams.gitLsFilesCapture);
|
|
138
|
+
}
|
|
139
|
+
return defaultProbeGitTrackListing(projectRoot, DEFT_DIRECTIVE_DISABLE_FLAG_NAME, seams.gitLsFilesCapture);
|
|
140
|
+
}
|
|
141
|
+
function eligibilityFromPresentProbe(present, probe) {
|
|
142
|
+
if (!present) {
|
|
143
|
+
return { eligibility: "ineligible", trackedByGit: false };
|
|
144
|
+
}
|
|
145
|
+
if (probe === "tracked") {
|
|
146
|
+
return { eligibility: "ineligible", trackedByGit: true };
|
|
147
|
+
}
|
|
148
|
+
if (probe === "untracked") {
|
|
149
|
+
return { eligibility: "eligible", trackedByGit: false };
|
|
150
|
+
}
|
|
151
|
+
return { eligibility: "indeterminate", trackedByGit: false };
|
|
103
152
|
}
|
|
104
153
|
/** Absolute path to the root kill-switch flag file. */
|
|
105
154
|
export function deftDirectiveDisableFlagPath(projectRoot) {
|
|
@@ -110,47 +159,28 @@ export function deftDirectiveDisableFlagPath(projectRoot) {
|
|
|
110
159
|
* (empty or short comment OK). Deposit presence is reported but never treated
|
|
111
160
|
* as inconsistent (#3039 vs #2926).
|
|
112
161
|
*
|
|
113
|
-
* Enforcement short-circuit uses `state.active` (
|
|
162
|
+
* Enforcement short-circuit uses `state.active` (eligibility === "eligible").
|
|
114
163
|
*/
|
|
115
164
|
export function detectDeftDirectiveDisable(projectRoot, seams = {}) {
|
|
116
165
|
const flagPath = deftDirectiveDisableFlagPath(projectRoot);
|
|
117
166
|
const isFile = seams.isFile ?? defaultIsFile;
|
|
118
167
|
const isDir = seams.isDir ?? defaultIsDir;
|
|
119
|
-
const isGitTracked = seams.isGitTracked ?? defaultIsGitTracked;
|
|
120
168
|
const present = isFile(flagPath);
|
|
121
169
|
const depositPresent = isDir(join(projectRoot, CANONICAL_INSTALL_ROOT));
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
if (seams.skipTrackedCache && seams.isGitTracked === undefined) {
|
|
125
|
-
// Fresh probe without reading process cache (doctor / one-shot CLI).
|
|
126
|
-
try {
|
|
127
|
-
const out = execFileSync("git", ["ls-files", "--", DEFT_DIRECTIVE_DISABLE_FLAG_NAME], {
|
|
128
|
-
cwd: projectRoot,
|
|
129
|
-
encoding: "utf8",
|
|
130
|
-
stdio: ["ignore", "pipe", "ignore"],
|
|
131
|
-
timeout: GIT_TRACKED_PROBE_TIMEOUT_MS,
|
|
132
|
-
});
|
|
133
|
-
trackedByGit = out.trim().length > 0;
|
|
134
|
-
}
|
|
135
|
-
catch {
|
|
136
|
-
trackedByGit = false;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
trackedByGit = isGitTracked(projectRoot, DEFT_DIRECTIVE_DISABLE_FLAG_NAME);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
170
|
+
const probe = present ? resolveTrackProbe(projectRoot, seams) : "untracked";
|
|
171
|
+
const { eligibility, trackedByGit } = eligibilityFromPresentProbe(present, probe);
|
|
143
172
|
return {
|
|
144
173
|
present,
|
|
145
174
|
flagPath,
|
|
146
175
|
depositPresent,
|
|
147
176
|
trackedByGit,
|
|
148
|
-
|
|
177
|
+
eligibility,
|
|
178
|
+
active: eligibility === "eligible",
|
|
149
179
|
};
|
|
150
180
|
}
|
|
151
181
|
/**
|
|
152
182
|
* True when the local (untracked) kill-switch is active for enforcement
|
|
153
|
-
* short-circuit. Tracked flags return false so hooks stay enforced.
|
|
183
|
+
* short-circuit. Tracked / indeterminate flags return false so hooks stay enforced.
|
|
154
184
|
*/
|
|
155
185
|
export function isDeftDirectiveDisableActive(projectRoot, seams = {}) {
|
|
156
186
|
return detectDeftDirectiveDisable(projectRoot, seams).active;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deft-directive-disable.js","sourceRoot":"","sources":["../../src/policy/deft-directive-disable.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"deft-directive-disable.js","sourceRoot":"","sources":["../../src/policy/deft-directive-disable.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ import type { OnePrUnitGrant } from "../one-pr-unit/types.js";
|
|
|
25
25
|
import { type GateRunner } from "../orphan-active/issue-state.js";
|
|
26
26
|
import type { RunGhFn } from "../pr-protected-issues/types.js";
|
|
27
27
|
import { type StrictAcceptanceAxis } from "../scope/acceptance-evidence.js";
|
|
28
|
-
import { type PrHeadAssertOptions } from "./pr-head-assert.js";
|
|
28
|
+
import { type CloseoutRefuseReason, type PrHeadAssertOptions } from "./pr-head-assert.js";
|
|
29
29
|
export type OutputStream = "stdout" | "stderr" | "none";
|
|
30
30
|
/** One acceptance criterion the merge would strand without evidence or disposition. */
|
|
31
31
|
export interface UnattestedCriterion {
|
|
@@ -61,6 +61,11 @@ export interface PrCloseoutAttestableResult {
|
|
|
61
61
|
readonly findings: readonly CloseoutFinding[];
|
|
62
62
|
/** True when the closing-reference read resolved through `ghx`, a cached GET proxy. */
|
|
63
63
|
readonly proxied: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* One-poll terminal discriminant for wait-mergeable (#6128).
|
|
66
|
+
* Set only for lifecycle-dirty / brief-root-layout-missing refuses.
|
|
67
|
+
*/
|
|
68
|
+
readonly reason?: CloseoutRefuseReason;
|
|
64
69
|
}
|
|
65
70
|
/** Reads the PR's structured closing-issue references; `null` on lookup failure. */
|
|
66
71
|
export type FetchClosingIssuesFn = (prNumber: number, repo: string | null, runGh: RunGhFn) => number[] | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/pr-closeout-attestable/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,iCAAiC,CAAC;AAIlF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAQL,KAAK,oBAAoB,EAC1B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,
|
|
1
|
+
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/pr-closeout-attestable/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,iCAAiC,CAAC;AAIlF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAQL,KAAK,oBAAoB,EAC1B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAEL,KAAK,oBAAoB,EAIzB,KAAK,mBAAmB,EAIzB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,uFAAuF;AACvF,MAAM,WAAW,mBAAmB;IAClC,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qFAAqF;IACrF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACvD,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,0BAA0B;IACzC,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC;CACxC;AAED,oFAAoF;AACpF,MAAM,MAAM,oBAAoB,GAAG,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,KAAK,EAAE,OAAO,KACX,MAAM,EAAE,GAAG,IAAI,CAAC;AAErB,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IACnD;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AA8KD;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,wBAAgB,QAAQ,CACtB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB,GAC5B,0BAA0B,CAkU5B"}
|
|
@@ -33,7 +33,7 @@ import { listActiveRunningBriefsFromLifecycleRoot } from "../orphan-active/runni
|
|
|
33
33
|
import { fetchClosingIssuesReferences } from "../pr-protected-issues/gh.js";
|
|
34
34
|
import { ACCEPTANCE_DISPOSITION_KEY, ACCEPTANCE_DISPOSITIONS, ACCEPTANCE_EVIDENCE_KEY, ACCEPTANCE_EVIDENCE_KINDS, evaluateAcceptanceEvidenceGate, inferRequiredStrictAxes, itemDeclaresMergeRequirement, } from "../scope/acceptance-evidence.js";
|
|
35
35
|
import { resolveRepo } from "../triage/queue/repo.js";
|
|
36
|
-
import { assertWorkingTreeIsPrHead, fetchPrHeadShaViaApi, findWorktreeAtSha,
|
|
36
|
+
import { assertWorkingTreeIsPrHead, classifyLifecycleDirty, fetchPrHeadShaViaApi, findWorktreeAtSha, refuseDirtyLifecycle, resolveLocalHeadSha, shasMatch, } from "./pr-head-assert.js";
|
|
37
37
|
function relBriefPath(path, projectRoot) {
|
|
38
38
|
try {
|
|
39
39
|
return relative(resolve(projectRoot), resolve(path)).replace(/\\/g, "/");
|
|
@@ -136,7 +136,7 @@ function formatRefusal(prNumber, findings, projectRoot, proxied) {
|
|
|
136
136
|
}
|
|
137
137
|
return lines.join("\n");
|
|
138
138
|
}
|
|
139
|
-
function configError(prNumber, message, proxied = false) {
|
|
139
|
+
function configError(prNumber, message, proxied = false, reason) {
|
|
140
140
|
return {
|
|
141
141
|
code: 2,
|
|
142
142
|
message: `verify:pr-closeout-attestable: ${message}`,
|
|
@@ -145,6 +145,7 @@ function configError(prNumber, message, proxied = false) {
|
|
|
145
145
|
closingIssues: [],
|
|
146
146
|
findings: [],
|
|
147
147
|
proxied,
|
|
148
|
+
...(reason !== undefined ? { reason } : {}),
|
|
148
149
|
};
|
|
149
150
|
}
|
|
150
151
|
/**
|
|
@@ -216,9 +217,10 @@ export function evaluate(projectRoot, prNumber, options = {}) {
|
|
|
216
217
|
// (outside-diff residual on #5258). Fail closed on an unverified lookup.
|
|
217
218
|
const assertOpts = options.prHeadAssert ?? {};
|
|
218
219
|
const fetchPrHead = assertOpts.fetchPrHeadSha ?? fetchPrHeadShaViaApi;
|
|
219
|
-
const
|
|
220
|
+
const classify = assertOpts.classifyLifecycleDirty ?? classifyLifecycleDirty;
|
|
221
|
+
const resolveWorktree = assertOpts.resolveWorktreeAtSha ??
|
|
222
|
+
((r, sha) => findWorktreeAtSha(r, sha, classify));
|
|
220
223
|
const resolveLocal = assertOpts.resolveLocalHeadSha ?? resolveLocalHeadSha;
|
|
221
|
-
const resolveDirty = assertOpts.resolveLifecycleDirty ?? resolveLifecycleDirty;
|
|
222
224
|
const prHead = assertOpts.prHeadSha !== undefined
|
|
223
225
|
? assertOpts.prHeadSha
|
|
224
226
|
: fetchPrHead(prNumber, repo, runner.runGh);
|
|
@@ -258,14 +260,22 @@ export function evaluate(projectRoot, prNumber, options = {}) {
|
|
|
258
260
|
}
|
|
259
261
|
}
|
|
260
262
|
if (altLifecycle === null) {
|
|
263
|
+
if (lookup.anotherShaMatchHasXbrief === true) {
|
|
264
|
+
return configError(prNumber, `selected PR-head worktree ${alt} has no xbrief layout while another SHA-matching worktree does. ` +
|
|
265
|
+
`Caller root ${root} also lacks layout. Prefer a briefed PR-head worktree.`, runner.proxied, "brief-root-layout-missing");
|
|
266
|
+
}
|
|
261
267
|
return nothingToCheck();
|
|
262
268
|
}
|
|
263
269
|
if (assertOpts.checkLifecycleDirty !== false) {
|
|
264
|
-
const
|
|
265
|
-
if (
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
270
|
+
const classified = classify(alt);
|
|
271
|
+
if (classified.status === "dirty") {
|
|
272
|
+
const refused = refuseDirtyLifecycle(alt, classified);
|
|
273
|
+
return configError(prNumber, refused.message, runner.proxied, refused.reason);
|
|
274
|
+
}
|
|
275
|
+
if (classified.status === "unverifiable") {
|
|
276
|
+
return configError(prNumber, `lifecycle tree under ${alt} status is unverifiable (${classified.diagnostic}). ` +
|
|
277
|
+
"Closeout cannot certify briefs without a readable git status — fix git and retry. " +
|
|
278
|
+
"No discard remediation is printed for unverifiable status reads.", runner.proxied);
|
|
269
279
|
}
|
|
270
280
|
}
|
|
271
281
|
briefRoot = resolve(alt);
|
|
@@ -284,7 +294,7 @@ export function evaluate(projectRoot, prNumber, options = {}) {
|
|
|
284
294
|
...options.prHeadAssert,
|
|
285
295
|
});
|
|
286
296
|
if (!headAssert.ok) {
|
|
287
|
-
return configError(prNumber, headAssert.message, runner.proxied);
|
|
297
|
+
return configError(prNumber, headAssert.message, runner.proxied, headAssert.reason);
|
|
288
298
|
}
|
|
289
299
|
briefRoot =
|
|
290
300
|
headAssert.resolvedProjectRoot !== undefined ? resolve(headAssert.resolvedProjectRoot) : root;
|
|
@@ -296,12 +306,14 @@ export function evaluate(projectRoot, prNumber, options = {}) {
|
|
|
296
306
|
catch (err) {
|
|
297
307
|
const message = err instanceof Error ? err.message : String(err);
|
|
298
308
|
if (message.includes("No xbrief/ layout found")) {
|
|
299
|
-
return
|
|
309
|
+
return configError(prNumber, `caller lifecycle root ${root} has briefs but selected brief root ${briefRoot} has no xbrief layout. ` +
|
|
310
|
+
"Pass --project-root to a PR-head worktree that carries the lifecycle briefs.", runner.proxied, "brief-root-layout-missing");
|
|
300
311
|
}
|
|
301
312
|
return configError(prNumber, message, runner.proxied);
|
|
302
313
|
}
|
|
303
314
|
if (!existsSync(lifecycleRoot)) {
|
|
304
|
-
return
|
|
315
|
+
return configError(prNumber, `caller lifecycle root ${root} has briefs but selected brief root ${briefRoot} lifecycle path is missing. ` +
|
|
316
|
+
"Pass --project-root to a PR-head worktree that carries the lifecycle briefs.", runner.proxied, "brief-root-layout-missing");
|
|
305
317
|
}
|
|
306
318
|
}
|
|
307
319
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/pr-closeout-attestable/evaluate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/pr-closeout-attestable/evaluate.ts"],"names":[],"mappings":"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"}
|