@claudexor/delivery 3.0.3 → 3.1.0

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 joi-lab
3
+ Copyright (c) 2026 Anton Razzhigaev
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -13,7 +13,7 @@ export declare function finalVerifyBlocks(finalVerify: FinalVerifyRecord | null)
13
13
  * (checks=failed, reason checks_failed); a NEEDS_HUMAN review escalation lands
14
14
  * on the REVIEW axis (review=blocked, reason review_blocked). Lifecycle stays
15
15
  * succeeded — the process finished; a human decision is what is pending. */
16
- export declare function blockedDecisionOverride(evidenceFacts: string[], finalVerify: FinalVerifyRecord | null): {
16
+ export declare function blockedDecisionOverride(evidenceFacts: string[], facts: RunOutcomeFacts, finalVerify: FinalVerifyRecord | null): {
17
17
  facts: RunOutcomeFacts;
18
18
  apply_recommendation: "human_review";
19
19
  verification_basis: "none";
@@ -1 +1 @@
1
- {"version":3,"file":"final-verifier.d.ts","sourceRoot":"","sources":["../src/final-verifier.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAoB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC9F,OAAO,EAAE,KAAK,QAAQ,EAAyB,MAAM,mBAAmB,CAAC;AASzE,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;CACzE;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAMhF;AAED;;;;4EAI4E;AAC5E,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,EAAE,EACvB,WAAW,EAAE,iBAAiB,GAAG,IAAI,GACpC;IACD,KAAK,EAAE,eAAe,CAAC;IACvB,oBAAoB,EAAE,cAAc,CAAC;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAeA;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,QAAQ,EAAE,EACjB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAsE5B"}
1
+ {"version":3,"file":"final-verifier.d.ts","sourceRoot":"","sources":["../src/final-verifier.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,KAAK,QAAQ,EAAyB,MAAM,mBAAmB,CAAC;AASzE,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;CACzE;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAMhF;AAED;;;;4EAI4E;AAC5E,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,EAAE,EACvB,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE,iBAAiB,GAAG,IAAI,GACpC;IACD,KAAK,EAAE,eAAe,CAAC;IACvB,oBAAoB,EAAE,cAAc,CAAC;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAeA;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,QAAQ,EAAE,EACjB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAsE5B"}
@@ -2,7 +2,7 @@
2
2
  import { mkdtempSync, rmSync } from "node:fs";
3
3
  import { tmpdir } from "node:os";
4
4
  import { join } from "node:path";
5
- import { FinalVerifyRecord, makeOutcomeFacts } from "@claudexor/schema";
5
+ import { FinalVerifyRecord } from "@claudexor/schema";
6
6
  import { gatesPassed, runGates } from "@claudexor/review";
7
7
  import { applyPatchProtected, branchDelete, worktreeAdd, worktreeRemove, } from "@claudexor/workspace";
8
8
  import { newId, redactSecrets } from "@claudexor/util";
@@ -16,7 +16,7 @@ export function finalVerifyBlocks(finalVerify) {
16
16
  * (checks=failed, reason checks_failed); a NEEDS_HUMAN review escalation lands
17
17
  * on the REVIEW axis (review=blocked, reason review_blocked). Lifecycle stays
18
18
  * succeeded — the process finished; a human decision is what is pending. */
19
- export function blockedDecisionOverride(evidenceFacts, finalVerify) {
19
+ export function blockedDecisionOverride(evidenceFacts, facts, finalVerify) {
20
20
  const verifyBlocked = finalVerifyBlocks(finalVerify);
21
21
  const fact = verifyBlocked
22
22
  ? finalVerify?.applied_cleanly !== true
@@ -25,8 +25,8 @@ export function blockedDecisionOverride(evidenceFacts, finalVerify) {
25
25
  : "reviewer escalated blocking NEEDS_HUMAN findings; a typed operator decision is required";
26
26
  return {
27
27
  facts: verifyBlocked
28
- ? makeOutcomeFacts("succeeded", { checks: "failed", reason: "checks_failed" })
29
- : makeOutcomeFacts("succeeded", { review: "blocked", reason: "review_blocked" }),
28
+ ? { ...facts, checks: "failed", reason: "checks_failed" }
29
+ : { ...facts, review: "blocked", reason: "review_blocked" },
30
30
  apply_recommendation: "human_review",
31
31
  verification_basis: "none",
32
32
  evidence_facts: [...evidenceFacts, fact],
@@ -1 +1 @@
1
- {"version":3,"file":"final-verifier.js","sourceRoot":"","sources":["../src/final-verifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"final-verifier.js","sourceRoot":"","sources":["../src/final-verifier.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAwB,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAiB,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAWvD,MAAM,UAAU,iBAAiB,CAAC,WAAqC;IACrE,OAAO,CACL,WAAW,KAAK,IAAI;QACpB,WAAW,CAAC,SAAS;QACrB,CAAC,WAAW,CAAC,eAAe,KAAK,IAAI,IAAI,WAAW,CAAC,YAAY,KAAK,KAAK,CAAC,CAC7E,CAAC;AACJ,CAAC;AAED;;;;4EAI4E;AAC5E,MAAM,UAAU,uBAAuB,CACrC,aAAuB,EACvB,KAAsB,EACtB,WAAqC;IAOrC,MAAM,aAAa,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,aAAa;QACxB,CAAC,CAAC,WAAW,EAAE,eAAe,KAAK,IAAI;YACrC,CAAC,CAAC,wBAAwB,WAAW,EAAE,MAAM,IAAI,gDAAgD,EAAE;YACnG,CAAC,CAAC,0EAA0E;QAC9E,CAAC,CAAC,yFAAyF,CAAC;IAC9F,OAAO;QACL,KAAK,EAAE,aAAa;YAClB,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE;YACzD,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE;QAC7D,oBAAoB,EAAE,cAAc;QACpC,kBAAkB,EAAE,MAAM;QAC1B,cAAc,EAAE,CAAC,GAAG,aAAa,EAAE,IAAI,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,SAA0B,EAC1B,KAAiB,EACjB,GAAmB;IAEnB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,CAAC,MAA+B,EAAqB,EAAE,CAClE,iBAAiB,CAAC,KAAK,CAAC;QACtB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,SAAS,CAAC,OAAO,IAAI,IAAI;QACnC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;QACjC,GAAG,MAAM;KACV,CAAC,CAAC;IACL,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,iBAAiB,CAAC,KAAK,CAAC;YAC7B,SAAS,EAAE,IAAI;YACf,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,wEAAwE;YAChF,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;SAClC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,oBAAoB,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;gBACV,eAAe,EAAE,KAAK;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,iCAAiC;aAC5D,CAAC,CAAC;QACL,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;gBACV,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,mCAAmC;aAC5C,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;QACzD,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACzB,UAAU,EAAE,cAAc;YAC1B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;YACH,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC;SAC3B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;YACV,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC;YAChC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACnE,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;YACV,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,aAAa,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC9E,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;QACvD,CAAC;QACD,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;QACvD,CAAC;QACD,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
package/dist/gate.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ApplyEligibility, DecisionRecord, FinalVerifyRecord, WorkProduct } from "@claudexor/schema";
1
+ import type { ApplyEligibility, DecisionRecord, FinalVerifyRecord, RunApplyState, WorkProduct, WorkState } from "@claudexor/schema";
2
2
  /**
3
3
  * Single owner of the apply gate (CLAUDEXOR_BIBLE §11): apply is allowed only
4
4
  * for successful runs with a successful decision record and a patch
@@ -29,6 +29,27 @@ export interface ApplyGateInput {
29
29
  /** Fresh verifier result for this delivery attempt. When omitted, the
30
30
  * persisted decision result is used for read-only eligibility projection. */
31
31
  finalVerify?: FinalVerifyRecord | null;
32
+ /**
33
+ * The run's effective MUTABLE delivery/apply state (delivery_state overlay →
34
+ * work_product snapshot), threaded in by the same owner that projects
35
+ * `summary.result.applyState` (QA-021). When a change is already in the live
36
+ * tree (`applied` / `applied_review_blocked`) or was deliberately reverted,
37
+ * apply is no longer the pending action and the eligibility projection must
38
+ * answer a terminal disposition BEFORE the pre-delivery gate — never "rerun a
39
+ * fresh check" for finished work. Absent/`not_applied` runs the normal gate.
40
+ */
41
+ applyState?: RunApplyState | null;
42
+ /**
43
+ * D-16 work_state veto axis (INV-116), threaded from the arbitrated
44
+ * `decision.facts.work_state` by the same owner that builds this input. A
45
+ * model-attested `needs_input`/`incomplete` outcome keeps the succeeded
46
+ * lifecycle but is factually non-applyable — the model itself reported the
47
+ * work is unfinished — so the gate refuses it (winning over review/checks apply
48
+ * quality, matching the outcome banner) and the operator risk override cannot
49
+ * bypass it (accepting a *reviewed* blocker is a different axis from the model
50
+ * saying it is not done). Absent/`completed`/`unverified` never veto.
51
+ */
52
+ workState?: WorkState | null;
32
53
  }
33
54
  export declare function validateApplyGate(input: ApplyGateInput): string | null;
34
55
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAK3B;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpE;iFAC6E;IAC7E,WAAW,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACxC;AAkCD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CA2EtE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,gBAAgB,CAuB9E"}
1
+ {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,SAAS,EACV,MAAM,mBAAmB,CAAC;AAK3B;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpE;iFAC6E;IAC7E,WAAW,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACvC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAClC;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC9B;AAgGD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAuFtE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,gBAAgB,CA6D9E"}
package/dist/gate.js CHANGED
@@ -13,8 +13,20 @@ import { sha256 } from "@claudexor/util";
13
13
  function applyHint(decision, lifecycle) {
14
14
  const facts = decision?.facts ?? null;
15
15
  if (facts) {
16
+ // D-16 work_state veto (INV-116): the model itself reported the work is not
17
+ // finished — point at supplying the input / re-running, never a review or a
18
+ // risk override (accepting a reviewed blocker is a different axis).
19
+ if (facts.lifecycle === "succeeded" && facts.work_state?.state === "needs_input") {
20
+ return "Provide the input the run reported it needs, then re-run.";
21
+ }
22
+ if (facts.lifecycle === "succeeded" && facts.work_state?.state === "incomplete") {
23
+ return "Re-run until the run reports the work is complete.";
24
+ }
16
25
  if (facts.review === "blocked" || facts.checks === "failed") {
17
- return "Accept the risk to apply it anyway (`claudexor decision <run> --accept-risk`), or run a review first.";
26
+ // A blocked run already completed its (verified) review — pointing back at
27
+ // "run a review first" is a dead loop (QA-032B). The real next step is the
28
+ // typed risk override; the fresh final check then runs at apply time.
29
+ return "Accept the risk to apply it anyway (`claudexor decision <run> --accept-risk`).";
18
30
  }
19
31
  if (facts.review === "not_run" || facts.checks === "not_configured") {
20
32
  return "Add a test check or get a clean cross-family review, then re-run. (Accepting the risk only unblocks a change that was reviewed and blocked.)";
@@ -27,12 +39,60 @@ function applyHint(decision, lifecycle) {
27
39
  }
28
40
  return "Re-run until the change finishes successfully.";
29
41
  }
42
+ /**
43
+ * D-16 work_state veto (INV-116): the model-attested `needs_input`/`incomplete`
44
+ * outcome that makes an otherwise-succeeded run non-applyable, threaded on
45
+ * `input.workState` (from `decision.facts.work_state`). It only ELEVATES a
46
+ * SUCCEEDED lifecycle — a harder lifecycle failure already refuses on its own
47
+ * axis — and is NOT bypassable by the risk override, because the model reporting
48
+ * its work is unfinished is a different axis from accepting a reviewed blocker.
49
+ */
50
+ function workStateVetoOf(input) {
51
+ if (input.decision?.facts?.lifecycle !== "succeeded")
52
+ return null;
53
+ const state = input.workState?.state;
54
+ return state === "needs_input" || state === "incomplete" ? state : null;
55
+ }
30
56
  /** A terminal is a needs-decision block (accepted review blockers or failed
31
57
  * checks) when its axes say so — the axes replacement for state==="blocked". */
32
58
  function isNeedsDecision(decision) {
33
59
  const facts = decision?.facts;
34
60
  return !!facts && (facts.review === "blocked" || facts.checks === "failed");
35
61
  }
62
+ /**
63
+ * A valid, hash-bound operator risk override (INV-111, Bible §11): meaningful
64
+ * ONLY on a needs-decision run (review blocked / checks failed) and only when
65
+ * the recorded decision hash matches the exact patch artifact — a typed,
66
+ * server-owned unblock, never client-faked state.
67
+ */
68
+ function hasValidRiskOverride(input) {
69
+ const d = input.operatorDecision;
70
+ return (isNeedsDecision(input.decision) &&
71
+ !!d &&
72
+ (d.action === "accept_risk" || d.action === "override_needs_human") &&
73
+ typeof d.patch_sha256 === "string" &&
74
+ d.patch_sha256 === sha256(input.patch));
75
+ }
76
+ /**
77
+ * QA-032: a review-blocked run skips FinalVerifier BY CONSTRUCTION, so its
78
+ * persisted `final_verify` is null. When a hash-bound risk override authorizes
79
+ * this exact patch, the fresh final check runs JUST-IN-TIME at apply (the apply
80
+ * route supplies a fresh `finalVerify` to this same gate). For the READ-ONLY
81
+ * projection (GET /runs/:id, /apply/check — no `finalVerify` supplied) the gate
82
+ * must therefore NOT dead-end on the missing persisted verifier; it reports the
83
+ * change as deliverable, gated by the JIT verify, so the only affordance that
84
+ * can produce a green verify is not hidden behind an unsatisfiable verdict.
85
+ */
86
+ function isOverrideVerifyPending(input) {
87
+ // At apply time the caller supplies the fresh finalVerify; the real result is
88
+ // then gated normally (a mechanical conflict still fails closed).
89
+ if (input.finalVerify !== undefined)
90
+ return false;
91
+ const persisted = input.decision?.final_verify ?? null;
92
+ if (persisted?.attempted)
93
+ return false;
94
+ return hasValidRiskOverride(input);
95
+ }
36
96
  export function validateApplyGate(input) {
37
97
  // An operator risk override is meaningful ONLY on a needs-decision run —
38
98
  // review blocked or checks failed (INV-111, Bible §11): the decision
@@ -41,13 +101,7 @@ export function validateApplyGate(input) {
41
101
  // persisted decision facts (the orchestrator stamps review=blocked /
42
102
  // checks=failed whenever the run terminal is a needs-decision block).
43
103
  const facts = input.decision?.facts ?? null;
44
- const blockedEvidence = isNeedsDecision(input.decision);
45
- const override = blockedEvidence &&
46
- input.operatorDecision &&
47
- (input.operatorDecision.action === "accept_risk" ||
48
- input.operatorDecision.action === "override_needs_human") &&
49
- typeof input.operatorDecision.patch_sha256 === "string" &&
50
- input.operatorDecision.patch_sha256 === sha256(input.patch);
104
+ const override = hasValidRiskOverride(input);
51
105
  if (input.state && input.state !== "succeeded" && !override) {
52
106
  // Plain human message (F5); the machine axes stay on the decision facts /
53
107
  // ApplyEligibility.state that callers read alongside this string.
@@ -55,6 +109,18 @@ export function validateApplyGate(input) {
55
109
  }
56
110
  if (!input.decision)
57
111
  return "A completed run is required before this change can be applied.";
112
+ // D-16 work_state veto (INV-116): a model-attested needs_input/incomplete
113
+ // outcome on a succeeded lifecycle is factually non-applyable — the model
114
+ // itself reported the work is unfinished — and WINS over review/checks apply
115
+ // quality (matching the outcome banner). It is not a *reviewed* risk, so the
116
+ // operator risk override cannot bypass it.
117
+ const workVeto = workStateVetoOf(input);
118
+ if (workVeto === "needs_input") {
119
+ return "This change can't be applied — the run reported it needs more input to finish. Provide the missing input and re-run.";
120
+ }
121
+ if (workVeto === "incomplete") {
122
+ return "This change can't be applied — the run reported the work is incomplete. Re-run until it finishes.";
123
+ }
58
124
  // Apply requires a succeeded lifecycle with an APPROVED review and checks
59
125
  // not failed (INV-112 verification-basis rules unchanged).
60
126
  const applyable = facts?.lifecycle === "succeeded" && facts.review === "approved" && facts.checks !== "failed";
@@ -69,8 +135,15 @@ export function validateApplyGate(input) {
69
135
  // override can change that. Failed verify GATES may be overridden through
70
136
  // the same accept_risk path as any blocked run.
71
137
  const fv = input.finalVerify !== undefined ? input.finalVerify : input.decision.final_verify;
72
- if (!fv?.attempted)
138
+ if (!fv?.attempted) {
139
+ // A blocked run authorized by a hash-bound override skips FinalVerifier by
140
+ // construction; the read-only projection reports deliverable and the fresh
141
+ // check runs at apply (QA-032). The apply path supplies `finalVerify` and so
142
+ // never takes this branch — an unattempted fresh verify there still refuses.
143
+ if (isOverrideVerifyPending(input))
144
+ return null;
73
145
  return "This change needs a fresh final check before it can be applied.";
146
+ }
74
147
  if (fv.attempted) {
75
148
  if (fv.applied_cleanly === false) {
76
149
  return `This change no longer applies onto a fresh copy of the code (${fv.reason ?? "conflict"}). Re-run the task.`;
@@ -120,20 +193,58 @@ export function validateApplyGate(input) {
120
193
  * requiredAction} instead of every consumer re-implying eligibility.
121
194
  */
122
195
  export function deriveApplyEligibility(input) {
196
+ // Terminal delivery disposition (QA-021), checked BEFORE the pre-delivery
197
+ // gate: once a run's change is already in the live tree — or was deliberately
198
+ // reverted — apply is no longer the pending action. Deriving eligibility from
199
+ // the pre-delivery gate here would tell an operator/agent to "run a fresh
200
+ // final check" or "re-run" for finished work (an in-place winner honestly
201
+ // carries final_verify:null). The effective RunApplyState is the authority;
202
+ // the review outcome for `applied_review_blocked` lives on the outcome banner
203
+ // and the separate Revert affordance, not on this apply verdict.
204
+ const applyState = input.applyState ?? null;
205
+ if (applyState === "applied" || applyState === "applied_review_blocked") {
206
+ return {
207
+ eligible: false,
208
+ state: "already_applied",
209
+ reason: "This change is already applied.",
210
+ requiredAction: null,
211
+ };
212
+ }
213
+ if (applyState === "reverted") {
214
+ return {
215
+ eligible: false,
216
+ state: "reverted",
217
+ reason: "This change was reverted.",
218
+ requiredAction: null,
219
+ };
220
+ }
123
221
  const reason = validateApplyGate(input);
124
222
  // The eligibility `state` is a coarse apply classification (not a run state):
125
- // ok / needs_review / not_verified / no_changes, projected from the axes.
223
+ // needs_input / incomplete / needs_review / not_verified / no_changes / ok,
224
+ // projected from the axes. The D-16 work_state veto (INV-116) wins over
225
+ // review/checks quality, matching the outcome banner and validateApplyGate.
126
226
  const facts = input.decision?.facts ?? null;
127
- const state = !facts
128
- ? (input.state ?? null)
129
- : facts.review === "blocked" || facts.checks === "failed"
130
- ? "needs_review"
131
- : facts.review === "not_run" || facts.checks === "not_configured"
132
- ? "not_verified"
133
- : facts.noChanges
134
- ? "no_changes"
135
- : "ok";
227
+ const workVeto = workStateVetoOf(input);
228
+ const state = workVeto
229
+ ? workVeto
230
+ : !facts
231
+ ? (input.state ?? null)
232
+ : facts.review === "blocked" || facts.checks === "failed"
233
+ ? "needs_review"
234
+ : facts.review === "not_run" || facts.checks === "not_configured"
235
+ ? "not_verified"
236
+ : facts.noChanges
237
+ ? "no_changes"
238
+ : "ok";
136
239
  if (reason === null) {
240
+ // A hash-bound risk override on a blocked run whose FinalVerifier was
241
+ // skipped by construction is eligible; the fresh final check runs at apply
242
+ // time (QA-032). Surface a typed verify-pending state so surfaces can offer
243
+ // Apply with an honest "a fresh check will run before mutation" caveat
244
+ // rather than a dead end that hides the only verifier trigger.
245
+ if (isOverrideVerifyPending(input)) {
246
+ return { eligible: true, state: "verify_pending", reason: null, requiredAction: null };
247
+ }
137
248
  return { eligible: true, state, reason: null, requiredAction: null };
138
249
  }
139
250
  return {
package/dist/gate.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAOvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AA+BzC;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,QAA+B,EAAE,SAAwB;IAC1E,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC;IACtC,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC5D,OAAO,uGAAuG,CAAC;QACjH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;YACpE,OAAO,8IAA8I,CAAC;QACxJ,CAAC;QACD,IAAI,KAAK,CAAC,SAAS;YAAE,OAAO,yDAAyD,CAAC;IACxF,CAAC;IACD,IAAI,SAAS,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QAC3C,OAAO,gDAAgD,CAAC;IAC1D,CAAC;IACD,OAAO,gDAAgD,CAAC;AAC1D,CAAC;AAED;gFACgF;AAChF,SAAS,eAAe,CAAC,QAA+B;IACtD,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,CAAC;IAC9B,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAqB;IACrD,yEAAyE;IACzE,qEAAqE;IACrE,qEAAqE;IACrE,qEAAqE;IACrE,qEAAqE;IACrE,sEAAsE;IACtE,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC;IAC5C,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,QAAQ,GACZ,eAAe;QACf,KAAK,CAAC,gBAAgB;QACtB,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,KAAK,aAAa;YAC9C,KAAK,CAAC,gBAAgB,CAAC,MAAM,KAAK,sBAAsB,CAAC;QAC3D,OAAO,KAAK,CAAC,gBAAgB,CAAC,YAAY,KAAK,QAAQ;QACvD,KAAK,CAAC,gBAAgB,CAAC,YAAY,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9D,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5D,0EAA0E;QAC1E,kEAAkE;QAClE,OAAO,uDAAuD,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IACzH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO,gEAAgE,CAAC;IAC7F,0EAA0E;IAC1E,2DAA2D;IAC3D,MAAM,SAAS,GACb,KAAK,EAAE,SAAS,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;IAC/F,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzE,OAAO,yCAAyC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;IACnG,CAAC;IACD,wEAAwE;IACxE,sEAAsE;IACtE,0EAA0E;IAC1E,gDAAgD;IAChD,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC7F,IAAI,CAAC,EAAE,EAAE,SAAS;QAAE,OAAO,iEAAiE,CAAC;IAC7F,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,EAAE,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;YACjC,OAAO,gEAAgE,EAAE,CAAC,MAAM,IAAI,UAAU,qBAAqB,CAAC;QACtH,CAAC;QACD,yEAAyE;QACzE,yEAAyE;QACzE,iDAAiD;QACjD,IAAI,EAAE,CAAC,eAAe,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7C,OAAO,8DAA8D,EAAE,CAAC,MAAM,IAAI,oBAAoB,gDAAgD,CAAC;QACzJ,CAAC;QACD,IAAI,EAAE,CAAC,YAAY,KAAK,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3C,OAAO,gHAAgH,CAAC;QAC1H,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,WAAW;QAAE,OAAO,uCAAuC,CAAC;IACvE,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO;QACpC,OAAO,qBAAqB,KAAK,CAAC,WAAW,CAAC,IAAI,8BAA8B,CAAC;IACnF,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC;IAC1D,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QACvD,OAAO,kDAAkD,CAAC;IAC5D,IAAI,QAAQ,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QAClC,OAAO,8DAA8D,CAAC;IACxE,IAAI,CAAC,KAAK,CAAC,gBAAgB;QAAE,OAAO,iDAAiD,CAAC;IACtF,IAAI,CAAC;QACH,IAAI,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;YAChF,OAAO,uEAAuE,CAAC;QACjF,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,yDAAyD,CAAC;IACnE,CAAC;IACD,wEAAwE;IACxE,yDAAyD;IACzD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO,uCAAuC,KAAK,CAAC,MAAM,EAAE,CAAC;IACnF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAqB;IAC1D,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxC,8EAA8E;IAC9E,0EAA0E;IAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC;IAC5C,MAAM,KAAK,GAAG,CAAC,KAAK;QAClB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;QACvB,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;YACvD,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,gBAAgB;gBAC/D,CAAC,CAAC,cAAc;gBAChB,CAAC,CAAC,KAAK,CAAC,SAAS;oBACf,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,IAAI,CAAC;IACf,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IACvE,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,KAAK;QACL,MAAM;QACN,cAAc,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,SAAS,UAAU,CAAC,KAAa;IAC/B,6DAA6D;IAC7D,yEAAyE;IACzE,oEAAoE;IACpE,6DAA6D;IAC7D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9C,IAAI,CAAC,CAAC,OAAO;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC,OAAO;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,6 +12,14 @@ export interface ApplyResult {
12
12
  }
13
13
  /** Dry-run: does this patch apply cleanly? (git apply --check) */
14
14
  export declare function checkPatch(repoRoot: string, patch: string): Promise<ApplyResult>;
15
+ /**
16
+ * Reverse dry-run: is the tree ALREADY this patch's exact postimage? (#26)
17
+ * `git apply --reverse --check` succeeds only when every hunk's postimage
18
+ * context is present — a strong fingerprint that the delivered result is in the
19
+ * tree. Used to distinguish an idempotent already-applied replay (forward
20
+ * refuses, reverse applies) from a real conflict (both refuse).
21
+ */
22
+ export declare function checkPatchReverse(repoRoot: string, patch: string): Promise<ApplyResult>;
15
23
  export type DeliverMode = "apply" | "branch" | "commit" | "pr";
16
24
  export declare const DELIVER_MODES: Set<DeliverMode>;
17
25
  export interface DeliverOptions {
@@ -30,6 +38,9 @@ export interface DeliverResult {
30
38
  /** True when a FAILED delivery left the tree mutated (restore failed);
31
39
  * `applied:false, treeMutated:false` guarantees the tree is untouched. */
32
40
  treeMutated?: boolean;
41
+ /** #26: TRUE when delivery was an idempotent already-applied no-op (the tree
42
+ * was already this patch's exact postimage). `applied:true` with no mutation. */
43
+ alreadyApplied?: boolean;
33
44
  }
34
45
  export interface VerifiedDeliverResult extends DeliverResult {
35
46
  finalVerify: FinalVerifyRecord;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE/F,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AAyBpC,yEAAyE;AACzE,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,wDAI3E;AAOD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,kEAAkE;AAClE,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAGtF;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;AAC/D,eAAO,MAAM,aAAa,kBAA4D,CAAC;AAEvF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;8EAC0E;IAC1E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,WAAW,EAAE,iBAAiB,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;8CAG8C;AAC9C,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,GAAG;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,EACtD,KAAK,GAAE,QAAQ,EAAO,EACtB,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,MAAM,GAAG,IAAI,EAC7D,GAAG,GAAE,cAA0C,GAC9C,OAAO,CAAC,qBAAqB,CAAC,CAIhC;AAuED;;;;;;GAMG;AACH,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,aAAa,CAAC,CAExB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE/F,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AAyBpC,yEAAyE;AACzE,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,wDAI3E;AAOD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,kEAAkE;AAClE,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAGtF;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAG7F;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;AAC/D,eAAO,MAAM,aAAa,kBAA4D,CAAC;AAEvF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;8EAC0E;IAC1E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;qFACiF;IACjF,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,WAAW,EAAE,iBAAiB,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;8CAG8C;AAC9C,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,GAAG;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,EACtD,KAAK,GAAE,QAAQ,EAAO,EACtB,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,MAAM,GAAG,IAAI,EAC7D,GAAG,GAAE,cAA0C,GAC9C,OAAO,CAAC,qBAAqB,CAAC,CAIhC;AAsGD;;;;;;GAMG;AACH,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,aAAa,CAAC,CAExB"}
package/dist/index.js CHANGED
@@ -38,6 +38,17 @@ export async function checkPatch(repoRoot, patch) {
38
38
  const r = await git(repoRoot, ["apply", "--check", "-"], patch);
39
39
  return { ok: r.code === 0, code: r.code, stderr: r.stderr };
40
40
  }
41
+ /**
42
+ * Reverse dry-run: is the tree ALREADY this patch's exact postimage? (#26)
43
+ * `git apply --reverse --check` succeeds only when every hunk's postimage
44
+ * context is present — a strong fingerprint that the delivered result is in the
45
+ * tree. Used to distinguish an idempotent already-applied replay (forward
46
+ * refuses, reverse applies) from a real conflict (both refuse).
47
+ */
48
+ export async function checkPatchReverse(repoRoot, patch) {
49
+ const r = await git(repoRoot, ["apply", "--reverse", "--check", "-"], patch);
50
+ return { ok: r.code === 0, code: r.code, stderr: r.stderr };
51
+ }
41
52
  export const DELIVER_MODES = new Set(["apply", "branch", "commit", "pr"]);
42
53
  /** One mutation entry point for manual/thread/race delivery. It verifies the
43
54
  * patch on a fresh worktree bound to the current target preimage, lets the
@@ -52,9 +63,40 @@ async function verifyAndDeliverUnlocked(repoRoot, patch, options, gates, authori
52
63
  const finalVerify = await finalVerifyPatch(repoRoot, { baseSha: targetPreimageSha, diff: patch }, gates, log);
53
64
  let refusal;
54
65
  if (finalVerify.applied_cleanly === false) {
66
+ // Idempotent replay (#26): the forward patch no longer applies onto a fresh
67
+ // copy. That is EITHER a real conflict OR an already-delivered no-op — the
68
+ // tree is already this patch's exact postimage. Distinguish the two by a
69
+ // reverse --check against the current tree (the same preimage/postimage
70
+ // comparison the revert machinery uses).
71
+ const reverseClean = (await checkPatchReverse(repoRoot, patch)).ok;
72
+ // The reverse-clean no-op shortcut is ONLY honest for mode='apply' (round-2
73
+ // #2): reverse-clean proves the WORKTREE holds the postimage, which is
74
+ // exactly what an idempotent `apply` replay claims. It does NOT prove a
75
+ // commit/branch/PR exists. Reporting mode='commit|branch|pr' as
76
+ // applied/alreadyApplied here would claim a fenced mutation the machinery
77
+ // never performed (the tree already holds the patch, so the forward apply
78
+ // that would stage+commit it cannot run). Take the no-op only for `apply`;
79
+ // for the other modes fall through to an honest typed non-success.
80
+ if (reverseClean && options.mode === "apply") {
81
+ return {
82
+ mode: "apply",
83
+ applied: true,
84
+ treeMutated: false,
85
+ alreadyApplied: true,
86
+ detail: "already applied; idempotent no-op (no files changed)",
87
+ finalVerify,
88
+ targetPreimageSha,
89
+ };
90
+ }
55
91
  // Mechanical applicability is never waivable, even when a caller owns the
56
- // semantic risk decision for failed gates or verifier infrastructure.
57
- refusal = finalVerify.reason ?? "final verify failed: patch did not apply cleanly";
92
+ // semantic risk decision for failed gates or verifier infrastructure. A
93
+ // reverse-clean commit/branch/pr request is refused (not a false success):
94
+ // the patch is already present in the tree, so there is nothing left for the
95
+ // fenced commit/branch/pr path to apply — deliver the change from a clean
96
+ // base, or commit the already-applied working tree directly.
97
+ refusal = reverseClean
98
+ ? `patch already present in the working tree; '${options.mode}' needs an unapplied patch (an earlier apply already delivered these changes — commit them directly or revert first)`
99
+ : (finalVerify.reason ?? "final verify failed: patch did not apply cleanly");
58
100
  }
59
101
  else if (authorize) {
60
102
  // A supplied policy owns the semantic verdict. In particular, null is an
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,EAC7B,QAAQ,EACR,YAAY,EACZ,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGvD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAuB,MAAM,qBAAqB,CAAC;AAE/F,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AAEpC,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEjE,KAAK,UAAU,2BAA2B,CACxC,QAAgB,EAChB,IAAsB;IAEtB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACvE,IAAI,OAAoB,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACzC,OAAO,GAAG,OAAO,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9D,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACvC,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;YAAS,CAAC;QACT,OAAO,EAAE,CAAC;QACV,IAAI,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAAY,EAAE,QAAgB;IAC1E,OAAO,2BAA2B,CAAC,IAAI,EAAE,GAAG,EAAE,CAC5C,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAC/D,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,IAAY,EAAE,IAAc,EAAE,KAAc;IAC7D,0EAA0E;IAC1E,OAAO,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AACnF,CAAC;AAQD,kEAAkE;AAClE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,KAAa;IAC9D,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAChE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAC9D,CAAC;AAGD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AA2BvF;;;8CAG8C;AAC9C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,KAAa,EACb,OAAsD,EACtD,QAAoB,EAAE,EACtB,SAA6D,EAC7D,MAAsB,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;IAE/C,OAAO,2BAA2B,CAAC,QAAQ,EAAE,GAAG,EAAE,CAChD,wBAAwB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,QAAgB,EAChB,KAAa,EACb,OAAsD,EACtD,KAAiB,EACjB,SAA0E,EAC1E,GAAmB;IAEnB,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,GAAG,iBAAiB,SAAS,CAAC,CAAC;IACnF,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,QAAQ,EACR,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,EAC3C,KAAK,EACL,GAAG,CACJ,CAAC;IACF,IAAI,OAAsB,CAAC;IAC3B,IAAI,WAAW,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;QAC1C,0EAA0E;QAC1E,sEAAsE;QACtE,OAAO,GAAG,WAAW,CAAC,MAAM,IAAI,kDAAkD,CAAC;IACrF,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACrB,yEAAyE;QACzE,4EAA4E;QAC5E,sDAAsD;QACtD,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,OAAO,KAAK,EAAE;YAAE,OAAO,GAAG,kDAAkD,CAAC;IACnF,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,OAAO;YACf,WAAW;YACX,iBAAiB;YACjB,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,GAAG,WAAW,SAAS,CAAC,CAAC;IACvE,IAAI,YAAY,KAAK,kBAAkB,EAAE,CAAC;QACxC,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,4DAA4D;YACpE,WAAW;YACX,iBAAiB;YACjB,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3D,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,OAAO,CAAC,EAAE;YACnB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW;YACX,iBAAiB;SAClB,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAClE,OAAO,EAAE,GAAG,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,QAAgB,EAChB,KAAa,EACb,IAAoB;IAEpB,OAAO,2BAA2B,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,QAAgB,EAChB,KAAa,EACb,IAAoB;IAEpB,yEAAyE;IACzE,iEAAiE;IACjE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,oEAAoE;IACpE,2EAA2E;IAC3E,MAAM,KAAK,GAAG,MAAM,yBAAyB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAC7E,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IACH,IAAI,KAAK,YAAY,KAAK;QACxB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;IACxF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAClB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,mDAAmD;SAC5D,CAAC;IAEJ,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9F,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3E,MAAM,UAAU,GAAG,UAAU,IAAI,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9E,MAAM,eAAe,GAAG,CAAC,UAAU,IAAI,UAAU,KAAK,MAAM,CAAC;IAC7D,IAAI,YAAoB,CAAC;IACzB,IAAI,CAAC;QACH,YAAY,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,qCAAqC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SACtG,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACzB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACjD,MAAM,GAAG,MAAM,IAAI,aAAa,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,0BAA0B,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC;YACf,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;QAC3F,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,2EAA2E;IAC3E,MAAM,aAAa,GAAG,KAAK,IAA4B,EAAE;QACvD,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,IAAI,GAAG,eAAe;YAC1B,CAAC,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,0BAA0B,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC7F,CAAC,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,0BAA0B,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QACpF,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,0BAA0B,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACtF,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1D,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,2BAA2B,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACrF,WAAW,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,EAAE,GACN,IAAI,CAAC,IAAI,KAAK,OAAO;QACnB,CAAC,CAAC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC5C,CAAC,CAAC,MAAM,2BAA2B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,MAAM,YAAY,GAAG,MAAM,aAAa,EAAE,CAAC;QAC3C,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,KAAK;YACd,MAAM;YACN,WAAW,EAAE,EAAE,CAAC,WAAW,IAAI,YAAY,KAAK,IAAI;YACpD,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,IAAI,cAAc,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SAC/E,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAEnE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,MAAM,aAAa,EAAE,CAAC;QAC3C,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,KAAK;YACd,MAAM;YACN,WAAW,EAAE,YAAY,KAAK,IAAI;YAClC,MAAM,EAAE,CAAC,gCAAgC,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SACpF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAAW,EAA0B,EAAE;QACvE,MAAM,OAAO,GAAG,MAAM,6BAA6B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrE,MAAM,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,YAAY,KAAK,IAAI,CAAC;QACzD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,KAAK;YACd,MAAM;YACN,WAAW;YACX,MAAM,EAAE;gBACN,GAAG;gBACH,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;gBAC7D,YAAY;gBACZ,WAAW,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC,IAAI;aAC1E;iBACE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC;SACd,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACvE,MAAM,wBAAwB,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5F,IAAI,UAAU,KAAK,YAAY,IAAI,wBAAwB,KAAK,OAAO,EAAE,CAAC;QACxE,OAAO,kBAAkB,CACvB,UAAU,KAAK,YAAY;YACzB,CAAC,CAAC,4DAA4D;YAC9D,CAAC,CAAC,mCAAmC,CACxC,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,+BAA+B,CAAC;IAChE,MAAM,SAAS,GAAG,MAAM,GAAG,CACzB,QAAQ,EACR;QACE,IAAI;QACJ,4BAA4B;QAC5B,IAAI;QACJ,qBAAqB;QACrB,aAAa;QACb,YAAY;QACZ,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,GAAG;KACJ,EACD,GAAG,OAAO,IAAI,CACf,CAAC;IACF,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,kBAAkB,CAAC,kCAAkC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,OAAO,kBAAkB,CAAC,sDAAsD,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9E,MAAM,UAAU,GACd,SAAS,KAAK,MAAM;QAClB,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;QACvD,CAAC,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,kBAAkB,CAAC,qCAAqC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACjF,MAAM,aAAa,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC7F,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QAC/D,yEAAyE;QACzE,uEAAuE;QACvE,uDAAuD;QACvD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,KAAK;YACd,MAAM;YACN,MAAM;YACN,WAAW,EAAE,IAAI;YACjB,MAAM,EACJ,kGAAkG;SACrG,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5D,CAAC;IAED,KAAK;IACL,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE;QAC/B,IAAI;QACJ,0BAA0B;QAC1B,MAAM;QACN,IAAI;QACJ,QAAQ;QACR,MAAgB;KACjB,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,KAAK;YACd,MAAM;YACN,MAAM;YACN,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,gBAAgB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,6CAA6C;SACxF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAgB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAChF,IAAI,IAAI,CAAC,UAAU;QAAE,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;;QAC5D,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;IACpD,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAClG,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,OAAO;QACL,IAAI,EAAE,IAAI;QACV,uEAAuE;QACvE,2EAA2E;QAC3E,2CAA2C;QAC3C,OAAO,EAAE,IAAI;QACb,MAAM;QACN,MAAM;QACN,KAAK;QACL,MAAM,EAAE,KAAK;YACX,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE;KACpI,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claudexor/delivery",
3
- "version": "3.0.3",
3
+ "version": "3.1.0",
4
4
  "license": "MIT",
5
5
  "description": "Apply a WorkProduct patch: dry-run / apply / branch / commit / pr.",
6
6
  "type": "module",
@@ -16,12 +16,12 @@
16
16
  "dist"
17
17
  ],
18
18
  "dependencies": {
19
- "@claudexor/schema": "3.0.3",
20
- "@claudexor/util": "3.0.3",
21
- "@claudexor/core": "3.0.3",
22
- "@claudexor/policy": "3.0.3",
23
- "@claudexor/review": "3.0.3",
24
- "@claudexor/workspace": "3.0.3"
19
+ "@claudexor/core": "3.1.0",
20
+ "@claudexor/util": "3.1.0",
21
+ "@claudexor/schema": "3.1.0",
22
+ "@claudexor/policy": "3.1.0",
23
+ "@claudexor/workspace": "3.1.0",
24
+ "@claudexor/review": "3.1.0"
25
25
  },
26
26
  "repository": {
27
27
  "type": "git",