@deftai/directive-runtime 0.129.5 → 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.
- package/Taskfile.yml +316 -0
- package/UPGRADING.md +1 -0
- package/commands.md +5 -3
- 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.d.ts +8 -2
- package/dist/session-start.js +70 -15
- package/dist/setup-wiring.d.ts +36 -0
- package/dist/setup-wiring.js +169 -14
- package/dist/vbrief-preflight.d.ts +4 -0
- package/dist/vbrief-preflight.js +34 -0
- package/dist/verify-scope-provenance.d.ts +13 -1
- package/dist/verify-scope-provenance.js +44 -1
- 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/docs/getting-started.md +2 -0
- package/docs/scope-provenance.md +15 -1
- package/package.json +2 -3
- package/packs/lessons/lessons-pack-0.1.json +15 -0
- package/packs/skills/skills-pack-0.1.json +3 -3
- package/skills/deft-directive-design-critique/SKILL.md +1 -1
- package/skills/deft-directive-release/SKILL.md +31 -1
- package/skills/deft-directive-review-cycle/SKILL.md +15 -6
- package/skills/deft-directive-swarm/references/host-grok-build.md +3 -2
- package/vendor/directive-content/Taskfile.yml +316 -0
- package/vendor/directive-content/UPGRADING.md +1 -0
- package/vendor/directive-content/commands.md +5 -3
- 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/docs/getting-started.md +2 -0
- package/vendor/directive-content/docs/scope-provenance.md +15 -1
- package/vendor/directive-content/packs/lessons/lessons-pack-0.1.json +15 -0
- package/vendor/directive-content/packs/skills/skills-pack-0.1.json +3 -3
- 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-content/skills/deft-directive-review-cycle/SKILL.md +15 -6
- package/vendor/directive-content/skills/deft-directive-swarm/references/host-grok-build.md +3 -2
- 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/fs/contained-write.d.ts +8 -2
- package/vendor/directive-core/dist/fs/contained-write.d.ts.map +1 -1
- package/vendor/directive-core/dist/fs/contained-write.js +22 -6
- package/vendor/directive-core/dist/fs/contained-write.js.map +1 -1
- package/vendor/directive-core/dist/hooks/dispatcher.d.ts +1 -1
- package/vendor/directive-core/dist/hooks/dispatcher.d.ts.map +1 -1
- package/vendor/directive-core/dist/hooks/dispatcher.js +290 -16
- 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/agent-hooks.d.ts +26 -1
- package/vendor/directive-core/dist/init-deposit/agent-hooks.d.ts.map +1 -1
- package/vendor/directive-core/dist/init-deposit/agent-hooks.js +52 -3
- package/vendor/directive-core/dist/init-deposit/agent-hooks.js.map +1 -1
- package/vendor/directive-core/dist/init-deposit/host-hook-outer.d.ts +48 -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 +170 -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/pr-merge-readiness/slizard-gate.d.ts +10 -5
- package/vendor/directive-core/dist/pr-merge-readiness/slizard-gate.d.ts.map +1 -1
- package/vendor/directive-core/dist/pr-merge-readiness/slizard-gate.js +41 -18
- package/vendor/directive-core/dist/pr-merge-readiness/slizard-gate.js.map +1 -1
- package/vendor/directive-core/dist/preflight-gh/pre-push.d.ts +3 -2
- package/vendor/directive-core/dist/preflight-gh/pre-push.d.ts.map +1 -1
- package/vendor/directive-core/dist/preflight-gh/pre-push.js +19 -18
- package/vendor/directive-core/dist/preflight-gh/pre-push.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/scope/delivery-evidence.d.ts +202 -19
- package/vendor/directive-core/dist/scope/delivery-evidence.d.ts.map +1 -1
- package/vendor/directive-core/dist/scope/delivery-evidence.js +948 -107
- package/vendor/directive-core/dist/scope/delivery-evidence.js.map +1 -1
- package/vendor/directive-core/dist/scope/transition.d.ts +4 -1
- package/vendor/directive-core/dist/scope/transition.d.ts.map +1 -1
- package/vendor/directive-core/dist/scope/transition.js +2 -2
- package/vendor/directive-core/dist/scope/transition.js.map +1 -1
- package/vendor/directive-core/dist/scope-provenance/base-fence.d.ts +11 -2
- package/vendor/directive-core/dist/scope-provenance/base-fence.d.ts.map +1 -1
- package/vendor/directive-core/dist/scope-provenance/base-fence.js +16 -1
- package/vendor/directive-core/dist/scope-provenance/base-fence.js.map +1 -1
- package/vendor/directive-core/dist/scope-provenance/evaluate.d.ts +12 -0
- package/vendor/directive-core/dist/scope-provenance/evaluate.d.ts.map +1 -1
- package/vendor/directive-core/dist/scope-provenance/evaluate.js +41 -5
- package/vendor/directive-core/dist/scope-provenance/evaluate.js.map +1 -1
- package/vendor/directive-core/dist/scope-provenance/forge-approval.d.ts +106 -0
- package/vendor/directive-core/dist/scope-provenance/forge-approval.d.ts.map +1 -0
- package/vendor/directive-core/dist/scope-provenance/forge-approval.js +382 -0
- package/vendor/directive-core/dist/scope-provenance/forge-approval.js.map +1 -0
- 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/orientation-compression.d.ts +18 -2
- package/vendor/directive-core/dist/session/orientation-compression.d.ts.map +1 -1
- package/vendor/directive-core/dist/session/orientation-compression.js +38 -5
- package/vendor/directive-core/dist/session/orientation-compression.js.map +1 -1
- package/vendor/directive-core/dist/session/session-start.d.ts +47 -2
- package/vendor/directive-core/dist/session/session-start.d.ts.map +1 -1
- package/vendor/directive-core/dist/session/session-start.js +154 -3
- package/vendor/directive-core/dist/session/session-start.js.map +1 -1
- package/vendor/directive-core/dist/swarm/approach1-babysitter.d.ts +18 -4
- package/vendor/directive-core/dist/swarm/approach1-babysitter.d.ts.map +1 -1
- package/vendor/directive-core/dist/swarm/approach1-babysitter.js +28 -4
- package/vendor/directive-core/dist/swarm/approach1-babysitter.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-cohort.d.ts +29 -0
- package/vendor/directive-core/dist/swarm/finalize-cohort.d.ts.map +1 -1
- package/vendor/directive-core/dist/swarm/finalize-cohort.js +122 -11
- package/vendor/directive-core/dist/swarm/finalize-cohort.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
- package/vendor/directive-core/dist/triage/evaluate/worktrees.d.ts.map +1 -1
- package/vendor/directive-core/dist/triage/evaluate/worktrees.js +219 -60
- package/vendor/directive-core/dist/triage/evaluate/worktrees.js.map +1 -1
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { closedVerbEnvBypassKey, evaluateClosedVerb } from "../authz/closed-verb.js";
|
|
2
|
-
import { listActiveHumanGrants, loadAuthzState, loadGrant, markGrantUsed } from "../authz/store.js";
|
|
2
|
+
import { claimSingleUseGrantForApply, listActiveHumanGrants, loadAuthzState, loadGrant, markGrantUsed, } from "../authz/store.js";
|
|
3
3
|
import { loadVerbClassification } from "../authz/verb-classification.js";
|
|
4
4
|
import { EXIT_OK, EXIT_VIOLATION } from "../release/constants.js";
|
|
5
|
+
import { resolveGh } from "../release/gh.js";
|
|
6
|
+
import { spawnText } from "../release/spawn.js";
|
|
7
|
+
import { plainGhEnv } from "../subprocess/plain-gh-env.js";
|
|
5
8
|
import { editReleasePublish, viewRelease } from "./gh-api.js";
|
|
6
9
|
export function emit(label, status) {
|
|
7
10
|
process.stderr.write(`[publish] ${label}... ${status}\n`);
|
|
@@ -27,13 +30,151 @@ export function evaluateReleasePublishGate(version, projectRoot, options = {}) {
|
|
|
27
30
|
classification,
|
|
28
31
|
});
|
|
29
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Fail-closed gate before npm latest promotion (#5852 P2 / Greptile P1).
|
|
35
|
+
* release-publish grants / DEFT_ALLOW_RELEASE_PUBLISH do not authorize this verb.
|
|
36
|
+
*/
|
|
37
|
+
export function evaluateReleasePromoteLatestGate(version, projectRoot, options = {}) {
|
|
38
|
+
const classification = loadVerbClassification(projectRoot);
|
|
39
|
+
const state = loadAuthzState(projectRoot);
|
|
40
|
+
const grants = options.grants ?? listActiveHumanGrants(projectRoot, state);
|
|
41
|
+
return evaluateClosedVerb({
|
|
42
|
+
verb: "release-promote-latest",
|
|
43
|
+
target: version,
|
|
44
|
+
grants,
|
|
45
|
+
env: options.env ?? process.env,
|
|
46
|
+
projectRoot,
|
|
47
|
+
repo: options.repo ?? null,
|
|
48
|
+
classification,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function emitPromote(label, status) {
|
|
52
|
+
process.stderr.write(`[promote-latest] ${label}... ${status}\n`);
|
|
53
|
+
}
|
|
54
|
+
/** Dispatch promote-latest workflow only after the closed-verb gate allows. */
|
|
55
|
+
export function runPromoteLatest(config, seams = {}) {
|
|
56
|
+
const { version, repo, dryRun, projectRoot } = config;
|
|
57
|
+
const tag = `v${version}`;
|
|
58
|
+
// Workflow promote-latest accepts only stable vX.Y.Z; refuse earlier so grants are not spent (#5852).
|
|
59
|
+
if (!/^[0-9]+\.[0-9]+\.[0-9]+$/.test(version)) {
|
|
60
|
+
emitPromote(`Stable version gate ${tag}`, "FAIL (only a stable X.Y.Z may be promoted to latest)");
|
|
61
|
+
return EXIT_VIOLATION;
|
|
62
|
+
}
|
|
63
|
+
const gateSeams = seams;
|
|
64
|
+
const gate = evaluateReleasePromoteLatestGate(version, projectRoot, {
|
|
65
|
+
grants: gateSeams.closedVerbGrants,
|
|
66
|
+
env: gateSeams.closedVerbEnv,
|
|
67
|
+
repo,
|
|
68
|
+
});
|
|
69
|
+
if (!gate.allowed) {
|
|
70
|
+
const bypassKey = gate.envBypassKey ??
|
|
71
|
+
closedVerbEnvBypassKey("release-promote-latest", projectRoot) ??
|
|
72
|
+
"DEFT_ALLOW_RELEASE_PROMOTE_LATEST";
|
|
73
|
+
emitPromote(`Closed-verb gate release-promote-latest ${tag}`, `FAIL (${gate.code}: ${gate.reason})`);
|
|
74
|
+
process.stderr.write(`[promote-latest] denied code=${gate.code} — set ${bypassKey}=1 or ` +
|
|
75
|
+
`mint \`deft authz:grant -- --template release-promote-latest --target ${version}\`\n`);
|
|
76
|
+
return EXIT_VIOLATION;
|
|
77
|
+
}
|
|
78
|
+
emitPromote(`Closed-verb gate release-promote-latest ${tag}`, `OK (${gate.code}${gate.humanApprovalRef !== null ? ` grant=${gate.humanApprovalRef}` : ""})`);
|
|
79
|
+
const args = [
|
|
80
|
+
"workflow",
|
|
81
|
+
"run",
|
|
82
|
+
"npm-publish.yml",
|
|
83
|
+
"--repo",
|
|
84
|
+
repo,
|
|
85
|
+
"--ref",
|
|
86
|
+
"master",
|
|
87
|
+
"-f",
|
|
88
|
+
"action=promote-latest",
|
|
89
|
+
"-f",
|
|
90
|
+
`tag=${tag}`,
|
|
91
|
+
];
|
|
92
|
+
const label = `Dispatch promote-latest ${tag} on ${repo}`;
|
|
93
|
+
if (dryRun) {
|
|
94
|
+
emitPromote(label, `DRYRUN (would run \`gh ${args.join(" ")}\`)`);
|
|
95
|
+
return EXIT_OK;
|
|
96
|
+
}
|
|
97
|
+
const ghPath = resolveGh(seams);
|
|
98
|
+
if (ghPath === null) {
|
|
99
|
+
emitPromote(label, "FAIL (gh CLI not found on PATH)");
|
|
100
|
+
return EXIT_VIOLATION;
|
|
101
|
+
}
|
|
102
|
+
const spawn = seams.spawnText ?? spawnText;
|
|
103
|
+
// Returned-failure only (no throw): operational gh miss / non-zero are caller-may-retry
|
|
104
|
+
// (#5852 intent-constraint / Greptile P2). plainGhEnv drops color-force vars (#6032).
|
|
105
|
+
const dispatchOnce = () => {
|
|
106
|
+
let result;
|
|
107
|
+
try {
|
|
108
|
+
result = spawn(ghPath, args, { timeoutMs: 120_000, env: plainGhEnv() });
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
return { ok: false, reason: "gh CLI not found on PATH" };
|
|
112
|
+
}
|
|
113
|
+
if (result.status !== 0) {
|
|
114
|
+
return {
|
|
115
|
+
ok: false,
|
|
116
|
+
reason: (result.stderr ?? "").trim() || "gh workflow run failed",
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
return { ok: true };
|
|
120
|
+
};
|
|
121
|
+
// Exclusive claim → revalidate → permanent spend, THEN dispatch (#5852 Greptile P1).
|
|
122
|
+
// Do not put dispatch in claim `apply`: a lost/ambiguous gh response must not roll
|
|
123
|
+
// usedAt back (that would let one approval queue promote-latest twice). Remint on
|
|
124
|
+
// true dispatch failure. Concurrent claimants fail closed on the lock.
|
|
125
|
+
if (gate.humanApprovalRef !== null && gate.code === "closed-verb-allow") {
|
|
126
|
+
const gateSeamsClaim = seams;
|
|
127
|
+
const claim = gateSeamsClaim.claimGrant ?? claimSingleUseGrantForApply;
|
|
128
|
+
const claimed = claim(projectRoot, gate.humanApprovalRef, {
|
|
129
|
+
revalidate: (g) => {
|
|
130
|
+
if (g.semantics.revokedAt !== null) {
|
|
131
|
+
return { ok: false, reason: `grant ${g.id} revoked` };
|
|
132
|
+
}
|
|
133
|
+
if (g.semantics.expiresAt !== null && Date.parse(g.semantics.expiresAt) <= Date.now()) {
|
|
134
|
+
return { ok: false, reason: `grant ${g.id} expired` };
|
|
135
|
+
}
|
|
136
|
+
const again = evaluateReleasePromoteLatestGate(version, projectRoot, {
|
|
137
|
+
grants: [g],
|
|
138
|
+
env: gateSeams.closedVerbEnv ?? {},
|
|
139
|
+
repo,
|
|
140
|
+
});
|
|
141
|
+
if (!again.allowed || again.code !== "closed-verb-allow") {
|
|
142
|
+
return {
|
|
143
|
+
ok: false,
|
|
144
|
+
reason: again.reason || `grant ${g.id} no longer authorizes promote-latest`,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
return { ok: true };
|
|
148
|
+
},
|
|
149
|
+
});
|
|
150
|
+
if (!claimed.ok) {
|
|
151
|
+
emitPromote(label, `FAIL (${claimed.reason})`);
|
|
152
|
+
return EXIT_VIOLATION;
|
|
153
|
+
}
|
|
154
|
+
emitPromote(`Spend grant ${gate.humanApprovalRef}`, "OK (claimed before dispatch)");
|
|
155
|
+
const dispatched = dispatchOnce();
|
|
156
|
+
if (!dispatched.ok) {
|
|
157
|
+
emitPromote(label, `FAIL (${dispatched.reason}; grant already spent — remint to retry)`);
|
|
158
|
+
return EXIT_VIOLATION;
|
|
159
|
+
}
|
|
160
|
+
emitPromote(label, "OK (workflow dispatched; grant claimed before dispatch)");
|
|
161
|
+
return EXIT_OK;
|
|
162
|
+
}
|
|
163
|
+
const dispatched = dispatchOnce();
|
|
164
|
+
if (!dispatched.ok) {
|
|
165
|
+
emitPromote(label, `FAIL (${dispatched.reason})`);
|
|
166
|
+
return EXIT_VIOLATION;
|
|
167
|
+
}
|
|
168
|
+
emitPromote(label, "OK (workflow dispatched)");
|
|
169
|
+
return EXIT_OK;
|
|
170
|
+
}
|
|
30
171
|
export function runPublish(config, seams = {}) {
|
|
31
172
|
const { version, repo, dryRun, projectRoot } = config;
|
|
32
173
|
const tag = `v${version}`;
|
|
33
174
|
const viewLabel = `View ${tag} on ${repo}`;
|
|
34
175
|
if (dryRun) {
|
|
35
176
|
emit(viewLabel, `DRYRUN (would run \`gh api --paginate repos/${repo}/releases?per_page=100\` and filter for tag_name == ${tag})`);
|
|
36
|
-
emit(`Edit ${tag}`, `DRYRUN (would run \`gh api -X PATCH repos/${repo}/releases/<id> -F draft=false\`)`);
|
|
177
|
+
emit(`Edit ${tag}`, `DRYRUN (would run \`gh api -X PATCH repos/${repo}/releases/<id> -F draft=false -f make_latest=false\`)`);
|
|
37
178
|
return EXIT_OK;
|
|
38
179
|
}
|
|
39
180
|
const [state, payload, reason] = viewRelease(version, repo, seams);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/release-publish/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAe,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClG,OAAO,
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/release-publish/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gh.d.ts","sourceRoot":"","sources":["../../src/release-rollback/gh.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gh.d.ts","sourceRoot":"","sources":["../../src/release-rollback/gh.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAElE,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,aAAkB,GACxB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAAE,MAAM,CAAC,CAwC5C;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,aAAkB,GACxB,CAAC,QAAQ,GAAG,WAAW,GAAG,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAAE,MAAM,CAAC,CAUrE;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,aAAkB,GACxB,CAAC,OAAO,EAAE,MAAM,CAAC,CAwBnB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { resolveGh, spawnText } from "../release/index.js";
|
|
2
|
+
import { plainGhEnv } from "../subprocess/plain-gh-env.js";
|
|
2
3
|
export function ghReleaseViewJson(version, repo, seams = {}) {
|
|
3
4
|
if (seams.ghReleaseViewJson) {
|
|
4
5
|
return seams.ghReleaseViewJson(version, repo);
|
|
@@ -20,7 +21,7 @@ export function ghReleaseViewJson(version, repo, seams = {}) {
|
|
|
20
21
|
"isDraft,name,tagName,createdAt,publishedAt,assets,url",
|
|
21
22
|
], {
|
|
22
23
|
timeoutMs: 60_000,
|
|
23
|
-
env:
|
|
24
|
+
env: plainGhEnv(),
|
|
24
25
|
});
|
|
25
26
|
if (result.status !== 0) {
|
|
26
27
|
return [false, null, result.stderr.trim()];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gh.js","sourceRoot":"","sources":["../../src/release-rollback/gh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG3D,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,IAAY,EACZ,QAAuB,EAAE;IAEzB,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,IAAI,SAAS,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAClB,MAAM,EACN;YACE,SAAS;YACT,MAAM;YACN,GAAG;YACH,QAAQ;YACR,IAAI;YACJ,QAAQ;YACR,uDAAuD;SACxD,EACD;YACE,SAAS,EAAE,MAAM;YACjB,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"gh.js","sourceRoot":"","sources":["../../src/release-rollback/gh.ts"],"names":[],"mappings":"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"}
|
|
@@ -126,18 +126,22 @@ export interface DeliveryGateOptions {
|
|
|
126
126
|
* treat this flag as an opaque-string bypass.
|
|
127
127
|
*/
|
|
128
128
|
readonly assumeEvidenceValidated?: boolean;
|
|
129
|
-
/** Optional gh runner for default PR /
|
|
129
|
+
/** Optional gh runner for default PR / merge-time fetchers (#3675 / #5710). */
|
|
130
130
|
readonly runGh?: RunGhFn;
|
|
131
|
-
/**
|
|
131
|
+
/**
|
|
132
|
+
* Test / inject seam: pulls REST payload fetcher (#3675). When injected,
|
|
133
|
+
* the live merge-time forge and changed-files defaults are off, so tests
|
|
134
|
+
* never fall through to gh.
|
|
135
|
+
*/
|
|
132
136
|
readonly fetchPrPayload?: FetchPrPayloadFn;
|
|
133
|
-
/** Test / inject seam:
|
|
134
|
-
readonly
|
|
137
|
+
/** Test / inject seam: merge-time association reads (#5710 P3). */
|
|
138
|
+
readonly mergeTimeForge?: MergeTimeForge;
|
|
135
139
|
/**
|
|
136
140
|
* File name of the brief being completed (basename). Enables the
|
|
137
|
-
* brief-in-PR-diff identity
|
|
141
|
+
* brief-in-PR-diff identity basis (#3675).
|
|
138
142
|
*/
|
|
139
143
|
readonly briefBasename?: string;
|
|
140
|
-
/** Test / inject seam: PR changed files for the brief-in-PR-diff
|
|
144
|
+
/** Test / inject seam: PR changed files for the brief-in-PR-diff basis. */
|
|
141
145
|
readonly fetchPrChangedFiles?: FetchPrChangedFilesFn;
|
|
142
146
|
}
|
|
143
147
|
export interface DeliveryGateResult {
|
|
@@ -188,7 +192,15 @@ export declare function defaultFetchClosingIssueIds(prNumber: number, repository
|
|
|
188
192
|
* unparseable line returns null so the caller fails closed.
|
|
189
193
|
*/
|
|
190
194
|
export declare function defaultFetchPrChangedFiles(prNumber: number, repository: string, runGh?: RunGhFn): PrChangedFile[] | null;
|
|
191
|
-
|
|
195
|
+
/**
|
|
196
|
+
* How the story→PR identity was proven.
|
|
197
|
+
* - `forge-closer`: legacy current-state closer set (read-only; no longer written, #5710).
|
|
198
|
+
* - `brief-in-pr-diff`: the merged PR added this brief alongside code (#3675).
|
|
199
|
+
* - `pr-only`: issue-less brief bound by `plan.metadata.productPullRequest` (#5710 P1).
|
|
200
|
+
* - `merge-time-mark` / `merge-time-keyword` / `merge-time-connected`: issue-anchored
|
|
201
|
+
* association proven as of `merged_at` (#5710 P3 bases a / b / c).
|
|
202
|
+
*/
|
|
203
|
+
export type StoryPrIdentityBasis = "forge-closer" | "brief-in-pr-diff" | "pr-only" | "merge-time-mark" | "merge-time-keyword" | "merge-time-connected";
|
|
192
204
|
/**
|
|
193
205
|
* Brief-in-PR-diff identity (#3675 fallback). Holds only when the merged PR
|
|
194
206
|
* added this exact brief file to a lifecycle folder AND changed at least one
|
|
@@ -196,6 +208,166 @@ export type StoryPrIdentityBasis = "forge-closer" | "brief-in-pr-diff";
|
|
|
196
208
|
* (a lifecycle PR) does not qualify.
|
|
197
209
|
*/
|
|
198
210
|
export declare function prDiffAddsBrief(files: readonly PrChangedFile[], briefBasename: string): boolean;
|
|
211
|
+
/** One PR body revision from GraphQL `userContentEdits` (#5710). */
|
|
212
|
+
export interface PrBodyRevision {
|
|
213
|
+
readonly editedAt: string;
|
|
214
|
+
/** Body text after this edit; null when the forge hides or deleted the revision. */
|
|
215
|
+
readonly body: string | null;
|
|
216
|
+
}
|
|
217
|
+
/** One merged PR from the paged repository listing (#5710). */
|
|
218
|
+
export interface MergedPrListNode {
|
|
219
|
+
readonly number: number;
|
|
220
|
+
readonly mergedAt: string;
|
|
221
|
+
readonly body: string;
|
|
222
|
+
/** Last body edit time; null when the body was never edited. */
|
|
223
|
+
readonly lastEditedAt: string | null;
|
|
224
|
+
}
|
|
225
|
+
/** One ConnectedEvent / DisconnectedEvent on a PR timeline (#5710 basis c). */
|
|
226
|
+
export interface PrConnectionEvent {
|
|
227
|
+
readonly kind: "connected" | "disconnected";
|
|
228
|
+
readonly createdAt: string;
|
|
229
|
+
/** Issues named by the event's source or subject, with their own repository. */
|
|
230
|
+
readonly issues: readonly ClosingIssueRef[];
|
|
231
|
+
}
|
|
232
|
+
/** One changed file, with the rename source when GitHub reports one. */
|
|
233
|
+
export interface PrFileEntry extends PrChangedFile {
|
|
234
|
+
readonly previousFilename?: string;
|
|
235
|
+
}
|
|
236
|
+
/** One page of a forge connection; any failure is `ok:false` (fail closed). */
|
|
237
|
+
export type ForgePage<T> = {
|
|
238
|
+
readonly ok: true;
|
|
239
|
+
readonly nodes: readonly T[];
|
|
240
|
+
readonly hasNextPage: boolean;
|
|
241
|
+
readonly endCursor: string | null;
|
|
242
|
+
} | {
|
|
243
|
+
readonly ok: false;
|
|
244
|
+
readonly error: string;
|
|
245
|
+
};
|
|
246
|
+
/** Live rate-limit read (`gh api rate_limit`, never the cached proxy). */
|
|
247
|
+
export interface RateLimitSnapshot {
|
|
248
|
+
readonly graphqlRemaining: number;
|
|
249
|
+
readonly coreRemaining: number;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Forge reads for merge-time association (#5710). Inject in tests so no
|
|
253
|
+
* network is used. Page-level primitives: paging and budget live here.
|
|
254
|
+
*/
|
|
255
|
+
export interface MergeTimeForge {
|
|
256
|
+
readonly listMergedPrsPage: (repository: string, after: string | null) => ForgePage<MergedPrListNode>;
|
|
257
|
+
readonly fetchBodyRevisionsPage: (repository: string, prNumber: number, after: string | null) => ForgePage<PrBodyRevision>;
|
|
258
|
+
readonly fetchConnectionEventsPage: (repository: string, prNumber: number, after: string | null) => ForgePage<PrConnectionEvent>;
|
|
259
|
+
/** One REST page of changed files; the scan checks the REST budget before each page. */
|
|
260
|
+
readonly fetchPrFilesPage: (repository: string, prNumber: number, after: string | null) => ForgePage<PrFileEntry>;
|
|
261
|
+
readonly probeRateLimit: () => RateLimitSnapshot | null;
|
|
262
|
+
readonly nowMs: () => number;
|
|
263
|
+
}
|
|
264
|
+
/** Recut-13 uniqueness-scan budget: units and caps (#5710). */
|
|
265
|
+
export declare const MERGE_TIME_SCAN_WALL_CLOCK_MS: number;
|
|
266
|
+
export declare const MERGE_TIME_SCAN_MIN_GRAPHQL_REMAINING = 200;
|
|
267
|
+
export declare const MERGE_TIME_SCAN_MIN_CORE_REMAINING = 100;
|
|
268
|
+
/** GitHub `pulls/{n}/files` lists at most 3000 files. */
|
|
269
|
+
export declare const PR_FILES_LISTING_CAP = 3000;
|
|
270
|
+
/** The three accepted merge-time bases, named in every stranded-shape refusal (#5710). */
|
|
271
|
+
export declare const MERGE_TIME_ASSOCIATION_BASES: string;
|
|
272
|
+
/** Budget guards for one identity join; each returns null or the refusal reason. */
|
|
273
|
+
export interface ScanBudget {
|
|
274
|
+
readonly beforeGraphql: () => string | null;
|
|
275
|
+
readonly beforeRest: () => string | null;
|
|
276
|
+
}
|
|
277
|
+
/** Start the Recut-13 scan budget: wall clock from now, live rate limits per call. */
|
|
278
|
+
export declare function makeScanBudget(forge: MergeTimeForge): ScanBudget;
|
|
279
|
+
/**
|
|
280
|
+
* Merge-time body (#5710): the latest `userContentEdits` revision with
|
|
281
|
+
* editedAt ≤ merged_at, or the current body when the PR has no edit history.
|
|
282
|
+
* A hidden revision or no revision at or before merged_at is unknown (fail closed).
|
|
283
|
+
*/
|
|
284
|
+
export declare function selectMergeTimeBody(revisions: readonly PrBodyRevision[], currentBody: string | null, mergedAt: string): {
|
|
285
|
+
ok: true;
|
|
286
|
+
body: string;
|
|
287
|
+
} | {
|
|
288
|
+
ok: false;
|
|
289
|
+
error: string;
|
|
290
|
+
};
|
|
291
|
+
/**
|
|
292
|
+
* True when the body has a GitHub closing keyword naming the issue as `#N`,
|
|
293
|
+
* `owner/repo#N` or the issue URL (#5710 basis b). `#N` means the PR's repository.
|
|
294
|
+
*/
|
|
295
|
+
export declare function bodyHasClosingKeywordFor(body: string, repository: string, issueNumber: number): boolean;
|
|
296
|
+
/**
|
|
297
|
+
* Replay Connected / Disconnected events up to merged_at (#5710 basis c).
|
|
298
|
+
* Events after merged_at do not count.
|
|
299
|
+
*/
|
|
300
|
+
export declare function connectedAtMergedAt(events: readonly PrConnectionEvent[], repository: string, issueNumber: number, mergedAt: string): {
|
|
301
|
+
ok: true;
|
|
302
|
+
connected: boolean;
|
|
303
|
+
} | {
|
|
304
|
+
ok: false;
|
|
305
|
+
error: string;
|
|
306
|
+
};
|
|
307
|
+
/**
|
|
308
|
+
* Delivery-brief-land exclusion (#5710): every changed path, rename sources
|
|
309
|
+
* included, is a brief under `xbrief|vbrief/(proposed|pending|active|completed)/`
|
|
310
|
+
* or root `CHANGELOG.md`, with at least one such path for a positive
|
|
311
|
+
* exclusion. CHANGELOG-only, completed-folder renames and deletion-only diffs
|
|
312
|
+
* on those paths are excluded. A zero-file diff is not a positive exclusion:
|
|
313
|
+
* as a competitor it still counts (fail closed), and as a candidate it is
|
|
314
|
+
* refused separately because it carries no delivery. Not identical to
|
|
315
|
+
* activation `isBriefLandShapedDiff`, which denies completed/ and needs a
|
|
316
|
+
* non-removed nonterminal brief.
|
|
317
|
+
*/
|
|
318
|
+
export declare function isDeliveryBriefLandExcluded(files: readonly PrFileEntry[]): boolean;
|
|
319
|
+
/** The single distinct `deft-story` mark in a body, or null when zero or several (#5710). */
|
|
320
|
+
export declare function soleDeftStoryMark(body: string): number | null;
|
|
321
|
+
/**
|
|
322
|
+
* Bounded exhaustive uniqueness scan (#5710 basis a). Enumerates every merged
|
|
323
|
+
* PR, reconstructs each merge-time body, and classifies sole-mark hits for
|
|
324
|
+
* `issueNumber`. Returns the non-excluded sole-mark PRs other than the
|
|
325
|
+
* candidate. Any incomplete page, unreadable revision or competitor, truncated
|
|
326
|
+
* listing, or exhausted budget fails closed. No recent-window shortcut.
|
|
327
|
+
*/
|
|
328
|
+
export declare function scanSoleMarkCompetitors(input: {
|
|
329
|
+
readonly repository: string;
|
|
330
|
+
readonly issueNumber: number;
|
|
331
|
+
readonly candidatePr: number;
|
|
332
|
+
readonly forge: MergeTimeForge;
|
|
333
|
+
readonly budget?: ScanBudget;
|
|
334
|
+
}): {
|
|
335
|
+
ok: true;
|
|
336
|
+
competitors: number[];
|
|
337
|
+
} | {
|
|
338
|
+
ok: false;
|
|
339
|
+
error: string;
|
|
340
|
+
};
|
|
341
|
+
/**
|
|
342
|
+
* Pin plain `gh` for single-path GETs the default runner would send to the
|
|
343
|
+
* `ghx` cache proxy. A cached read can be stale: a PR cached before merge
|
|
344
|
+
* reads as unmerged, a rate bucket reads as fuller than it is (#954 / #5710).
|
|
345
|
+
* Injected runners are used as given.
|
|
346
|
+
*/
|
|
347
|
+
export declare function liveRunGh(runGh: RunGhFn): RunGhFn;
|
|
348
|
+
/**
|
|
349
|
+
* Live forge reads for merge-time association (#5710): GraphQL pages, REST
|
|
350
|
+
* changed files with rename sources, and the uncached `gh api rate_limit`.
|
|
351
|
+
*/
|
|
352
|
+
export declare function defaultMergeTimeForge(runGh?: RunGhFn): MergeTimeForge;
|
|
353
|
+
/**
|
|
354
|
+
* Canonical project repository (#5710 P1): OWNER/NAME of the `origin` remote.
|
|
355
|
+
* `--repo` is a matching assertion only and is never the source of it.
|
|
356
|
+
*/
|
|
357
|
+
export declare function resolveCanonicalProjectRepository(projectRoot: string, runGit?: GitRunner): string | null;
|
|
358
|
+
/**
|
|
359
|
+
* PR-only delivery identity (#5710 P1): only when the plan has no GitHub issue
|
|
360
|
+
* reference (today's resolver). Identity is (canonical remote, stamped
|
|
361
|
+
* productPullRequest). `x-xbrief/github-pr` references are never identity.
|
|
362
|
+
*/
|
|
363
|
+
export declare function resolvePrOnlyDeliveryIdentity(plan: Record<string, unknown>, resolveCanonicalRepository: () => string | null): {
|
|
364
|
+
ok: true;
|
|
365
|
+
repository: string;
|
|
366
|
+
prNumber: number;
|
|
367
|
+
} | {
|
|
368
|
+
ok: false;
|
|
369
|
+
message: string;
|
|
370
|
+
};
|
|
199
371
|
export interface StoryPrMergeIdentityResult {
|
|
200
372
|
readonly ok: boolean;
|
|
201
373
|
readonly message: string;
|
|
@@ -205,25 +377,36 @@ export interface StoryPrMergeIdentityResult {
|
|
|
205
377
|
readonly prBase?: string | null;
|
|
206
378
|
readonly headSha?: string | null;
|
|
207
379
|
readonly identityBasis?: StoryPrIdentityBasis;
|
|
380
|
+
/** Repository the identity was proven in (issue repository or canonical remote). */
|
|
381
|
+
readonly repository?: string;
|
|
208
382
|
}
|
|
209
|
-
|
|
210
|
-
* Prefer-A story→PR→merge identity join before delivery liveness (#3675).
|
|
211
|
-
*
|
|
212
|
-
* Uses plan-derived expected repo/issue, authoritative closingIssuesReferences
|
|
213
|
-
* with per-issue repository preserved (not reassigned to the plan repo), and
|
|
214
|
-
* merge_commit_sha identity equality. Does not require implementationCommit
|
|
215
|
-
* ancestry (squash-safe).
|
|
216
|
-
*/
|
|
217
|
-
export declare function verifyStoryPrMergeIdentity(input: {
|
|
383
|
+
export interface StoryPrMergeIdentityInput {
|
|
218
384
|
readonly plan: Record<string, unknown>;
|
|
219
385
|
readonly evidence: DeliveryEvidenceInput;
|
|
220
386
|
readonly mergeCommit: string;
|
|
221
387
|
readonly fetchPrPayload: FetchPrPayloadFn;
|
|
222
|
-
|
|
223
|
-
|
|
388
|
+
/** Merge-time association reads (#5710). Absent → issue-anchored join fails closed. */
|
|
389
|
+
readonly mergeTimeForge?: MergeTimeForge;
|
|
390
|
+
/** Basename of the brief being completed; enables the brief-in-PR-diff basis. */
|
|
224
391
|
readonly briefBasename?: string;
|
|
225
392
|
readonly fetchPrChangedFiles?: FetchPrChangedFilesFn;
|
|
226
|
-
|
|
393
|
+
/** Canonical remote for the PR-only path (#5710 P1). Absent → that path fails closed. */
|
|
394
|
+
readonly resolveCanonicalRepository?: () => string | null;
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Prefer-A story→PR→merge identity join before delivery liveness (#3675 / #5710).
|
|
398
|
+
*
|
|
399
|
+
* Issue-anchored briefs (today's `resolvePlanGithubIssueRef`): the association
|
|
400
|
+
* must hold as of merged_at by (a) a unique sole `deft-story` mark, (b) a
|
|
401
|
+
* closing keyword in the merge-time body, or (c) a Connected link at merged_at,
|
|
402
|
+
* or by the unchanged brief-in-PR-diff basis. Current-state
|
|
403
|
+
* closingIssuesReferences alone is insufficient, and `productPullRequest === --pr`
|
|
404
|
+
* is not a proof here. A failed issue-anchored check never falls back to the stamp.
|
|
405
|
+
*
|
|
406
|
+
* Issue-less briefs use the PR-only identity (#5710 P1). merge_commit_sha must
|
|
407
|
+
* equal the supplied merge commit on both paths (squash-safe).
|
|
408
|
+
*/
|
|
409
|
+
export declare function verifyStoryPrMergeIdentity(input: StoryPrMergeIdentityInput): StoryPrMergeIdentityResult;
|
|
227
410
|
/**
|
|
228
411
|
* Classify stored completion provenance for read paths.
|
|
229
412
|
* Legacy completed records without provenance → unknown/unverified (not delivered).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-evidence.d.ts","sourceRoot":"","sources":["../../src/scope/delivery-evidence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delivery-evidence.d.ts","sourceRoot":"","sources":["../../src/scope/delivery-evidence.ts"],"names":[],"mappings":"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"}
|