@deftai/directive-runtime 0.129.6 → 0.129.7

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.
Files changed (85) hide show
  1. package/Taskfile.yml +94 -13
  2. package/commands.md +5 -3
  3. package/dist/session-start.d.ts +8 -2
  4. package/dist/session-start.js +33 -12
  5. package/dist/vbrief-preflight.d.ts +4 -0
  6. package/dist/vbrief-preflight.js +34 -0
  7. package/dist/verify-scope-provenance.d.ts +13 -1
  8. package/dist/verify-scope-provenance.js +44 -1
  9. package/docs/getting-started.md +2 -0
  10. package/docs/scope-provenance.md +15 -1
  11. package/package.json +1 -1
  12. package/packs/skills/skills-pack-0.1.json +1 -1
  13. package/skills/deft-directive-review-cycle/SKILL.md +15 -6
  14. package/skills/deft-directive-swarm/references/host-grok-build.md +3 -2
  15. package/vendor/directive-content/Taskfile.yml +94 -13
  16. package/vendor/directive-content/commands.md +5 -3
  17. package/vendor/directive-content/docs/getting-started.md +2 -0
  18. package/vendor/directive-content/docs/scope-provenance.md +15 -1
  19. package/vendor/directive-content/packs/skills/skills-pack-0.1.json +1 -1
  20. package/vendor/directive-content/skills/deft-directive-review-cycle/SKILL.md +15 -6
  21. package/vendor/directive-content/skills/deft-directive-swarm/references/host-grok-build.md +3 -2
  22. package/vendor/directive-core/dist/.tsbuildinfo +1 -1
  23. package/vendor/directive-core/dist/fs/contained-write.d.ts +8 -2
  24. package/vendor/directive-core/dist/fs/contained-write.d.ts.map +1 -1
  25. package/vendor/directive-core/dist/fs/contained-write.js +22 -6
  26. package/vendor/directive-core/dist/fs/contained-write.js.map +1 -1
  27. package/vendor/directive-core/dist/hooks/dispatcher.d.ts +1 -1
  28. package/vendor/directive-core/dist/hooks/dispatcher.d.ts.map +1 -1
  29. package/vendor/directive-core/dist/hooks/dispatcher.js +116 -4
  30. package/vendor/directive-core/dist/hooks/dispatcher.js.map +1 -1
  31. package/vendor/directive-core/dist/init-deposit/agent-hooks.d.ts +26 -1
  32. package/vendor/directive-core/dist/init-deposit/agent-hooks.d.ts.map +1 -1
  33. package/vendor/directive-core/dist/init-deposit/agent-hooks.js +52 -3
  34. package/vendor/directive-core/dist/init-deposit/agent-hooks.js.map +1 -1
  35. package/vendor/directive-core/dist/init-deposit/host-hook-outer.d.ts +43 -0
  36. package/vendor/directive-core/dist/init-deposit/host-hook-outer.d.ts.map +1 -1
  37. package/vendor/directive-core/dist/init-deposit/host-hook-outer.js +148 -0
  38. package/vendor/directive-core/dist/init-deposit/host-hook-outer.js.map +1 -1
  39. package/vendor/directive-core/dist/pr-merge-readiness/slizard-gate.d.ts +10 -5
  40. package/vendor/directive-core/dist/pr-merge-readiness/slizard-gate.d.ts.map +1 -1
  41. package/vendor/directive-core/dist/pr-merge-readiness/slizard-gate.js +41 -18
  42. package/vendor/directive-core/dist/pr-merge-readiness/slizard-gate.js.map +1 -1
  43. package/vendor/directive-core/dist/preflight-gh/pre-push.d.ts +3 -2
  44. package/vendor/directive-core/dist/preflight-gh/pre-push.d.ts.map +1 -1
  45. package/vendor/directive-core/dist/preflight-gh/pre-push.js +19 -18
  46. package/vendor/directive-core/dist/preflight-gh/pre-push.js.map +1 -1
  47. package/vendor/directive-core/dist/scope/delivery-evidence.d.ts +202 -19
  48. package/vendor/directive-core/dist/scope/delivery-evidence.d.ts.map +1 -1
  49. package/vendor/directive-core/dist/scope/delivery-evidence.js +948 -107
  50. package/vendor/directive-core/dist/scope/delivery-evidence.js.map +1 -1
  51. package/vendor/directive-core/dist/scope/transition.d.ts +4 -1
  52. package/vendor/directive-core/dist/scope/transition.d.ts.map +1 -1
  53. package/vendor/directive-core/dist/scope/transition.js +2 -2
  54. package/vendor/directive-core/dist/scope/transition.js.map +1 -1
  55. package/vendor/directive-core/dist/scope-provenance/base-fence.d.ts +11 -2
  56. package/vendor/directive-core/dist/scope-provenance/base-fence.d.ts.map +1 -1
  57. package/vendor/directive-core/dist/scope-provenance/base-fence.js +16 -1
  58. package/vendor/directive-core/dist/scope-provenance/base-fence.js.map +1 -1
  59. package/vendor/directive-core/dist/scope-provenance/evaluate.d.ts +12 -0
  60. package/vendor/directive-core/dist/scope-provenance/evaluate.d.ts.map +1 -1
  61. package/vendor/directive-core/dist/scope-provenance/evaluate.js +41 -5
  62. package/vendor/directive-core/dist/scope-provenance/evaluate.js.map +1 -1
  63. package/vendor/directive-core/dist/scope-provenance/forge-approval.d.ts +106 -0
  64. package/vendor/directive-core/dist/scope-provenance/forge-approval.d.ts.map +1 -0
  65. package/vendor/directive-core/dist/scope-provenance/forge-approval.js +382 -0
  66. package/vendor/directive-core/dist/scope-provenance/forge-approval.js.map +1 -0
  67. package/vendor/directive-core/dist/session/orientation-compression.d.ts +18 -2
  68. package/vendor/directive-core/dist/session/orientation-compression.d.ts.map +1 -1
  69. package/vendor/directive-core/dist/session/orientation-compression.js +38 -5
  70. package/vendor/directive-core/dist/session/orientation-compression.js.map +1 -1
  71. package/vendor/directive-core/dist/session/session-start.d.ts +47 -2
  72. package/vendor/directive-core/dist/session/session-start.d.ts.map +1 -1
  73. package/vendor/directive-core/dist/session/session-start.js +149 -1
  74. package/vendor/directive-core/dist/session/session-start.js.map +1 -1
  75. package/vendor/directive-core/dist/swarm/approach1-babysitter.d.ts +18 -4
  76. package/vendor/directive-core/dist/swarm/approach1-babysitter.d.ts.map +1 -1
  77. package/vendor/directive-core/dist/swarm/approach1-babysitter.js +28 -4
  78. package/vendor/directive-core/dist/swarm/approach1-babysitter.js.map +1 -1
  79. package/vendor/directive-core/dist/swarm/finalize-cohort.d.ts +29 -0
  80. package/vendor/directive-core/dist/swarm/finalize-cohort.d.ts.map +1 -1
  81. package/vendor/directive-core/dist/swarm/finalize-cohort.js +122 -11
  82. package/vendor/directive-core/dist/swarm/finalize-cohort.js.map +1 -1
  83. package/vendor/directive-core/dist/triage/evaluate/worktrees.d.ts.map +1 -1
  84. package/vendor/directive-core/dist/triage/evaluate/worktrees.js +219 -60
  85. package/vendor/directive-core/dist/triage/evaluate/worktrees.js.map +1 -1
@@ -0,0 +1,382 @@
1
+ /**
2
+ * Forge-approved head-brief membership admit (#6203).
3
+ *
4
+ * Membership (#4774 / #5192) trusts a brief's file_scope only from the merge
5
+ * base, so a PR that carries a new or widened brief plus its code is refused.
6
+ * This module supplies the only other accepted proof: a currently effective
7
+ * GitHub APPROVED review, by a non-author User with repo write, whose reviewed
8
+ * commit holds a brief with the same auth-hash v1 as the evaluated PR head.
9
+ *
10
+ * Auth-hash v1 covers plan.id, the xbrief path, the concrete file_scope, and
11
+ * the acceptanceCriteria array. Delivery metadata (plan.metadata.productPullRequest
12
+ * and the rest of plan.metadata) stays out, so a PPR stamp does not drop the
13
+ * approval.
14
+ *
15
+ * Every failure (no PR context, forge unavailable, Bot/App reviewer, withdrawn
16
+ * review, hash mismatch, head mismatch) returns a reject verdict. The caller
17
+ * keeps today's Path B or mint remediation. This module never throws.
18
+ *
19
+ * Residual: an agent that holds a second human forge token can satisfy these
20
+ * predicates. That confused-deputy posture stays on #6207; the hash does not
21
+ * close it.
22
+ */
23
+ import { spawnSync } from "node:child_process";
24
+ import { createHash } from "node:crypto";
25
+ import { parseGitHubRepoSlug } from "../text/redos-safe.js";
26
+ import { isConcreteFileScopeEntry } from "./base-fence.js";
27
+ import { extractFileScope, extractPlanId, normalizeFileScope } from "./digest.js";
28
+ export const FORGE_AUTH_HASH_SCHEMA = "deft.scope.forge-auth-hash.v1";
29
+ /** Review page cap: 10 pages x 100 reviews. Past the cap the proof is unavailable. */
30
+ const REVIEW_PAGE_SIZE = Number("100");
31
+ const REVIEW_PAGE_CAP = Number("10");
32
+ /** SHA-1 (40 hex) or SHA-256 (64 hex) object ids. */
33
+ const SHA_RE = /^(?:[0-9a-f]{40}|[0-9a-f]{64})$/;
34
+ const REPO_RE = /^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/;
35
+ const WRITE_PERMISSIONS = new Set(["admin", "maintain", "write"]);
36
+ function asRecord(value) {
37
+ if (value === null || typeof value !== "object" || Array.isArray(value))
38
+ return null;
39
+ return value;
40
+ }
41
+ function normalizeRel(raw) {
42
+ return raw.replace(/\\/g, "/").replace(/^\.\//, "");
43
+ }
44
+ function collectItemAcceptance(items, out) {
45
+ if (!Array.isArray(items))
46
+ return;
47
+ for (const item of items) {
48
+ const rec = asRecord(item);
49
+ if (rec === null)
50
+ continue;
51
+ const narrative = asRecord(rec.narrative);
52
+ if (narrative !== null && narrative.Acceptance !== undefined) {
53
+ out.push({
54
+ source: "plan.items[].narrative.Acceptance",
55
+ id: typeof rec.id === "string" ? rec.id : null,
56
+ value: narrative.Acceptance,
57
+ });
58
+ }
59
+ collectItemAcceptance(rec.subItems, out);
60
+ collectItemAcceptance(rec.items, out);
61
+ }
62
+ }
63
+ /**
64
+ * The acceptanceCriteria array of auth-hash v1, in document order:
65
+ * plan.acceptance, plan.narratives.AcceptanceCriteria, then each item's
66
+ * narrative.Acceptance (nested subItems / items depth-first).
67
+ */
68
+ export function collectAcceptanceCriteria(payload) {
69
+ const plan = asRecord(asRecord(payload)?.plan);
70
+ if (plan === null)
71
+ return [];
72
+ const out = [];
73
+ if (plan.acceptance !== undefined) {
74
+ out.push({ source: "plan.acceptance", value: plan.acceptance });
75
+ }
76
+ const narratives = asRecord(plan.narratives);
77
+ if (narratives !== null && narratives.AcceptanceCriteria !== undefined) {
78
+ out.push({
79
+ source: "plan.narratives.AcceptanceCriteria",
80
+ value: narratives.AcceptanceCriteria,
81
+ });
82
+ }
83
+ collectItemAcceptance(plan.items, out);
84
+ return out;
85
+ }
86
+ /** Auth-hash v1 preimage, or null when the brief has no plan.id. */
87
+ export function buildAuthHashV1Preimage(payload, xbriefRelPath) {
88
+ const planId = extractPlanId(payload);
89
+ if (planId === null)
90
+ return null;
91
+ return {
92
+ schema: FORGE_AUTH_HASH_SCHEMA,
93
+ planId,
94
+ xbriefPath: normalizeRel(xbriefRelPath),
95
+ fileScope: normalizeFileScope(extractFileScope(payload)).filter((e) => isConcreteFileScopeEntry(e)),
96
+ acceptanceCriteria: collectAcceptanceCriteria(payload),
97
+ };
98
+ }
99
+ /**
100
+ * Canonical form for the hash: object keys sorted by UTF-16 code unit, arrays
101
+ * in order, strings byte-exact. No Unicode normalization: membership compares
102
+ * paths exactly, so two spellings of one visible name are two files and must
103
+ * hash apart.
104
+ */
105
+ function canonicalize(value) {
106
+ if (Array.isArray(value))
107
+ return value.map(canonicalize);
108
+ if (value !== null && typeof value === "object") {
109
+ const rec = value;
110
+ const out = {};
111
+ for (const key of Object.keys(rec).sort((a, b) => (a < b ? -1 : a > b ? 1 : 0))) {
112
+ out[key] = canonicalize(rec[key]);
113
+ }
114
+ return out;
115
+ }
116
+ return value;
117
+ }
118
+ /** `sha256:<hex>` over canonical JSON of the v1 preimage; null without plan.id. */
119
+ export function computeAuthHashV1(payload, xbriefRelPath) {
120
+ const preimage = buildAuthHashV1Preimage(payload, xbriefRelPath);
121
+ if (preimage === null)
122
+ return null;
123
+ const canonical = JSON.stringify(canonicalize(preimage));
124
+ return `sha256:${createHash("sha256").update(canonical, "utf8").digest("hex")}`;
125
+ }
126
+ function runGh(args) {
127
+ const r = spawnSync("gh", [...args], {
128
+ encoding: "utf8",
129
+ stdio: ["ignore", "pipe", "pipe"],
130
+ timeout: 30_000,
131
+ maxBuffer: 64 * 1024 * 1024,
132
+ });
133
+ if (r.error !== undefined) {
134
+ return { ok: false, detail: `gh unavailable: ${String(r.error.message)}` };
135
+ }
136
+ if (r.status !== 0) {
137
+ const err = String(r.stderr ?? "").trim();
138
+ return { ok: false, detail: `gh api exit ${String(r.status)}${err ? `: ${err}` : ""}` };
139
+ }
140
+ return { ok: true, value: String(r.stdout ?? "") };
141
+ }
142
+ export const defaultForgeApprovalReader = {
143
+ getJson: (path) => {
144
+ const r = runGh(["api", path]);
145
+ if (!r.ok)
146
+ return r;
147
+ try {
148
+ return { ok: true, value: JSON.parse(r.value) };
149
+ }
150
+ catch {
151
+ return { ok: false, detail: `gh api ${path}: unreadable JSON` };
152
+ }
153
+ },
154
+ getRaw: (path) => runGh(["api", "-H", "Accept: application/vnd.github.raw", path]),
155
+ };
156
+ export function defaultForgeApprovalGit(projectRoot) {
157
+ const run = (args) => {
158
+ const r = spawnSync("git", args, {
159
+ cwd: projectRoot,
160
+ encoding: "utf8",
161
+ stdio: ["ignore", "pipe", "ignore"],
162
+ });
163
+ if (r.error !== undefined || r.status !== 0)
164
+ return null;
165
+ return String(r.stdout ?? "").trim();
166
+ };
167
+ return {
168
+ headSha: () => {
169
+ const out = run(["rev-parse", "HEAD"]);
170
+ return out !== null && SHA_RE.test(out) ? out : null;
171
+ },
172
+ headParents: () => {
173
+ const out = run(["rev-list", "--parents", "-n", "1", "HEAD"]);
174
+ if (out === null)
175
+ return [];
176
+ return out
177
+ .split(/\s+/)
178
+ .slice(1)
179
+ .filter((s) => SHA_RE.test(s));
180
+ },
181
+ originRepo: () => {
182
+ const out = run(["remote", "get-url", "origin"]);
183
+ return out === null ? null : parseGitHubRepoSlug(out);
184
+ },
185
+ };
186
+ }
187
+ function toReview(raw) {
188
+ const rec = asRecord(raw);
189
+ if (rec === null || typeof rec.state !== "string")
190
+ return null;
191
+ const user = asRecord(rec.user);
192
+ return {
193
+ login: typeof user?.login === "string" ? user.login : null,
194
+ userType: typeof user?.type === "string" ? user.type : null,
195
+ state: rec.state.toUpperCase(),
196
+ commitId: typeof rec.commit_id === "string" ? rec.commit_id.toLowerCase() : null,
197
+ };
198
+ }
199
+ const DECIDING_STATES = new Set(["APPROVED", "CHANGES_REQUESTED", "DISMISSED"]);
200
+ /**
201
+ * Currently effective approvals: per reviewer, the latest APPROVED /
202
+ * CHANGES_REQUESTED / DISMISSED review decides; COMMENTED and PENDING never
203
+ * override. Returns reviewers whose deciding review is APPROVED, latest first.
204
+ */
205
+ export function effectiveApprovals(reviews) {
206
+ const latest = new Map();
207
+ reviews.forEach((review, index) => {
208
+ if (review.login === null)
209
+ return;
210
+ if (!DECIDING_STATES.has(review.state))
211
+ return;
212
+ latest.set(review.login.toLowerCase(), { review, index });
213
+ });
214
+ return [...latest.values()]
215
+ .filter((e) => e.review.state === "APPROVED")
216
+ .sort((a, b) => b.index - a.index)
217
+ .map((e) => e.review);
218
+ }
219
+ function encodePath(rel) {
220
+ return normalizeRel(rel)
221
+ .split("/")
222
+ .map((seg) => encodeURIComponent(seg))
223
+ .join("/");
224
+ }
225
+ function hashAtCommit(reader, repo, xbriefRelPath, sha) {
226
+ const short = sha.slice(0, 7);
227
+ const raw = reader.getRaw(`repos/${repo}/contents/${encodePath(xbriefRelPath)}?ref=${sha}`);
228
+ if (!raw.ok)
229
+ return { ok: false, detail: `brief unreadable at ${short}: ${raw.detail}` };
230
+ let payload;
231
+ try {
232
+ payload = JSON.parse(raw.value);
233
+ }
234
+ catch {
235
+ return { ok: false, detail: `brief at ${short} is unreadable JSON` };
236
+ }
237
+ const hash = computeAuthHashV1(payload, xbriefRelPath);
238
+ if (hash === null)
239
+ return { ok: false, detail: `brief at ${short} has no plan.id` };
240
+ return { ok: true, value: hash };
241
+ }
242
+ function listReviews(reader, repo, prNumber) {
243
+ const out = [];
244
+ for (let page = 1; page <= REVIEW_PAGE_CAP; page += 1) {
245
+ const r = reader.getJson(`repos/${repo}/pulls/${String(prNumber)}/reviews?per_page=${String(REVIEW_PAGE_SIZE)}&page=${String(page)}`);
246
+ if (!r.ok)
247
+ return { ok: false, detail: `reviews unavailable: ${r.detail}` };
248
+ if (!Array.isArray(r.value))
249
+ return { ok: false, detail: "reviews response is not an array" };
250
+ for (const raw of r.value) {
251
+ const review = toReview(raw);
252
+ if (review !== null)
253
+ out.push(review);
254
+ }
255
+ if (r.value.length < REVIEW_PAGE_SIZE)
256
+ return { ok: true, value: out };
257
+ }
258
+ return { ok: false, detail: `more than ${String(REVIEW_PAGE_CAP)} review pages` };
259
+ }
260
+ function hasWritePermission(reader, repo, login) {
261
+ const r = reader.getJson(`repos/${repo}/collaborators/${encodeURIComponent(login)}/permission`);
262
+ if (!r.ok)
263
+ return { ok: false, detail: `permission unavailable: ${r.detail}` };
264
+ const rec = asRecord(r.value);
265
+ const permission = typeof rec?.permission === "string" ? rec.permission.toLowerCase() : "";
266
+ const role = typeof rec?.role_name === "string" ? rec.role_name.toLowerCase() : "";
267
+ return { ok: true, value: WRITE_PERMISSIONS.has(permission) || WRITE_PERMISSIONS.has(role) };
268
+ }
269
+ /**
270
+ * Decide whether a qualifying forge approval admits the evaluated head brief
271
+ * for membership. Never throws; any failure is a reject with a reason.
272
+ */
273
+ export function evaluateForgeHeadBriefApproval(input) {
274
+ try {
275
+ return evaluateUnsafe(input);
276
+ }
277
+ catch (err) {
278
+ return {
279
+ kind: "reject",
280
+ reason: `forge proof unavailable: ${err instanceof Error ? err.message : String(err)}`,
281
+ };
282
+ }
283
+ }
284
+ function evaluateUnsafe(input) {
285
+ // Operational deny: a returned verdict, never a throw (Path B fallback).
286
+ const deny = (reason) => ({ kind: "reject", reason });
287
+ const { context } = input;
288
+ const rel = normalizeRel(input.xbriefRelPath);
289
+ const headHash = computeAuthHashV1(input.headPayload, rel);
290
+ if (headHash === null)
291
+ return deny("head brief has no plan.id");
292
+ if (!Number.isInteger(context.prNumber) || context.prNumber <= 0) {
293
+ return deny("no PR number");
294
+ }
295
+ const git = context.git ?? defaultForgeApprovalGit(input.projectRoot);
296
+ // Repo identity comes from the checkout, never from the caller: a supplied
297
+ // repo may only confirm it, so a fork's approval cannot authorize here.
298
+ const repo = git.originRepo();
299
+ if (repo === null || !REPO_RE.test(repo))
300
+ return deny("project repo unresolved (origin)");
301
+ const requested = context.repo ?? "";
302
+ if (requested.length > 0 && requested.toLowerCase() !== repo.toLowerCase()) {
303
+ return deny(`requested repo ${requested} is not the project repo ${repo}`);
304
+ }
305
+ const reader = context.reader ?? defaultForgeApprovalReader;
306
+ const pull = reader.getJson(`repos/${repo}/pulls/${String(context.prNumber)}`);
307
+ if (!pull.ok)
308
+ return deny(`PR unavailable: ${pull.detail}`);
309
+ const pr = asRecord(pull.value);
310
+ const head = asRecord(pr?.head);
311
+ const baseRepo = asRecord(asRecord(pr?.base)?.repo);
312
+ const author = asRecord(pr?.user);
313
+ const headSha = typeof head?.sha === "string" ? head.sha.toLowerCase() : "";
314
+ const authorLogin = typeof author?.login === "string" ? author.login.toLowerCase() : "";
315
+ if (pr === null || pr.number !== context.prNumber)
316
+ return deny("PR number mismatch");
317
+ if (typeof baseRepo?.full_name !== "string" ||
318
+ baseRepo.full_name.toLowerCase() !== repo.toLowerCase()) {
319
+ return deny("PR base repo does not match");
320
+ }
321
+ if (!SHA_RE.test(headSha))
322
+ return deny("PR head sha unreadable");
323
+ if (authorLogin.length === 0)
324
+ return deny("PR author unreadable");
325
+ // Candidate head binding: the evaluated tree is the PR head, or GitHub's
326
+ // synthetic merge commit whose second parent is the PR head.
327
+ const localHead = git.headSha();
328
+ const parents = git.headParents();
329
+ const bound = localHead === headSha || (parents.length === 2 && parents[1] === headSha);
330
+ if (!bound)
331
+ return deny("evaluated HEAD is not the PR head");
332
+ const prHeadHash = hashAtCommit(reader, repo, rel, headSha);
333
+ if (!prHeadHash.ok)
334
+ return deny(prHeadHash.detail);
335
+ if (prHeadHash.value !== headHash) {
336
+ return deny("evaluated brief differs from the PR head brief");
337
+ }
338
+ const reviews = listReviews(reader, repo, context.prNumber);
339
+ if (!reviews.ok)
340
+ return deny(reviews.detail);
341
+ const approvals = effectiveApprovals(reviews.value);
342
+ if (approvals.length === 0)
343
+ return deny("no currently effective APPROVED review");
344
+ const skipped = [];
345
+ for (const review of approvals) {
346
+ const login = review.login ?? "";
347
+ if (review.userType !== "User" || login.toLowerCase().endsWith("[bot]")) {
348
+ skipped.push(`${login}: not a User`);
349
+ continue;
350
+ }
351
+ if (login.toLowerCase() === authorLogin) {
352
+ skipped.push(`${login}: PR author`);
353
+ continue;
354
+ }
355
+ const commitId = review.commitId ?? "";
356
+ if (!SHA_RE.test(commitId)) {
357
+ skipped.push(`${login}: review commit unreadable`);
358
+ continue;
359
+ }
360
+ const reviewed = commitId === headSha ? prHeadHash : hashAtCommit(reader, repo, rel, commitId);
361
+ if (!reviewed.ok) {
362
+ skipped.push(`${login}: ${reviewed.detail}`);
363
+ continue;
364
+ }
365
+ if (reviewed.value !== headHash) {
366
+ skipped.push(`${login}: auth-hash mismatch`);
367
+ continue;
368
+ }
369
+ const perm = hasWritePermission(reader, repo, login);
370
+ if (!perm.ok) {
371
+ skipped.push(`${login}: ${perm.detail}`);
372
+ continue;
373
+ }
374
+ if (!perm.value) {
375
+ skipped.push(`${login}: no repo write`);
376
+ continue;
377
+ }
378
+ return { kind: "admit", approver: login, commitId, authHash: headHash };
379
+ }
380
+ return deny(`no qualifying approval (${skipped.join("; ")})`);
381
+ }
382
+ //# sourceMappingURL=forge-approval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forge-approval.js","sourceRoot":"","sources":["../../src/scope-provenance/forge-approval.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,15 @@ import { type EvaluateOptions, evaluate as evaluateCacheFresh } from "../preflig
12
12
  import { type ComputeDepositShaOptions } from "./deposit-sha.js";
13
13
  import { type OrientationState } from "./orientation-state.js";
14
14
  import { type ToolchainPreflightOptions, type ToolchainPreflightResult } from "./toolchain-preflight.js";
15
- /** Env opt-in for compact orientation output (#3286). Verbose remains default. */
15
+ /**
16
+ * Env opt-in for compact orientation *section* formatting (#3286).
17
+ * #4966: not the whole-stdout volume gate — that is `--verbose` /
18
+ * `DEFT_SESSION_VERBOSE`. Tip `--compact` / this env are deprecated as
19
+ * volume controls (no-op for human stdout selection).
20
+ */
16
21
  export declare const ENV_SESSION_COMPACT = "DEFT_SESSION_COMPACT";
22
+ /** Env opt-in restoring full session:start ceremony dump (#4966). */
23
+ export declare const ENV_SESSION_VERBOSE = "DEFT_SESSION_VERBOSE";
17
24
  /** Dual-path Later graduation status — Now ships without closing Later (#2899). */
18
25
  export declare const ORIENTATION_LATER_STATUS: "open";
19
26
  export declare const ORIENTATION_LATER_COMMAND = "deft orient";
@@ -74,8 +81,17 @@ export interface RunOrientationOptions {
74
81
  readonly includeAgentsRefresh?: boolean;
75
82
  readonly includeCacheFresh?: boolean;
76
83
  }
77
- /** Resolve compact flag: explicit option wins, else DEFT_SESSION_COMPACT. */
84
+ /**
85
+ * Resolve orientation compact formatting (#3286).
86
+ * Explicit option wins, else DEFT_SESSION_COMPACT. Does not control whole-stdout
87
+ * volume (#4966); use resolveSessionVerbose / DEFT_SESSION_VERBOSE for that.
88
+ */
78
89
  export declare function resolveSessionCompact(options?: Pick<RunOrientationOptions, "compact" | "env">): boolean;
90
+ /** Resolve whole-stdout ceremony dump: explicit option wins, else DEFT_SESSION_VERBOSE. */
91
+ export declare function resolveSessionVerbose(options?: {
92
+ readonly verbose?: boolean;
93
+ readonly env?: NodeJS.ProcessEnv;
94
+ }): boolean;
79
95
  /** Compact machine lines (one per section). Verbose default keeps prose. */
80
96
  export declare function formatOrientationCompactLines(sections: readonly OrientationSectionResult[]): string[];
81
97
  export declare function formatOrientationVerboseLines(sections: readonly OrientationSectionResult[]): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"orientation-compression.d.ts","sourceRoot":"","sources":["../../src/session/orientation-compression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orientation-compression.d.ts","sourceRoot":"","sources":["../../src/session/orientation-compression.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,15 @@ import { evaluate as evaluateCacheFresh, } from "../preflight-cache/evaluate.js"
14
14
  import { computeDepositSha, DEPOSIT_SHA_MATCH_NOOP, formatDepositShaMatchLine, } from "./deposit-sha.js";
15
15
  import { readOrientationState, surfaceRecord, writeOrientationState, } from "./orientation-state.js";
16
16
  import { runToolchainPreflight, toolchainPreflightToDict, } from "./toolchain-preflight.js";
17
- /** Env opt-in for compact orientation output (#3286). Verbose remains default. */
17
+ /**
18
+ * Env opt-in for compact orientation *section* formatting (#3286).
19
+ * #4966: not the whole-stdout volume gate — that is `--verbose` /
20
+ * `DEFT_SESSION_VERBOSE`. Tip `--compact` / this env are deprecated as
21
+ * volume controls (no-op for human stdout selection).
22
+ */
18
23
  export const ENV_SESSION_COMPACT = "DEFT_SESSION_COMPACT";
24
+ /** Env opt-in restoring full session:start ceremony dump (#4966). */
25
+ export const ENV_SESSION_VERBOSE = "DEFT_SESSION_VERBOSE";
19
26
  /** Dual-path Later graduation status — Now ships without closing Later (#2899). */
20
27
  export const ORIENTATION_LATER_STATUS = "open";
21
28
  export const ORIENTATION_LATER_COMMAND = "deft orient";
@@ -27,7 +34,11 @@ function elapsedMs(started) {
27
34
  function truthyEnv(raw) {
28
35
  return new Set(["1", "true", "yes", "on"]).has((raw ?? "").trim().toLowerCase());
29
36
  }
30
- /** Resolve compact flag: explicit option wins, else DEFT_SESSION_COMPACT. */
37
+ /**
38
+ * Resolve orientation compact formatting (#3286).
39
+ * Explicit option wins, else DEFT_SESSION_COMPACT. Does not control whole-stdout
40
+ * volume (#4966); use resolveSessionVerbose / DEFT_SESSION_VERBOSE for that.
41
+ */
31
42
  export function resolveSessionCompact(options = {}) {
32
43
  if (options.compact === true)
33
44
  return true;
@@ -36,15 +47,37 @@ export function resolveSessionCompact(options = {}) {
36
47
  const env = options.env ?? process.env;
37
48
  return truthyEnv(env[ENV_SESSION_COMPACT]);
38
49
  }
50
+ /** Resolve whole-stdout ceremony dump: explicit option wins, else DEFT_SESSION_VERBOSE. */
51
+ export function resolveSessionVerbose(options = {}) {
52
+ if (options.verbose === true)
53
+ return true;
54
+ if (options.verbose === false)
55
+ return false;
56
+ const env = options.env ?? process.env;
57
+ return truthyEnv(env[ENV_SESSION_VERBOSE]);
58
+ }
39
59
  function statusLine(name, status) {
40
60
  return `[deft orientation] ${name}: ${status}`;
41
61
  }
42
62
  /** Compact machine lines (one per section). Verbose default keeps prose. */
43
63
  export function formatOrientationCompactLines(sections) {
44
- return sections.map((s) => {
64
+ const out = [];
65
+ for (const s of sections) {
45
66
  const tag = s.shaMatch ? "sha_match" : s.status;
46
- return `${s.name}=${tag}`;
47
- });
67
+ out.push(`${s.name}=${tag}`);
68
+ // #4966 P3: compact must still emit actionable repair detail so quiet
69
+ // always-on can keep MISSING cause/remedy and dirty cache_fresh lines.
70
+ if (s.status === "degraded" || s.status === "error" || s.status === "dirty") {
71
+ for (const line of s.lines) {
72
+ if ((line.startsWith("[deft preflight]") && /\bMISSING\b/.test(line)) ||
73
+ line.startsWith("❌ deft cache-fresh:") ||
74
+ line.startsWith("⚠ deft cache-fresh:")) {
75
+ out.push(line);
76
+ }
77
+ }
78
+ }
79
+ }
80
+ return out;
48
81
  }
49
82
  export function formatOrientationVerboseLines(sections) {
50
83
  const out = [];
@@ -1 +1 @@
1
- {"version":3,"file":"orientation-compression.js","sourceRoot":"","sources":["../../src/session/orientation-compression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orientation-compression.js","sourceRoot":"","sources":["../../src/session/orientation-compression.ts"],"names":[],"mappings":"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"}