@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
|
@@ -8,6 +8,8 @@ import { existsSync, mkdirSync } from "node:fs";
|
|
|
8
8
|
import { dirname, resolve } from "node:path";
|
|
9
9
|
import { defaultGitRunner } from "../session/git.js";
|
|
10
10
|
import { isLinkedWorktreePath } from "../session/main-worktree.js";
|
|
11
|
+
import { liveOccupancyOnTree, occupancyAdmission, readOccupancy } from "../session/occupancy.js";
|
|
12
|
+
import { OUTER_VISIBLE_RUNTIME_PIN_REL, outerVisibleRuntimePinExists, prepareLinkedWorktree, resolvePresenterSessionId, } from "../swarm/worktree-pm-install.js";
|
|
11
13
|
const DISPATCH_SHA_RE = /^[0-9a-f]{7,40}$/i;
|
|
12
14
|
const ORIGIN_DEFAULT_CANDIDATES = ["origin/HEAD", "origin/main", "origin/master"];
|
|
13
15
|
function isHexPin(value) {
|
|
@@ -77,6 +79,48 @@ function destHeadSha(destPath, git) {
|
|
|
77
79
|
* Create or verify one arc dest at the fetched pin. Reuse only when HEAD matches
|
|
78
80
|
* that tip after fetch. Never pins local HEAD.
|
|
79
81
|
*/
|
|
82
|
+
function refuseStrangerLiveLease(destPath, presenterSessionId) {
|
|
83
|
+
const now = new Date();
|
|
84
|
+
const live = liveOccupancyOnTree(destPath, readOccupancy(destPath), now);
|
|
85
|
+
if (live === null)
|
|
86
|
+
return { ok: true };
|
|
87
|
+
const presenter = resolvePresenterSessionId(presenterSessionId, process.env);
|
|
88
|
+
if (occupancyAdmission(live, presenter, now) === "stranger") {
|
|
89
|
+
return {
|
|
90
|
+
ok: false,
|
|
91
|
+
code: "live-stranger-lease",
|
|
92
|
+
message: `arc dest ${destPath} has a live occupancy lease and presenter admission is stranger; refuse before checkout/deposit/PM`,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
return { ok: true };
|
|
96
|
+
}
|
|
97
|
+
function maybeGuardedPrep(input, repoRoot, destPath) {
|
|
98
|
+
const mode = input.installMode ?? "guarded-prep";
|
|
99
|
+
if (mode === "process-only-no-install") {
|
|
100
|
+
// Deliberate verification-path pin-read mode — not Codex consumer handoff.
|
|
101
|
+
return { ok: true };
|
|
102
|
+
}
|
|
103
|
+
const prepare = input.prepare ?? prepareLinkedWorktree;
|
|
104
|
+
const prep = prepare(destPath, {
|
|
105
|
+
repoRoot,
|
|
106
|
+
runner: input.pmRunner,
|
|
107
|
+
presenterSessionId: input.presenterSessionId,
|
|
108
|
+
});
|
|
109
|
+
if (!prep.ok) {
|
|
110
|
+
return { ok: false, code: prep.code, message: prep.message };
|
|
111
|
+
}
|
|
112
|
+
// #6142: fail closed when guarded-prep was selected and runtime pin is still missing.
|
|
113
|
+
const pinExists = input.runtimePinExists ?? outerVisibleRuntimePinExists;
|
|
114
|
+
if (!pinExists(destPath)) {
|
|
115
|
+
return {
|
|
116
|
+
ok: false,
|
|
117
|
+
code: "runtime-pin-missing",
|
|
118
|
+
message: `arc dest ${destPath} selected guarded-prep but runtime pin is still missing at ` +
|
|
119
|
+
`${OUTER_VISIBLE_RUNTIME_PIN_REL}; refuse success (use deft design-critique:ensure-arc-dest)`,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
return { ok: true };
|
|
123
|
+
}
|
|
80
124
|
export function ensureArcDest(input) {
|
|
81
125
|
const repoRoot = resolve(input.repoRoot);
|
|
82
126
|
const destPath = resolve(input.destPath);
|
|
@@ -86,9 +130,17 @@ export function ensureArcDest(input) {
|
|
|
86
130
|
if (!isLinkedWorktreePath(destPath)) {
|
|
87
131
|
throw new ArcDestError("dest-not-worktree", `arc dest ${destPath} exists and is not a linked worktree`);
|
|
88
132
|
}
|
|
133
|
+
// Recut-3: refuse stranger live occupancy before checkout.
|
|
134
|
+
const lease = refuseStrangerLiveLease(destPath, input.presenterSessionId);
|
|
135
|
+
if (!lease.ok)
|
|
136
|
+
return lease;
|
|
89
137
|
const head = destHeadSha(destPath, git);
|
|
90
138
|
if (head === pin.sha) {
|
|
139
|
+
const prep = maybeGuardedPrep(input, repoRoot, destPath);
|
|
140
|
+
if (!prep.ok)
|
|
141
|
+
return prep;
|
|
91
142
|
return {
|
|
143
|
+
ok: true,
|
|
92
144
|
destPath,
|
|
93
145
|
dispatchSha: pin.sha,
|
|
94
146
|
originRef: pin.originRef,
|
|
@@ -97,7 +149,11 @@ export function ensureArcDest(input) {
|
|
|
97
149
|
};
|
|
98
150
|
}
|
|
99
151
|
gitOrThrow(git, destPath, ["checkout", "--detach", "--end-of-options", pin.sha], "dest-checkout-failed", `git checkout --detach ${pin.sha}`);
|
|
152
|
+
const prepAfterCheckout = maybeGuardedPrep(input, repoRoot, destPath);
|
|
153
|
+
if (!prepAfterCheckout.ok)
|
|
154
|
+
return prepAfterCheckout;
|
|
100
155
|
return {
|
|
156
|
+
ok: true,
|
|
101
157
|
destPath,
|
|
102
158
|
dispatchSha: pin.sha,
|
|
103
159
|
originRef: pin.originRef,
|
|
@@ -107,7 +163,12 @@ export function ensureArcDest(input) {
|
|
|
107
163
|
}
|
|
108
164
|
mkdirSync(dirname(destPath), { recursive: true });
|
|
109
165
|
gitOrThrow(git, repoRoot, ["worktree", "add", "--detach", destPath, pin.sha], "worktree-add-failed", `git worktree add --detach ${destPath} ${pin.sha}`);
|
|
166
|
+
// Recut-3: create path runs shared guarded prep after worktree add.
|
|
167
|
+
const prepCreate = maybeGuardedPrep(input, repoRoot, destPath);
|
|
168
|
+
if (!prepCreate.ok)
|
|
169
|
+
return prepCreate;
|
|
110
170
|
return {
|
|
171
|
+
ok: true,
|
|
111
172
|
destPath,
|
|
112
173
|
dispatchSha: pin.sha,
|
|
113
174
|
originRef: pin.originRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arc-dest.js","sourceRoot":"","sources":["../../src/design-critique/arc-dest.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAqC,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"arc-dest.js","sourceRoot":"","sources":["../../src/design-critique/arc-dest.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,8 +62,13 @@ export declare function arcModeRecordLine(posture: ArcRunPosture): string;
|
|
|
62
62
|
* or verifies the dest, and emits the parser arc-mode plus dest pin lines.
|
|
63
63
|
*/
|
|
64
64
|
export declare function prepareGithubOnlyDest(input: EnsureArcDestInput): {
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
readonly ok: true;
|
|
66
|
+
readonly dest: EnsureArcDestResult;
|
|
67
|
+
readonly record: string;
|
|
68
|
+
} | {
|
|
69
|
+
readonly ok: false;
|
|
70
|
+
readonly code: string;
|
|
71
|
+
readonly message: string;
|
|
67
72
|
};
|
|
68
73
|
/** True when the value is a hex pin, not a moving branch ref. */
|
|
69
74
|
export declare function isDispatchShaPin(value: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-posture.d.ts","sourceRoot":"","sources":["../../src/design-critique/run-posture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAiB,MAAM,eAAe,CAAC;AAEjG,eAAO,MAAM,gBAAgB,oCAAqC,CAAC;AAEnE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,WAAW,CAAC;AAEhE,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAEjD,0FAA0F;AAC1F,eAAO,MAAM,yBAAyB,qOAgB5B,CAAC;AAEX,0DAA0D;AAC1D,eAAO,MAAM,2BAA2B,iCAAkC,CAAC;AAE3E,eAAO,MAAM,oBAAoB,8BAA8B,CAAC;AAEhE,eAAO,MAAM,mBAAmB,mCAAmC,CAAC;AAEpE,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAE9C,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,GAAG,cAAc,GAAG,wBAAwB,CAAC;AAEpG,MAAM,MAAM,qBAAqB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,SAAS,uBAAuB,EAAE,CAAA;CAAE,CAAC;AAYlE;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAc1E;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;CAC1B,GAAG,eAAe,CAUlB;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAEhE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"run-posture.d.ts","sourceRoot":"","sources":["../../src/design-critique/run-posture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAiB,MAAM,eAAe,CAAC;AAEjG,eAAO,MAAM,gBAAgB,oCAAqC,CAAC;AAEnE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,WAAW,CAAC;AAEhE,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAEjD,0FAA0F;AAC1F,eAAO,MAAM,yBAAyB,qOAgB5B,CAAC;AAEX,0DAA0D;AAC1D,eAAO,MAAM,2BAA2B,iCAAkC,CAAC;AAE3E,eAAO,MAAM,oBAAoB,8BAA8B,CAAC;AAEhE,eAAO,MAAM,mBAAmB,mCAAmC,CAAC;AAEpE,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAE9C,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,GAAG,cAAc,GAAG,wBAAwB,CAAC;AAEpG,MAAM,MAAM,qBAAqB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,UAAU,EAAE,SAAS,uBAAuB,EAAE,CAAA;CAAE,CAAC;AAYlE;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAc1E;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;CAC1B,GAAG,eAAe,CAUlB;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAEhE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,kBAAkB,GAEvB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClF;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAgB1E;AAED,iEAAiE;AACjE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,OAAO,EAAE,aAAa,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,WAAW,GAAG,UAAU,CAAC;CAC1C,GAAG,qBAAqB,CAgBxB"}
|
|
@@ -93,8 +93,13 @@ export function arcModeRecordLine(posture) {
|
|
|
93
93
|
* or verifies the dest, and emits the parser arc-mode plus dest pin lines.
|
|
94
94
|
*/
|
|
95
95
|
export function prepareGithubOnlyDest(input) {
|
|
96
|
-
|
|
96
|
+
// #6100: github-only critics are verification pin-read — not Codex handoff.
|
|
97
|
+
const dest = ensureArcDest({ ...input, installMode: "process-only-no-install" });
|
|
98
|
+
if (!dest.ok) {
|
|
99
|
+
return { ok: false, code: dest.code, message: dest.message };
|
|
100
|
+
}
|
|
97
101
|
return {
|
|
102
|
+
ok: true,
|
|
98
103
|
dest,
|
|
99
104
|
record: [
|
|
100
105
|
arcModeRecordLine(NO_INGEST_ARC_MODE),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-posture.js","sourceRoot":"","sources":["../../src/design-critique/run-posture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAqD,aAAa,EAAE,MAAM,eAAe,CAAC;AAEjG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,UAAU,CAAU,CAAC;AAUnE,0FAA0F;AAC1F,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,aAAa;IACb,aAAa;IACb,WAAW;IACX,cAAc;IACd,WAAW;IACX,WAAW;IACX,eAAe;IACf,iBAAiB;IACjB,cAAc;IACd,aAAa;IACb,cAAc;IACd,YAAY;CACJ,CAAC;AAEX,0DAA0D;AAC1D,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAU,CAAC;AAE3E,MAAM,CAAC,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AAEhE,MAAM,CAAC,MAAM,mBAAmB,GAAG,gCAAgC,CAAC;AAEpE,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC;AAE1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAQ9C,MAAM,kBAAkB,GACtB,gNAAgN,CAAC;AACnN,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAC1C;;;GAGG;AACH,MAAM,eAAe,GAAG,oDAAoD,CAAC;AAC7E,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAiB;IACvD,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,EAAE,CAAC;QAC7F,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC9C,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACpD,CAAC;IACD,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IACnD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAG3C;IACC,KAAK,KAAK,CAAC,eAAe,CAAC;IAC3B,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,OAAsB;IACtD,OAAO,aAAa,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AAC/E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,
|
|
1
|
+
{"version":3,"file":"run-posture.js","sourceRoot":"","sources":["../../src/design-critique/run-posture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/hooks/dispatcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,UAAU,EAKf,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/hooks/dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { execFileSync } from "node:child_process";
|
|
2
|
-
import { existsSync, readdirSync, realpathSync } from "node:fs";
|
|
3
|
-
import { basename, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
4
|
-
import { appendAuthzAudit, classifyHookAuthzOps, evaluateAuthzMutation, evidenceSatisfiesImplementationApproval, listActiveHumanGrants, loadAuthzStateResult, markGrantUsed, shouldConsumeSingleUseGrant, utcIso, } from "../authz/index.js";
|
|
2
|
+
import { existsSync, lstatSync, readdirSync, readlinkSync, realpathSync } from "node:fs";
|
|
3
|
+
import { basename, dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
4
|
+
import { appendAuthzAudit, classifyHookAuthzOps, evaluateAuthzMutation, evidenceSatisfiesImplementationApproval, hasKillSwitchShellWrite, isKillSwitchPlantPath, listActiveHumanGrants, loadAuthzStateResult, markGrantUsed, shouldConsumeSingleUseGrant, utcIso, } from "../authz/index.js";
|
|
5
5
|
import { shellCommandHasPayloadRootProtectedDestAfterRealpath } from "../authz/protected-dest-realpath.js";
|
|
6
6
|
import { prepareGithubOnlyDest } from "../design-critique/run-posture.js";
|
|
7
7
|
import { runningInsideDeftRepo } from "../doctor/paths.js";
|
|
@@ -38,7 +38,7 @@ import { isLexicalOutsideProjectRoot, isOutsideProjectRootWrite } from "./outsid
|
|
|
38
38
|
import { restampOwnerLivenessOnHookEvent, } from "./owner-liveness.js";
|
|
39
39
|
import { appliesGrokSpawnDestContract, isAssistPosture, isEphemeralSpawn, isExploreSpawn, isProcessOnlyCriticSpawn, isReadOnlyHookContext, processOnlyCriticRequiresDest, SPAWN_CLASS_RECOVERY, SPAWN_READ_ONLY_RECOVERY, } from "./readonly.js";
|
|
40
40
|
import { inspectActiveScope, POSITIVE_GOVERNING_ALLOW_REQUIRED, } from "./scope.js";
|
|
41
|
-
import { classifyShellWriteTargets, isInRepoShellWritePath } from "./shell-write-targets.js";
|
|
41
|
+
import { classifyShellWriteTargets, isInRepoShellWritePath, isKillSwitchShellWriteBasename, } from "./shell-write-targets.js";
|
|
42
42
|
import { effectiveHookArgumentView, effectiveHookToolName, expectsLocalMutationDest, isApplyPatchTool, isDirectWriteTool, isKillTool, isMcpProxyWrapper, isMcpTool, isMcpWriteShaped, isShellTool, isSpawnTool, } from "./tools.js";
|
|
43
43
|
// Pure parse/classify helpers are defined in ./classify/ and re-exported from
|
|
44
44
|
// ./index.ts (#2950). Dispatcher is orchestration: classify → policy → decision.
|
|
@@ -827,6 +827,65 @@ function recordAuthzAudit(projectRoot, decision, state, seams) {
|
|
|
827
827
|
// Audit write must not crash the host tool gate.
|
|
828
828
|
}
|
|
829
829
|
}
|
|
830
|
+
/**
|
|
831
|
+
* Resolve as far as the filesystem allows: realpath existing prefixes even when
|
|
832
|
+
* the leaf is missing (dangling multi-hop symlink parents).
|
|
833
|
+
*/
|
|
834
|
+
function realpathExistingParents(absPath) {
|
|
835
|
+
try {
|
|
836
|
+
return realpathSync(absPath);
|
|
837
|
+
}
|
|
838
|
+
catch {
|
|
839
|
+
const parent = dirname(absPath);
|
|
840
|
+
if (parent === absPath)
|
|
841
|
+
return absPath;
|
|
842
|
+
return join(realpathExistingParents(parent), basename(absPath));
|
|
843
|
+
}
|
|
844
|
+
}
|
|
845
|
+
/**
|
|
846
|
+
* True when a kill-switch plant path realpath-resolves under `.deft/authz/` or
|
|
847
|
+
* `.deft/approved-scope/` (symlink alias). Does not treat the flag basename
|
|
848
|
+
* itself as an inventoried-store hit (#6136 Greptile).
|
|
849
|
+
* Dangling symlinks: resolve link text, then realpath existing parent dirs so a
|
|
850
|
+
* directory alias into the store is not missed (#6158 Greptile P1).
|
|
851
|
+
*/
|
|
852
|
+
function killSwitchPlantResolvesToInventoriedAuthzStore(projectRoot, relOrAbsPath) {
|
|
853
|
+
const root = resolve(projectRoot);
|
|
854
|
+
const target = isAbsolute(relOrAbsPath)
|
|
855
|
+
? resolve(relOrAbsPath)
|
|
856
|
+
: resolve(root, relOrAbsPath.replace(/\\/g, "/"));
|
|
857
|
+
let resolved;
|
|
858
|
+
try {
|
|
859
|
+
resolved = realpathSync(target);
|
|
860
|
+
}
|
|
861
|
+
catch {
|
|
862
|
+
try {
|
|
863
|
+
const st = lstatSync(target);
|
|
864
|
+
if (!st.isSymbolicLink())
|
|
865
|
+
return false;
|
|
866
|
+
const link = readlinkSync(target);
|
|
867
|
+
const candidate = isAbsolute(link) ? resolve(link) : resolve(dirname(target), link);
|
|
868
|
+
resolved = realpathExistingParents(candidate);
|
|
869
|
+
}
|
|
870
|
+
catch {
|
|
871
|
+
return false;
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
let rootReal;
|
|
875
|
+
try {
|
|
876
|
+
rootReal = realpathSync(root);
|
|
877
|
+
}
|
|
878
|
+
catch {
|
|
879
|
+
return false;
|
|
880
|
+
}
|
|
881
|
+
const rel = relative(rootReal, resolved).split(sep).join("/").replace(/\\/g, "/").toLowerCase();
|
|
882
|
+
if (rel.length === 0 || rel.startsWith(".."))
|
|
883
|
+
return false;
|
|
884
|
+
return (rel === ".deft/authz" ||
|
|
885
|
+
rel.startsWith(".deft/authz/") ||
|
|
886
|
+
rel === ".deft/approved-scope" ||
|
|
887
|
+
rel.startsWith(".deft/approved-scope/"));
|
|
888
|
+
}
|
|
830
889
|
/**
|
|
831
890
|
* UAT lease + human-origin grant gate (#2944). Returns deny decision or null when allowed.
|
|
832
891
|
* Composes before runtimeAuthority path/scope checks for direct writes and shell/MCP.
|
|
@@ -853,6 +912,7 @@ function authzForMutation(input, toolName, seams, options) {
|
|
|
853
912
|
shellCommand,
|
|
854
913
|
isDirectWrite: options.isDirectWrite,
|
|
855
914
|
mcpArgsText: options.isDirectWrite ? null : hookMcpArgsText(input.payload),
|
|
915
|
+
writePath: options.isDirectWrite ? options.relPath : null,
|
|
856
916
|
});
|
|
857
917
|
// #4188: realpath recovered dest-of-write against payload root. Lexical
|
|
858
918
|
// classify stays I/O-free; a non-shell symlink dest is grant-immune unknown.
|
|
@@ -881,9 +941,24 @@ function authzForMutation(input, toolName, seams, options) {
|
|
|
881
941
|
branch = null;
|
|
882
942
|
}
|
|
883
943
|
const repo = (process.env.DEFT_AUTHZ_REPO ?? process.env.GITHUB_REPOSITORY ?? "").trim() || null;
|
|
944
|
+
// #6136: kill-switch / permanent opt-out plant is always-on grant-gated (not UAT-only).
|
|
945
|
+
const killSwitchPlant = (shellCommand !== null && hasKillSwitchShellWrite(shellCommand)) ||
|
|
946
|
+
(options.isDirectWrite && options.relPath !== null && isKillSwitchPlantPath(options.relPath));
|
|
947
|
+
// Symlink plant of a kill-switch basename into `.deft/authz/` / approved-scope
|
|
948
|
+
// must not ride a settings grant (settings op skips isProtectedStoreEditDest).
|
|
949
|
+
// Plain flag basenames are themselves "protected" in relIsProtectedDirectiveDest;
|
|
950
|
+
// only deny when realpath lands under the inventoried store dirs (#6136 Greptile).
|
|
951
|
+
if (killSwitchPlant &&
|
|
952
|
+
options.isDirectWrite &&
|
|
953
|
+
options.relPath !== null &&
|
|
954
|
+
killSwitchPlantResolvesToInventoriedAuthzStore(projectRoot, options.relPath)) {
|
|
955
|
+
return deny(input, "authz-uat-deny", toolName, "Directive denied kill-switch plant: path resolves into the inventoried authz " +
|
|
956
|
+
"store (`.deft/authz/` or `.deft/approved-scope/`). A settings grant does not " +
|
|
957
|
+
"authorize rewriting approval state through a flag symlink (#6136).", options.scopePath);
|
|
958
|
+
}
|
|
884
959
|
// Evaluate each op; first deny wins (compound shell must not short-circuit).
|
|
885
960
|
for (const op of ops) {
|
|
886
|
-
|
|
961
|
+
let decision = evaluateAuthzMutation({
|
|
887
962
|
state,
|
|
888
963
|
grants,
|
|
889
964
|
op,
|
|
@@ -892,6 +967,48 @@ function authzForMutation(input, toolName, seams, options) {
|
|
|
892
967
|
repo,
|
|
893
968
|
worktree: projectRoot,
|
|
894
969
|
});
|
|
970
|
+
// Outside UAT, settings (and kill-switch Write classified as settings) would
|
|
971
|
+
// authz-inactive allow. Re-evaluate under a synthetic human-origin UAT so the
|
|
972
|
+
// existing grant gate applies without widening evaluate.ts (#6136).
|
|
973
|
+
if (killSwitchPlant &&
|
|
974
|
+
decision.allowed &&
|
|
975
|
+
decision.code === "authz-inactive" &&
|
|
976
|
+
(op === "settings" || op === "edit")) {
|
|
977
|
+
decision = evaluateAuthzMutation({
|
|
978
|
+
state: {
|
|
979
|
+
...state,
|
|
980
|
+
uat: {
|
|
981
|
+
active: true,
|
|
982
|
+
campaignId: "always-on-kill-switch-plant",
|
|
983
|
+
startedAt: "1970-01-01T00:00:00.000Z",
|
|
984
|
+
startedBy: {
|
|
985
|
+
kind: "operator-cli",
|
|
986
|
+
actor: "directive-always-on-kill-switch",
|
|
987
|
+
mintedAt: "1970-01-01T00:00:00.000Z",
|
|
988
|
+
mintedVia: "cli",
|
|
989
|
+
eventRef: null,
|
|
990
|
+
},
|
|
991
|
+
suspendedAt: null,
|
|
992
|
+
note: "synthetic lease for always-on kill-switch plant grant gate (#6136)",
|
|
993
|
+
},
|
|
994
|
+
},
|
|
995
|
+
grants,
|
|
996
|
+
op: "settings",
|
|
997
|
+
path: options.relPath,
|
|
998
|
+
branch,
|
|
999
|
+
repo,
|
|
1000
|
+
worktree: projectRoot,
|
|
1001
|
+
});
|
|
1002
|
+
if (!decision.allowed) {
|
|
1003
|
+
decision = {
|
|
1004
|
+
...decision,
|
|
1005
|
+
reason: "Directive denied kill-switch / permanent opt-out plant without a human-origin " +
|
|
1006
|
+
"settings grant (#6136). Agents must not self-serve `.deft-directive-disable` or " +
|
|
1007
|
+
"`.no-deft-directive`. Human action required: plant outside an agent session, or " +
|
|
1008
|
+
"run `deft authz:grant` covering settings for this cohort.",
|
|
1009
|
+
};
|
|
1010
|
+
}
|
|
1011
|
+
}
|
|
895
1012
|
recordAuthzAudit(projectRoot, decision, state, seams);
|
|
896
1013
|
if (!decision.allowed) {
|
|
897
1014
|
return deny(input, authzCodeToHook(decision.code), toolName, decision.reason, options.scopePath);
|
|
@@ -1083,6 +1200,8 @@ function inspectMutationGates(input, toolName, seams, options) {
|
|
|
1083
1200
|
scopePath: null,
|
|
1084
1201
|
runGit: dispatchGit,
|
|
1085
1202
|
projectRoot,
|
|
1203
|
+
deferGrantConsume: options.deferGrantConsume === true,
|
|
1204
|
+
pendingConsumeOut: options.pendingConsumeOut,
|
|
1086
1205
|
});
|
|
1087
1206
|
if (authzDeny !== null)
|
|
1088
1207
|
return authzDeny;
|
|
@@ -1194,6 +1313,8 @@ function inspectMutationGates(input, toolName, seams, options) {
|
|
|
1194
1313
|
scopePath: null,
|
|
1195
1314
|
runGit: dispatchGit,
|
|
1196
1315
|
projectRoot,
|
|
1316
|
+
deferGrantConsume: options.deferGrantConsume === true,
|
|
1317
|
+
pendingConsumeOut: options.pendingConsumeOut,
|
|
1197
1318
|
});
|
|
1198
1319
|
if (authzDeny !== null)
|
|
1199
1320
|
return authzDeny;
|
|
@@ -1539,7 +1660,7 @@ function inspectMutationGates(input, toolName, seams, options) {
|
|
|
1539
1660
|
};
|
|
1540
1661
|
if (!isSpawnTool(toolName)) {
|
|
1541
1662
|
// Wave 1 authz (UAT lease + human-origin grant) before runtimeAuthority (#2944 / #2948 L1–L2).
|
|
1542
|
-
const pendingGrantConsume = [];
|
|
1663
|
+
const pendingGrantConsume = options.pendingConsumeOut ?? [];
|
|
1543
1664
|
const authzDeny = authzForMutationTargets(input, toolName, seams, {
|
|
1544
1665
|
isDirectWrite: true,
|
|
1545
1666
|
scopePath: scope.path,
|
|
@@ -1556,7 +1677,12 @@ function inspectMutationGates(input, toolName, seams, options) {
|
|
|
1556
1677
|
const runtimeDeny = runtimeAuthorityForDirectWrite(input, toolName, seams, scope.path, effectiveRoot);
|
|
1557
1678
|
if (runtimeDeny !== null)
|
|
1558
1679
|
return runtimeDeny;
|
|
1559
|
-
|
|
1680
|
+
// Shell write-reissue may defer spend so decideShellOrMcpRuntimeAuthority can
|
|
1681
|
+
// reuse the same single-use grant (#6136 Greptile P1). When pendingConsumeOut
|
|
1682
|
+
// is the same bag, authz already recorded refs — do not push twice.
|
|
1683
|
+
if (options.deferGrantConsume !== true) {
|
|
1684
|
+
consumePendingSingleUseGrants(projectRoot, pendingGrantConsume);
|
|
1685
|
+
}
|
|
1560
1686
|
// Intentional product-write allow: Prefer-A durable marker (#5176 / #4544).
|
|
1561
1687
|
const occupancyDeny = recheckOccupancyBeforeWriteAllow(true);
|
|
1562
1688
|
if (occupancyDeny !== null)
|
|
@@ -1812,29 +1938,37 @@ function decideGitDestructive(input, toolName) {
|
|
|
1812
1938
|
/**
|
|
1813
1939
|
* Authorize recognized in-repo Shell file-write dests through inspectMutationGates (#3983 / #3987).
|
|
1814
1940
|
* Deny is returned; allow falls through so dest-forms and push/merge still run.
|
|
1941
|
+
* Kill-switch basenames are checked before the in-repo skip so out-of-tree plants
|
|
1942
|
+
* cannot fail-open (#6136 Prefer-A Bound limb 2).
|
|
1815
1943
|
*/
|
|
1816
|
-
function decideShellWriteReissue(input, toolName, seams, observation) {
|
|
1944
|
+
function decideShellWriteReissue(input, toolName, seams, observation, pendingConsumeOut) {
|
|
1817
1945
|
const command = hookShellCommand(input.payload);
|
|
1818
1946
|
if (command === null)
|
|
1819
1947
|
return null;
|
|
1820
1948
|
const projectRoot = resolve(input.projectRoot);
|
|
1821
1949
|
for (const dest of classifyShellWriteTargets(command)) {
|
|
1950
|
+
const killSwitchDest = isKillSwitchShellWriteBasename(dest.path);
|
|
1822
1951
|
if (dest.unprovable === true) {
|
|
1823
|
-
if (!isInRepoShellWritePath(projectRoot, dest.path))
|
|
1952
|
+
if (!killSwitchDest && !isInRepoShellWritePath(projectRoot, dest.path))
|
|
1824
1953
|
continue;
|
|
1825
1954
|
return deny(input, "scope-not-ready", toolName, "Directive denied " +
|
|
1826
1955
|
toolName +
|
|
1827
1956
|
": Shell write dest is not reconstructable (compound command). Use one simple command or Edit/Write.");
|
|
1828
1957
|
}
|
|
1829
|
-
|
|
1958
|
+
// #6136: protected basename before isInRepoShellWritePath skip.
|
|
1959
|
+
if (!killSwitchDest && !isInRepoShellWritePath(projectRoot, dest.path))
|
|
1830
1960
|
continue;
|
|
1831
1961
|
const destInput = {
|
|
1832
1962
|
...input,
|
|
1833
1963
|
payload: payloadWithInjectedWriteTarget(input.payload, dest.path),
|
|
1834
1964
|
};
|
|
1965
|
+
// Defer single-use spend into pendingConsumeOut; caller spends after the whole
|
|
1966
|
+
// shell call allows so ordinary edit grants are not reusable (#6136 Greptile).
|
|
1835
1967
|
const destDecision = inspectMutationGates(destInput, toolName, seams, {
|
|
1836
1968
|
proposedLifecycleExempt: true,
|
|
1837
1969
|
observation,
|
|
1970
|
+
deferGrantConsume: true,
|
|
1971
|
+
pendingConsumeOut,
|
|
1838
1972
|
});
|
|
1839
1973
|
if (destDecision.verdict === "deny")
|
|
1840
1974
|
return destDecision;
|
|
@@ -2287,12 +2421,15 @@ function tryPublishApplyingHostFromSessionStart(input, projectRoot) {
|
|
|
2287
2421
|
const transport = identity.provider === "grok" && environ.GROK_HOOK_EVENT?.trim()
|
|
2288
2422
|
? "grok-hook-event"
|
|
2289
2423
|
: "native";
|
|
2424
|
+
// SessionStart soft claim may take over a no-lease different-provider record
|
|
2425
|
+
// (#6143 P1/P4); RO CLI path must omit allowForeignTakeover.
|
|
2290
2426
|
// Native Cursor SessionStart must stay cursor even when GROK_SESSION_ID lingers.
|
|
2291
2427
|
if (input.host === "cursor" && transport === "native") {
|
|
2292
2428
|
publishApplyingHost(projectRoot, {
|
|
2293
2429
|
provider: "cursor",
|
|
2294
2430
|
rawSessionId: identity.rawSessionId,
|
|
2295
2431
|
transport: "native",
|
|
2432
|
+
allowForeignTakeover: true,
|
|
2296
2433
|
});
|
|
2297
2434
|
return;
|
|
2298
2435
|
}
|
|
@@ -2300,6 +2437,7 @@ function tryPublishApplyingHostFromSessionStart(input, projectRoot) {
|
|
|
2300
2437
|
provider: identity.provider,
|
|
2301
2438
|
rawSessionId: identity.rawSessionId,
|
|
2302
2439
|
transport,
|
|
2440
|
+
allowForeignTakeover: true,
|
|
2303
2441
|
});
|
|
2304
2442
|
}
|
|
2305
2443
|
catch {
|
|
@@ -2386,6 +2524,8 @@ function attachLifecycleIdentityRewrite(input, toolName, decision, seams) {
|
|
|
2386
2524
|
: "native";
|
|
2387
2525
|
// Prefer deposit identity when it matches the named canonical owner.
|
|
2388
2526
|
const identity = resolveHookHostIdentity(input.host, input.payload, environ);
|
|
2527
|
+
// #6143 P4: RO SessionStart must not displace a different-provider fresh
|
|
2528
|
+
// record (omit allowForeignTakeover; publish defers foreign-fresh-claim).
|
|
2389
2529
|
if (identity.status === "ok" &&
|
|
2390
2530
|
identity.sessionId === lifecycle.sessionId &&
|
|
2391
2531
|
// Leftover GROK_SESSION_ID alone must not publish Cursor as Claude/grok.
|
|
@@ -2447,7 +2587,17 @@ function attachLifecycleIdentityRewrite(input, toolName, decision, seams) {
|
|
|
2447
2587
|
return denyIdentity("occupancy-identity-conflict", applyingAdmission.message);
|
|
2448
2588
|
}
|
|
2449
2589
|
let liveOwnerBypass = false;
|
|
2450
|
-
if (applyingAdmission.kind === "
|
|
2590
|
+
if (applyingAdmission.kind === "live-owner-cleanup") {
|
|
2591
|
+
// Deposit equals live lease holder (#6101 Prefer-A): effectiveOwner is the
|
|
2592
|
+
// live deposit identity; bare stays on the rewrite path (not soft-pass).
|
|
2593
|
+
liveOwnerBypass = true;
|
|
2594
|
+
}
|
|
2595
|
+
else if (applyingAdmission.kind === "advisory-takeover") {
|
|
2596
|
+
// #6143 P1: no-lease fresh applying-host is advisory; caller keeps identity
|
|
2597
|
+
// and may republish after lifecycle succeeds.
|
|
2598
|
+
liveOwnerBypass = true;
|
|
2599
|
+
}
|
|
2600
|
+
else if (applyingAdmission.kind === "foreign-owner") {
|
|
2451
2601
|
const live = liveOccupant(resolve(input.projectRoot));
|
|
2452
2602
|
if (live !== null && live.sessionId === identity.sessionId) {
|
|
2453
2603
|
// Applying-host was replaced by another SessionStart; keep live lease owner
|
|
@@ -2568,6 +2718,14 @@ function prepareProcessOnlyDestPath(destPath, projectRoot, seams, payload) {
|
|
|
2568
2718
|
destPath,
|
|
2569
2719
|
againstImplementationSha: against,
|
|
2570
2720
|
});
|
|
2721
|
+
// Strict false only: legacy success mocks may omit `ok` and still carry `record` (#6100).
|
|
2722
|
+
if (prepared.ok === false) {
|
|
2723
|
+
return {
|
|
2724
|
+
ok: false,
|
|
2725
|
+
message: `Directive denied process-only critic spawn: dest prepare failed: ${prepared.code}: ${prepared.message}. ` +
|
|
2726
|
+
"Parent must fetch origin and create or verify the dest at origin/<default> before spawn.",
|
|
2727
|
+
};
|
|
2728
|
+
}
|
|
2571
2729
|
return { ok: true, record: prepared.record };
|
|
2572
2730
|
}
|
|
2573
2731
|
catch (cause) {
|
|
@@ -3008,11 +3166,15 @@ function routeHookDecision(input, seams, observation) {
|
|
|
3008
3166
|
if (prospective !== null) {
|
|
3009
3167
|
return remapProxyShellUpdatedInput(input.payload, toolName, shellProxyUnwrap, attachLifecycleIdentityRewrite(shellInput, shellToolName, prospective, seams));
|
|
3010
3168
|
}
|
|
3011
|
-
const
|
|
3169
|
+
const pendingShellGrantConsume = [];
|
|
3170
|
+
const writeReissue = decideShellWriteReissue(shellInput, shellToolName, seams, observation, pendingShellGrantConsume);
|
|
3012
3171
|
if (writeReissue !== null) {
|
|
3013
3172
|
return remapProxyShellUpdatedInput(input.payload, toolName, shellProxyUnwrap, attachLifecycleIdentityRewrite(shellInput, shellToolName, writeReissue, seams));
|
|
3014
3173
|
}
|
|
3015
3174
|
const decision = decideShellDestFormsThenRuntimeAuthority(shellInput, shellToolName, seams, observation);
|
|
3175
|
+
if (decision.verdict === "allow") {
|
|
3176
|
+
consumePendingSingleUseGrants(resolve(shellInput.projectRoot), pendingShellGrantConsume);
|
|
3177
|
+
}
|
|
3016
3178
|
return remapProxyShellUpdatedInput(input.payload, toolName, shellProxyUnwrap, attachLifecycleIdentityRewrite(shellInput, shellToolName, decision, seams));
|
|
3017
3179
|
}
|
|
3018
3180
|
// Host kill deny-class / attestation gate (#5281 Prefer-A Bound).
|