opencode-swarm 7.184.16 → 7.184.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  2. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  3. package/dist/cli/{auto-checkpoint-dccr5m5w.js → auto-checkpoint-8whpytsm.js} +4 -4
  4. package/dist/cli/{checkpoint-sntn9axf.js → checkpoint-zjtcn0tx.js} +8 -8
  5. package/dist/cli/{coder-settlement-wvesf12p.js → coder-settlement-0z8sr1ep.js} +3 -3
  6. package/dist/cli/{config-doctor-2kf93041.js → config-doctor-4zwh0dkn.js} +2 -2
  7. package/dist/cli/{core-27f3zcnn.js → core-fqbga0z4.js} +1 -1
  8. package/dist/cli/{curator-drift-dcysavga.js → curator-drift-44ba54w1.js} +5 -5
  9. package/dist/cli/{curator-26a9vxkj.js → curator-fkebhqnh.js} +24 -24
  10. package/dist/cli/{curator-llm-factory-tq54zhpw.js → curator-llm-factory-65qve6xk.js} +24 -24
  11. package/dist/cli/{evidence-summary-service-7t4xgh9q.js → evidence-summary-service-e6wesfq2.js} +9 -9
  12. package/dist/cli/{gate-evidence-44ydv262.js → gate-evidence-8chc9f8q.js} +2 -2
  13. package/dist/cli/{guardrail-explain-00zvh1zq.js → guardrail-explain-2prdgvjk.js} +25 -25
  14. package/dist/cli/{guardrail-log-ybxh0ama.js → guardrail-log-t0ketv64.js} +3 -3
  15. package/dist/cli/{guardrail-reset-qx2nx56s.js → guardrail-reset-rzva9emn.js} +24 -24
  16. package/dist/cli/{hive-promoter-hkzhaeyc.js → hive-promoter-h60dddna.js} +24 -24
  17. package/dist/cli/{index-b3q241ze.js → index-0pvvktht.js} +1 -1
  18. package/dist/cli/{index-v9ynrcst.js → index-0zjg4kt5.js} +1 -1
  19. package/dist/cli/{index-g4d1d91p.js → index-48we80k1.js} +3 -3
  20. package/dist/cli/{index-tzrbeas0.js → index-4v60grax.js} +1 -1
  21. package/dist/cli/{index-rmr36a5k.js → index-50q314wd.js} +1 -1
  22. package/dist/cli/{index-v2v8gdvy.js → index-7n1pfpnj.js} +1 -1
  23. package/dist/cli/{index-marmy421.js → index-8twhrz1w.js} +24 -24
  24. package/dist/cli/{index-rnqfz57d.js → index-a7y29h92.js} +2 -2
  25. package/dist/cli/{index-mdkydrnr.js → index-bktc2g9n.js} +2 -2
  26. package/dist/cli/{index-6dgghy8n.js → index-cyn2cb6k.js} +1 -1
  27. package/dist/cli/{index-9grg5gr3.js → index-denfahc5.js} +1 -1
  28. package/dist/cli/{index-df845cwk.js → index-dky6qwrk.js} +1 -1
  29. package/dist/cli/{index-e2a3evhm.js → index-drndbj24.js} +2 -2
  30. package/dist/cli/{index-8y9aq9f6.js → index-e708d35g.js} +3 -3
  31. package/dist/cli/{index-8pmx61z1.js → index-gx03v1y5.js} +5 -5
  32. package/dist/cli/{index-kvd6jbzr.js → index-hk2cap4d.js} +3 -3
  33. package/dist/cli/{index-r2nr4qxg.js → index-hx4jkj05.js} +3 -3
  34. package/dist/cli/{index-ctd0xa67.js → index-kxacpqwf.js} +1 -1
  35. package/dist/cli/{index-jns2mnbz.js → index-m8342y3n.js} +1 -1
  36. package/dist/cli/{index-gvnsfcj0.js → index-naxrpyb0.js} +3 -3
  37. package/dist/cli/{index-2fc9ecr0.js → index-pak3x772.js} +3710 -3546
  38. package/dist/cli/{index-6h55yp6c.js → index-pef8ay7c.js} +1 -1
  39. package/dist/cli/{index-7m4zf48w.js → index-r472pepw.js} +1 -1
  40. package/dist/cli/{index-8gxb2xxe.js → index-sfsydeh8.js} +1 -1
  41. package/dist/cli/{index-dggrcd8z.js → index-vs1y869b.js} +26 -26
  42. package/dist/cli/{index-6drqsy4n.js → index-ww747mdg.js} +1 -1
  43. package/dist/cli/{index-fzen7z3b.js → index-wxr5me67.js} +1 -1
  44. package/dist/cli/{index-a9cajj7y.js → index-y0534tfs.js} +5 -5
  45. package/dist/cli/{index-n5z3d8nc.js → index-y8gxcmnj.js} +4 -4
  46. package/dist/cli/index.js +25 -25
  47. package/dist/cli/{knowledge-escalator-ebr3rw8e.js → knowledge-escalator-kdeqdj0h.js} +6 -6
  48. package/dist/cli/{knowledge-events-bw9en61p.js → knowledge-events-6fs0tz97.js} +4 -4
  49. package/dist/cli/{knowledge-store-z9y0rn82.js → knowledge-store-z3fee1x1.js} +1 -1
  50. package/dist/cli/{knowledge-validator-p1zxa4rp.js → knowledge-validator-sz1bmbvt.js} +2 -2
  51. package/dist/cli/{mcp-qtqcdjj3.js → mcp-e1cnm4k3.js} +1 -1
  52. package/dist/cli/{model-preflight-fz3dh7wj.js → model-preflight-936dhs10.js} +24 -24
  53. package/dist/cli/{pending-delegations-69kt91zp.js → pending-delegations-m0vf63yd.js} +2 -2
  54. package/dist/cli/{pr-subscriptions-yjwfaaqk.js → pr-subscriptions-2gvfff4q.js} +1 -1
  55. package/dist/cli/{pr-workflow-gate-6wft8t65.js → pr-workflow-gate-68rg74bk.js} +26 -24
  56. package/dist/cli/{scan-cursor-srmwyzgp.js → scan-cursor-qzsanqx4.js} +2 -2
  57. package/dist/cli/{schema-ks83tpk5.js → schema-jx4v0hg7.js} +1 -1
  58. package/dist/cli/{scope-persistence-68sf3zbq.js → scope-persistence-qk1h0c13.js} +5 -5
  59. package/dist/cli/{server-e9r2796f.js → server-z9az3wc5.js} +24 -24
  60. package/dist/cli/{skill-generator-8em4gnwh.js → skill-generator-h0veywz6.js} +7 -7
  61. package/dist/cli/{snapshot-coordination-init-s1q9h6ex.js → snapshot-coordination-init-mwrvch16.js} +24 -24
  62. package/dist/cli/{speckit-checkoff-t2msmjh2.js → speckit-checkoff-skyray2c.js} +3 -3
  63. package/dist/cli/{worktree-collision-ownership-r5p156gs.js → worktree-collision-ownership-wvxm7q1h.js} +2 -2
  64. package/dist/cli/{worktree-isolation-9x2vs2ym.js → worktree-isolation-bmzkxa64.js} +24 -24
  65. package/dist/config/skill-contract-digest.d.ts +20 -0
  66. package/dist/hooks/pr-workflow-gate.d.ts +387 -0
  67. package/dist/hooks/pr-workflow-response-gate.d.ts +2 -0
  68. package/dist/index.js +483 -477
  69. package/dist/services/pr-workflow-skill-contract.d.ts +45 -0
  70. package/package.json +1 -1
@@ -457,6 +457,13 @@ export interface PrWorkflowGateState {
457
457
  mode: PrWorkflowMode;
458
458
  activatedAt: string;
459
459
  updatedAt: string;
460
+ /**
461
+ * Skill-contract advisories recorded at activation (and appended by the
462
+ * auto-resume wake path) when a stale installed copy of the mode's stamped
463
+ * skill was detected — each names the stale path and the canonical source
464
+ * (issue #2601). Purely diagnostic: detection never gates activation.
465
+ */
466
+ skillContractAdvisories?: string[];
460
467
  prHeadSha?: string;
461
468
  prReviewBaseRef?: string;
462
469
  prReviewBaseSha?: string;
@@ -617,6 +624,17 @@ export declare function activatePrWorkflow(directory: string, sessionID: string,
617
624
  requireCheckoutPreflight?: boolean;
618
625
  prUrl?: string;
619
626
  }): Promise<PrWorkflowGateState>;
627
+ /**
628
+ * Issue #2601: append skill-contract advisories detected by the auto-resume
629
+ * wake path onto the durable gate state, independent of activation-time
630
+ * persistence. Read-modify-write under the session-state mutation lock with
631
+ * the same CAS writer activation uses; string-equality dedupe; capped at 8.
632
+ * Fail-open by design: a concurrent gate transition (BLOCKED from the CAS
633
+ * writer), a missing state, or any error drops the append silently — the
634
+ * advisory was already surfaced through `advisoryWarn` by the detector, and
635
+ * an advisory-record failure must never break the gate.
636
+ */
637
+ export declare function appendPrWorkflowSkillContractAdvisories(directory: string, sessionID: string, advisories: string[]): Promise<void>;
620
638
  export declare function readPrWorkflowGateState(directory: string, sessionID: string): Promise<PrWorkflowGateState | null>;
621
639
  export type SubmitPrReviewResultOutcome = {
622
640
  status: 'recorded' | 'duplicate';
@@ -1455,6 +1473,375 @@ export declare function completePrWorkflow(directory: string, sessionID: string,
1455
1473
  laneLiveness?: PrWorkflowLaneLivenessOptions;
1456
1474
  }): Promise<PrWorkflowCompletionStatus>;
1457
1475
  export declare const _test_exports: {
1476
+ parseGateState: (data: unknown) => z.ZodSafeParseResult<{
1477
+ [x: string]: unknown;
1478
+ schemaVersion: 1;
1479
+ revision: number;
1480
+ sessionID: string;
1481
+ mode: "PR_REVIEW" | "PR_FEEDBACK";
1482
+ activatedAt: string;
1483
+ updatedAt: string;
1484
+ workflowInstanceId?: string | undefined;
1485
+ skillContractAdvisories?: string[] | undefined;
1486
+ prHeadSha?: string | undefined;
1487
+ prReviewBaseRef?: string | undefined;
1488
+ prReviewBaseSha?: string | undefined;
1489
+ prReviewDepthTier?: "L" | "M" | "S" | undefined;
1490
+ prReviewDiffStats?: {
1491
+ changedLines: number;
1492
+ changedFiles: number;
1493
+ hasSubmoduleChange: boolean;
1494
+ } | undefined;
1495
+ prReviewBaseDispatches?: {
1496
+ batchId: string;
1497
+ lanes: {
1498
+ laneId: string;
1499
+ workflowLane: "intent-architecture" | "correctness-state" | "tests-falsifiability" | "security-trust" | "reliability-performance" | "compatibility-delivery";
1500
+ ownedWorkflowLanes?: ("intent-architecture" | "correctness-state" | "tests-falsifiability" | "security-trust" | "reliability-performance" | "compatibility-delivery")[] | undefined;
1501
+ }[];
1502
+ validatedAt: string;
1503
+ }[] | undefined;
1504
+ prReviewBaseDispatch?: {
1505
+ batchId: string;
1506
+ lanes: {
1507
+ laneId: string;
1508
+ workflowLane: "intent-architecture" | "correctness-state" | "tests-falsifiability" | "security-trust" | "reliability-performance" | "compatibility-delivery";
1509
+ ownedWorkflowLanes?: ("intent-architecture" | "correctness-state" | "tests-falsifiability" | "security-trust" | "reliability-performance" | "compatibility-delivery")[] | undefined;
1510
+ }[];
1511
+ validatedAt: string;
1512
+ } | undefined;
1513
+ prReviewResilience?: {
1514
+ policy: {
1515
+ enabled: boolean;
1516
+ canaryProbeMs: number;
1517
+ statusProbeTimeoutMs: number;
1518
+ correlatedFailureThreshold: number;
1519
+ maxRetryAttemptsAfterInitial: number;
1520
+ circuitOpenDurationMs?: number | undefined;
1521
+ };
1522
+ attempts: {
1523
+ attempt: 0 | 1 | 2;
1524
+ targetDimensions: ("intent-architecture" | "correctness-state" | "tests-falsifiability" | "security-trust" | "reliability-performance" | "compatibility-delivery")[];
1525
+ canaryBatchId: string;
1526
+ canaryLaneId: string;
1527
+ canaryWorkflowLane: "intent-architecture" | "correctness-state" | "tests-falsifiability" | "security-trust" | "reliability-performance" | "compatibility-delivery";
1528
+ admittedAt: string;
1529
+ fanoutBatchId?: string | undefined;
1530
+ }[];
1531
+ circuit?: {
1532
+ version: 2;
1533
+ state: "CLOSED" | "OPEN" | "HALF_OPEN";
1534
+ generation: number;
1535
+ contributors: {
1536
+ batchId: string;
1537
+ laneId: string;
1538
+ terminalAt: string;
1539
+ }[];
1540
+ providerClass?: string | undefined;
1541
+ openedAt?: string | undefined;
1542
+ openUntil?: string | undefined;
1543
+ evidenceWaterline?: string | undefined;
1544
+ probe?: {
1545
+ batchId: string;
1546
+ laneId: string;
1547
+ admittedAt: string;
1548
+ } | undefined;
1549
+ } | {
1550
+ signature: string;
1551
+ count: number;
1552
+ contributors: {
1553
+ batchId: string;
1554
+ laneId: string;
1555
+ }[];
1556
+ openedAt: string;
1557
+ } | undefined;
1558
+ } | undefined;
1559
+ prReviewContractRetryDimensions?: ("intent-architecture" | "correctness-state" | "tests-falsifiability" | "security-trust" | "reliability-performance" | "compatibility-delivery")[] | undefined;
1560
+ prReviewTriggerLedger?: ({
1561
+ trigger_id: "auth-identity-secrets" | "untrusted-input-boundaries" | "subprocess-platform" | "concurrency-state" | "dependencies-build-release" | "api-schema-migrations" | "test-infrastructure" | "ui-accessibility-i18n" | "privacy-observability" | "generated-provenance" | "unclassified-risk";
1562
+ result: "MATCHED";
1563
+ evidence: string;
1564
+ } | {
1565
+ trigger_id: "auth-identity-secrets" | "untrusted-input-boundaries" | "subprocess-platform" | "concurrency-state" | "dependencies-build-release" | "api-schema-migrations" | "test-infrastructure" | "ui-accessibility-i18n" | "privacy-observability" | "generated-provenance" | "unclassified-risk";
1566
+ result: "NOT_TRIGGERED";
1567
+ evidence: string;
1568
+ })[] | undefined;
1569
+ prReviewTriggerEvalPath?: string | undefined;
1570
+ prReviewTriggerEvalRunId?: string | undefined;
1571
+ prReviewValidationBatches?: {
1572
+ batchId: string;
1573
+ phase: "reviewer" | "critic" | "council";
1574
+ lanes: {
1575
+ laneId: string;
1576
+ workflowLane: string;
1577
+ reviewItemIds?: string[] | undefined;
1578
+ }[];
1579
+ validatedAt: string;
1580
+ }[] | undefined;
1581
+ prReviewBatchCoherence?: Record<string, {
1582
+ [x: string]: unknown;
1583
+ validatedInventory: string[];
1584
+ reviewerItemBindings?: Record<string, string> | undefined;
1585
+ reviewerItemBindingKeyEncoding?: "prefixed-v1" | undefined;
1586
+ }> | undefined;
1587
+ prReviewRetiredReviewerSessionIds?: string[] | undefined;
1588
+ prReviewRetiredConsolidatedLanes?: string[] | undefined;
1589
+ prReviewReservedRunId?: string | undefined;
1590
+ prReviewArtifactRunId?: string | undefined;
1591
+ prReviewFindingsPath?: string | undefined;
1592
+ prReviewPartialBaseCoverage?: {
1593
+ schemaVersion: 2;
1594
+ runId: string;
1595
+ prHeadSha: string;
1596
+ revisionDigest: string;
1597
+ unresolvedDimensions: {
1598
+ dimension: "intent-architecture" | "correctness-state" | "tests-falsifiability" | "security-trust" | "reliability-performance" | "compatibility-delivery";
1599
+ terminalState: "FAILED" | "CANCELLED" | "NOT_LAUNCHED";
1600
+ reasonKind: "cancelled" | "lane_failure" | "not_launched";
1601
+ failureClass?: "contract" | "resource" | "liveness" | "deadline" | undefined;
1602
+ terminalEventId?: string | undefined;
1603
+ batchId?: string | undefined;
1604
+ laneId?: string | undefined;
1605
+ safeDetail?: string | undefined;
1606
+ }[];
1607
+ admittedAt: string;
1608
+ } | {
1609
+ runId: string;
1610
+ prHeadSha: string;
1611
+ revisionDigest: string;
1612
+ missingDimension: "intent-architecture" | "correctness-state" | "tests-falsifiability" | "security-trust" | "reliability-performance" | "compatibility-delivery";
1613
+ failureClass: "contract" | "resource" | "deadline";
1614
+ terminalEventId: string;
1615
+ admittedAt: string;
1616
+ } | undefined;
1617
+ prReviewCoverageDisclosurePath?: string | undefined;
1618
+ prReviewCoverageDisclosureDigest?: string | undefined;
1619
+ prReviewDimensionCancellations?: Record<"intent-architecture" | "correctness-state" | "tests-falsifiability" | "security-trust" | "reliability-performance" | "compatibility-delivery", {
1620
+ reason: string;
1621
+ cancelledAt: string;
1622
+ source: "armed_recovery";
1623
+ }> | undefined;
1624
+ prReviewSubmitRejections?: {
1625
+ childSessionId: string;
1626
+ at: number;
1627
+ message: string;
1628
+ laneId?: string | undefined;
1629
+ }[] | undefined;
1630
+ prReviewArtifactBoundaries?: ("post_explorer" | "post_reviewer" | "post_critic")[] | undefined;
1631
+ prReviewHandoffPath?: string | undefined;
1632
+ prReviewHandoffRequired?: boolean | undefined;
1633
+ checkoutRecovery?: {
1634
+ code: "UNMERGED_INDEX" | "GIT_OPERATION_IN_PROGRESS" | "DIRTY_SUBMODULE" | "SWARM_STATE_TRACKING_ERROR" | "GIT_STATE_INDETERMINATE";
1635
+ retryable: false;
1636
+ requiredAction: string;
1637
+ evidence: {
1638
+ worktreeRoot: string | null;
1639
+ gitDir: string | null;
1640
+ operations: string[];
1641
+ unmergedCodes: string[];
1642
+ paths: string[];
1643
+ trackedCount: number;
1644
+ untrackedCount: number;
1645
+ pathsTruncated: boolean;
1646
+ detail?: string | undefined;
1647
+ };
1648
+ detectedAt: string;
1649
+ } | undefined;
1650
+ prFeedbackTargetUrl?: string | undefined;
1651
+ prFeedbackReviewHandoff?: {
1652
+ path: string;
1653
+ runId: string;
1654
+ sourcePrHeadSha: string;
1655
+ prUrl: string;
1656
+ findingIds: string[];
1657
+ digest: string;
1658
+ sourceWorkflowInstanceId: string;
1659
+ provenance: "active-review-v1" | "external-v1";
1660
+ } | undefined;
1661
+ prFeedbackInventory?: string[] | undefined;
1662
+ prFeedbackInventoryAmendments?: {
1663
+ entry: string;
1664
+ amendedAt: string;
1665
+ batch: number;
1666
+ }[] | undefined;
1667
+ prFeedbackVerifications?: {
1668
+ batchId: string;
1669
+ ownership: {
1670
+ laneId: string;
1671
+ ownedItemIds: string[];
1672
+ }[];
1673
+ validatedAt: string;
1674
+ }[] | undefined;
1675
+ prFeedbackRetiredItemOwnership?: Record<string, string> | undefined;
1676
+ prFeedbackVerification?: {
1677
+ batchId: string;
1678
+ ownership: {
1679
+ laneId: string;
1680
+ ownedItemIds: string[];
1681
+ }[];
1682
+ validatedAt: string;
1683
+ } | undefined;
1684
+ prFeedbackStageA?: {
1685
+ revisionDigest: string;
1686
+ checks: {
1687
+ category: "lint" | "build" | "typecheck" | "diff-check" | "reproduction";
1688
+ command: string[];
1689
+ durationMs: number;
1690
+ workingDirectory?: string | undefined;
1691
+ obligationId?: string | undefined;
1692
+ validatorContract?: {
1693
+ path: string;
1694
+ id: string;
1695
+ } | undefined;
1696
+ targets?: string[] | undefined;
1697
+ feedbackTargets?: {
1698
+ feedbackItemId: string;
1699
+ target: string;
1700
+ expectedBehavior: string;
1701
+ proofKind?: "conflict" | "metadata" | "defect" | "source-proof" | "ci" | "user-decision" | undefined;
1702
+ }[] | undefined;
1703
+ }[];
1704
+ validatedAt: string;
1705
+ feedbackItemIds?: string[] | undefined;
1706
+ applicableCategories?: ("lint" | "build" | "typecheck")[] | undefined;
1707
+ applicableObligations?: {
1708
+ id: string;
1709
+ category: "lint" | "build" | "typecheck";
1710
+ workingDirectory: string;
1711
+ source: string;
1712
+ validatorContract?: {
1713
+ path: string;
1714
+ id: string;
1715
+ } | undefined;
1716
+ }[] | undefined;
1717
+ } | undefined;
1718
+ prFeedbackGateBatches?: {
1719
+ batchId: string;
1720
+ phase: "stage-b-reviewer" | "stage-b-test" | "closeout-reviewer" | "closeout-critic";
1721
+ laneId: string;
1722
+ itemIds: string[];
1723
+ revisionDigest: string;
1724
+ validatedAt: string;
1725
+ }[] | undefined;
1726
+ prFeedbackReadyToPublish?: {
1727
+ revisionDigest: string;
1728
+ localHead: string;
1729
+ remoteName: string;
1730
+ remoteBranchRef: string;
1731
+ remoteRef: string;
1732
+ validatedAt: string;
1733
+ } | undefined;
1734
+ prFeedbackPublication?: {
1735
+ schemaVersion: 1;
1736
+ history: {
1737
+ schemaVersion: 1;
1738
+ generation: number;
1739
+ state: "reviewing" | "armed" | "invalidated" | "push_in_flight" | "published" | "cancelled_without_publication";
1740
+ workspaceIdentity: string;
1741
+ sessionID: string;
1742
+ intakeHeadSha: string;
1743
+ localHeadRef: string;
1744
+ localHead: string;
1745
+ remoteName: string;
1746
+ remoteBranchRef: string;
1747
+ remoteRef: string;
1748
+ revisionDigest: string;
1749
+ evidence: {
1750
+ stageAValidatedAt: string;
1751
+ batches: {
1752
+ phase: "stage-b-reviewer" | "stage-b-test" | "closeout-reviewer" | "closeout-critic";
1753
+ batchId: string;
1754
+ laneId: string;
1755
+ }[];
1756
+ };
1757
+ createdAt: string;
1758
+ prTargetUrl?: string | undefined;
1759
+ remoteUrlIdentity?: string | undefined;
1760
+ invalidationReason?: string | undefined;
1761
+ supersededByGeneration?: number | undefined;
1762
+ armedAt?: string | undefined;
1763
+ invalidatedAt?: string | undefined;
1764
+ publishedAt?: string | undefined;
1765
+ cancelledAt?: string | undefined;
1766
+ }[];
1767
+ attempts: {
1768
+ attemptId: string;
1769
+ generation: number;
1770
+ sessionID: string;
1771
+ intentDigest: string;
1772
+ intent: {
1773
+ remote: string;
1774
+ sourceSha: string;
1775
+ destRef: string;
1776
+ };
1777
+ prePush: {
1778
+ localHead: string;
1779
+ worktreeClean: boolean;
1780
+ remoteName: string;
1781
+ remoteBranchRef: string;
1782
+ observedRemoteHead: string | null;
1783
+ };
1784
+ startedAt: string;
1785
+ callID?: string | undefined;
1786
+ result?: {
1787
+ outcome: "completed" | "rejected" | "cancelled" | "uncertain";
1788
+ exitStatus: number | "not-observed";
1789
+ diagnostic: string;
1790
+ postPush: {
1791
+ localHead: string | null;
1792
+ observedRemoteHead: string | null;
1793
+ };
1794
+ completedAt: string;
1795
+ } | undefined;
1796
+ }[];
1797
+ active?: {
1798
+ schemaVersion: 1;
1799
+ generation: number;
1800
+ state: "reviewing" | "armed" | "invalidated" | "push_in_flight" | "published" | "cancelled_without_publication";
1801
+ workspaceIdentity: string;
1802
+ sessionID: string;
1803
+ intakeHeadSha: string;
1804
+ localHeadRef: string;
1805
+ localHead: string;
1806
+ remoteName: string;
1807
+ remoteBranchRef: string;
1808
+ remoteRef: string;
1809
+ revisionDigest: string;
1810
+ evidence: {
1811
+ stageAValidatedAt: string;
1812
+ batches: {
1813
+ phase: "stage-b-reviewer" | "stage-b-test" | "closeout-reviewer" | "closeout-critic";
1814
+ batchId: string;
1815
+ laneId: string;
1816
+ }[];
1817
+ };
1818
+ createdAt: string;
1819
+ prTargetUrl?: string | undefined;
1820
+ remoteUrlIdentity?: string | undefined;
1821
+ invalidationReason?: string | undefined;
1822
+ supersededByGeneration?: number | undefined;
1823
+ armedAt?: string | undefined;
1824
+ invalidatedAt?: string | undefined;
1825
+ publishedAt?: string | undefined;
1826
+ cancelledAt?: string | undefined;
1827
+ } | undefined;
1828
+ } | undefined;
1829
+ prFeedbackArmedRecovery?: {
1830
+ recoveredAt: string;
1831
+ prHeadSha: string;
1832
+ revisionDigest: string;
1833
+ generation: number;
1834
+ reason: string;
1835
+ } | undefined;
1836
+ prFeedbackRebindCount?: number | undefined;
1837
+ prFeedbackScopes?: {
1838
+ taskId: string;
1839
+ files: string[];
1840
+ revisionDigest: string;
1841
+ declaredAt: string;
1842
+ consumedByCallId?: string | undefined;
1843
+ }[] | undefined;
1844
+ }>;
1458
1845
  classifyPrReviewCircuitSignal: typeof classifyPrReviewCircuitSignal;
1459
1846
  minimumConsolidatedLaneCover: typeof minimumConsolidatedLaneCover;
1460
1847
  analyzePrReviewBatchRecordIntegrity: typeof analyzePrReviewBatchRecordIntegrity;
@@ -1,5 +1,6 @@
1
1
  import { scanDelegationsForRecovery } from '../background/pending-delegations.js';
2
2
  import { claimPrFeedbackMonitorEvents, readPrFeedbackMonitorQueue } from '../background/pr-feedback-event-queue.js';
3
+ import { ensurePrWorkflowSkillContractsFresh } from '../services/pr-workflow-skill-contract.js';
3
4
  import { observePrWorkflowAutoWakeEvent } from './pr-workflow-auto-wake.js';
4
5
  import { type PrReviewDepthTier, readPrWorkflowGateState } from './pr-workflow-gate.js';
5
6
  export declare const DEFAULT_BOUNDARY_QUIET_MS = 120000;
@@ -12,6 +13,7 @@ export declare const _internals: {
12
13
  readPrFeedbackMonitorQueue: typeof readPrFeedbackMonitorQueue;
13
14
  observePrWorkflowAutoWakeEvent: typeof observePrWorkflowAutoWakeEvent;
14
15
  scanDelegationsForRecovery: typeof scanDelegationsForRecovery;
16
+ ensurePrWorkflowSkillContractsFresh: typeof ensurePrWorkflowSkillContractsFresh;
15
17
  };
16
18
  /**
17
19
  * Maximum number of consecutive unproductive auto-resumes per gated session