audit-tools 0.32.7 → 0.32.9

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 (128) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +2 -0
  3. package/dist/audit/cli/dispatch/quotaPool.d.ts +20 -2
  4. package/dist/audit/cli/dispatch/quotaPool.d.ts.map +1 -1
  5. package/dist/audit/cli/dispatch/quotaPool.js +38 -7
  6. package/dist/audit/cli/dispatch/quotaPool.js.map +1 -1
  7. package/dist/audit/cli/dispatch/tierRouting.d.ts +4 -1
  8. package/dist/audit/cli/dispatch/tierRouting.d.ts.map +1 -1
  9. package/dist/audit/cli/dispatch/tierRouting.js +7 -4
  10. package/dist/audit/cli/dispatch/tierRouting.js.map +1 -1
  11. package/dist/audit/cli/dispatch/types.d.ts +9 -4
  12. package/dist/audit/cli/dispatch/types.d.ts.map +1 -1
  13. package/dist/audit/cli/dispatch.d.ts +7 -0
  14. package/dist/audit/cli/dispatch.d.ts.map +1 -1
  15. package/dist/audit/cli/dispatch.js +24 -12
  16. package/dist/audit/cli/dispatch.js.map +1 -1
  17. package/dist/audit/cli/mergeAndIngestCommand.d.ts +0 -9
  18. package/dist/audit/cli/mergeAndIngestCommand.d.ts.map +1 -1
  19. package/dist/audit/cli/mergeAndIngestCommand.js +29 -1
  20. package/dist/audit/cli/mergeAndIngestCommand.js.map +1 -1
  21. package/dist/audit/cli/prompts.d.ts.map +1 -1
  22. package/dist/audit/cli/prompts.js +4 -2
  23. package/dist/audit/cli/prompts.js.map +1 -1
  24. package/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
  25. package/dist/audit/cli/rollingAuditDispatch.js +3 -0
  26. package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
  27. package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
  28. package/dist/audit/cli/semanticReviewStep.js +10 -6
  29. package/dist/audit/cli/semanticReviewStep.js.map +1 -1
  30. package/dist/audit/cli/steps.d.ts +20 -10
  31. package/dist/audit/cli/steps.d.ts.map +1 -1
  32. package/dist/audit/cli/steps.js +4 -2
  33. package/dist/audit/cli/steps.js.map +1 -1
  34. package/dist/audit/orchestrator/planningExecutors.d.ts.map +1 -1
  35. package/dist/audit/orchestrator/planningExecutors.js +1 -0
  36. package/dist/audit/orchestrator/planningExecutors.js.map +1 -1
  37. package/dist/audit/orchestrator/rollingDispatch.d.ts +7 -6
  38. package/dist/audit/orchestrator/rollingDispatch.d.ts.map +1 -1
  39. package/dist/audit/orchestrator/rollingDispatch.js +37 -19
  40. package/dist/audit/orchestrator/rollingDispatch.js.map +1 -1
  41. package/dist/audit/quota/index.d.ts +137 -8
  42. package/dist/audit/quota/index.d.ts.map +1 -1
  43. package/dist/audit/quota/index.js +9 -8
  44. package/dist/audit/quota/index.js.map +1 -1
  45. package/dist/remediate/contractPipeline/derive.d.ts +20 -0
  46. package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
  47. package/dist/remediate/contractPipeline/derive.js +91 -0
  48. package/dist/remediate/contractPipeline/derive.js.map +1 -1
  49. package/dist/remediate/dispatch/ownershipRegistry.d.ts +2 -22
  50. package/dist/remediate/dispatch/ownershipRegistry.d.ts.map +1 -1
  51. package/dist/remediate/dispatch/ownershipRegistry.js +7 -45
  52. package/dist/remediate/dispatch/ownershipRegistry.js.map +1 -1
  53. package/dist/remediate/index.d.ts.map +1 -1
  54. package/dist/remediate/index.js +17 -1
  55. package/dist/remediate/index.js.map +1 -1
  56. package/dist/remediate/phases/close.d.ts.map +1 -1
  57. package/dist/remediate/phases/close.js +3 -2
  58. package/dist/remediate/phases/close.js.map +1 -1
  59. package/dist/remediate/riskSignal.d.ts +6 -3
  60. package/dist/remediate/riskSignal.d.ts.map +1 -1
  61. package/dist/remediate/riskSignal.js +6 -3
  62. package/dist/remediate/riskSignal.js.map +1 -1
  63. package/dist/remediate/steps/contractPipeline.d.ts +1 -2
  64. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  65. package/dist/remediate/steps/contractPipeline.js +80 -106
  66. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  67. package/dist/remediate/steps/dispatch.d.ts +22 -1
  68. package/dist/remediate/steps/dispatch.d.ts.map +1 -1
  69. package/dist/remediate/steps/dispatch.js +108 -5
  70. package/dist/remediate/steps/dispatch.js.map +1 -1
  71. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  72. package/dist/remediate/steps/nextStep.js +89 -116
  73. package/dist/remediate/steps/nextStep.js.map +1 -1
  74. package/dist/remediate/steps/rollingSession.d.ts +82 -17
  75. package/dist/remediate/steps/rollingSession.d.ts.map +1 -1
  76. package/dist/remediate/steps/rollingSession.js +157 -58
  77. package/dist/remediate/steps/rollingSession.js.map +1 -1
  78. package/dist/remediate/steps/types.d.ts +12 -4
  79. package/dist/remediate/steps/types.d.ts.map +1 -1
  80. package/dist/remediate/steps/types.js +1 -1
  81. package/dist/shared/dispatch/admissionLoop.d.ts +245 -0
  82. package/dist/shared/dispatch/admissionLoop.d.ts.map +1 -0
  83. package/dist/shared/dispatch/admissionLoop.js +204 -0
  84. package/dist/shared/dispatch/admissionLoop.js.map +1 -0
  85. package/dist/{remediate → shared}/dispatch/ownershipScheduler.d.ts +23 -2
  86. package/dist/shared/dispatch/ownershipScheduler.d.ts.map +1 -0
  87. package/dist/{remediate → shared}/dispatch/ownershipScheduler.js +34 -6
  88. package/dist/shared/dispatch/ownershipScheduler.js.map +1 -0
  89. package/dist/shared/dispatch/pathIdentity.d.ts +26 -0
  90. package/dist/shared/dispatch/pathIdentity.d.ts.map +1 -0
  91. package/dist/shared/dispatch/pathIdentity.js +49 -0
  92. package/dist/shared/dispatch/pathIdentity.js.map +1 -0
  93. package/dist/shared/dispatch/rollingDispatch.d.ts +37 -0
  94. package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
  95. package/dist/shared/dispatch/rollingDispatch.js +117 -18
  96. package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
  97. package/dist/shared/dispatch/unifiedRolling.d.ts +131 -0
  98. package/dist/shared/dispatch/unifiedRolling.d.ts.map +1 -0
  99. package/dist/shared/dispatch/unifiedRolling.js +161 -0
  100. package/dist/shared/dispatch/unifiedRolling.js.map +1 -0
  101. package/dist/shared/friction/stepBoundaryCapture.d.ts +4 -1
  102. package/dist/shared/friction/stepBoundaryCapture.d.ts.map +1 -1
  103. package/dist/shared/friction/stepBoundaryCapture.js.map +1 -1
  104. package/dist/shared/index.d.ts +12 -1
  105. package/dist/shared/index.d.ts.map +1 -1
  106. package/dist/shared/index.js +18 -1
  107. package/dist/shared/index.js.map +1 -1
  108. package/dist/shared/quota/packetCost.d.ts +29 -0
  109. package/dist/shared/quota/packetCost.d.ts.map +1 -0
  110. package/dist/shared/quota/packetCost.js +51 -0
  111. package/dist/shared/quota/packetCost.js.map +1 -0
  112. package/dist/shared/quota/reservationLedger.d.ts +100 -0
  113. package/dist/shared/quota/reservationLedger.d.ts.map +1 -0
  114. package/dist/shared/quota/reservationLedger.js +224 -0
  115. package/dist/shared/quota/reservationLedger.js.map +1 -0
  116. package/dist/shared/quota/state.d.ts +20 -0
  117. package/dist/shared/quota/state.d.ts.map +1 -1
  118. package/dist/shared/quota/state.js +50 -0
  119. package/dist/shared/quota/state.js.map +1 -1
  120. package/dist/shared/quota/types.d.ts +11 -0
  121. package/dist/shared/quota/types.d.ts.map +1 -1
  122. package/dist/shared/quota/types.js.map +1 -1
  123. package/docs/audit-pkg/contracts.md +3 -1
  124. package/docs/audit-pkg/development.md +5 -4
  125. package/docs/audit-pkg/release.md +2 -3
  126. package/package.json +3 -1
  127. package/dist/remediate/dispatch/ownershipScheduler.d.ts.map +0 -1
  128. package/dist/remediate/dispatch/ownershipScheduler.js.map +0 -1
@@ -1,14 +1,15 @@
1
1
  /**
2
2
  * audit-code rolling dispatch consumer.
3
3
  *
4
- * Wraps the audit-tools/shared createRollingDispatcher with a higher-level
5
- * runRollingDispatch function that:
6
- * 1. Accepts the RollingDispatchEngineContract interface (pinned seam, N-X06).
7
- * 2. Resolves the provider pool to CapacityPool entries.
8
- * 3. Delegates livelock detection to detectLivelock from audit-tools/shared.
9
- * 4. Returns a typed RollingRunResult with termination status.
4
+ * The per-orchestrator TERMINAL adapter over the unified shared driver
5
+ * (`driveRolling`): audit is the read-only degenerate case — one level of read-only
6
+ * nodes that collapse into a single maximal parallel sub-wave (one dispatcher over all
7
+ * packets), so the level/sub-wave machinery no-ops and this reproduces the old flat pass.
8
+ * This wrapper adds audit's own terminal layer on top: the `RollingDispatchEngineContract`
9
+ * seam (N-X06), the empty-pool early return, DC-4 livelock detection, and the typed
10
+ * `RollingRunResult` with `exhausted_pool_ids` the resume path carries.
10
11
  */
11
- import { createRollingDispatcher, detectLivelock, ROLLING_DISPATCH_ENGINE_VERSION, } from "audit-tools/shared";
12
+ import { detectLivelock, driveRolling, resolveLedgerBudgets, ROLLING_DISPATCH_ENGINE_VERSION, } from "audit-tools/shared";
12
13
  // ---------------------------------------------------------------------------
13
14
  // Public API
14
15
  // ---------------------------------------------------------------------------
@@ -26,8 +27,6 @@ import { createRollingDispatcher, detectLivelock, ROLLING_DISPATCH_ENGINE_VERSIO
26
27
  */
27
28
  export async function runRollingDispatch(packets, confirmedPools, sessionConfig, contract, dispatchPacket) {
28
29
  const livelockLimit = contract.livelockGuard ?? 3;
29
- const allResults = [];
30
- let consecutiveNoProgress = 0;
31
30
  // Pool filtering happens upstream (providerConfirmation). Trust the caller's
32
31
  // pool list — a filter that always returns true is a contract lie (INV-07).
33
32
  const activePools = confirmedPools;
@@ -48,17 +47,38 @@ export async function runRollingDispatch(packets, confirmedPools, sessionConfig,
48
47
  };
49
48
  }
50
49
  let dispatchedCount = 0;
51
- const dispatcher = createRollingDispatcher({
50
+ // Admission control: when a metered pool reports a finite absolute budget, the shared
51
+ // reservation ledger leases each packet's cost before dispatch, so two co-located audit
52
+ // runs on one account never collectively over-admit. On the claude-code host (percent-
53
+ // only quota, no finite ceiling) the ledger is omitted and the reactive 429 floor is the
54
+ // safety — no per-dispatch lock overhead, full parallelism.
55
+ const ledgerCfg = resolveLedgerBudgets({
56
+ pools: activePools,
57
+ sessionConfig,
58
+ pendingItemTokens: packets.map((p) => p.estimatedTokens),
59
+ });
60
+ // ONE level of READ-ONLY nodes (audit writes nothing to the target tree), which
61
+ // `ownershipSubWaves` collapses into a single maximal parallel sub-wave — one
62
+ // dispatcher over every packet, identical to the old flat pass. The items ARE the
63
+ // packets (`toPacket` is identity).
64
+ const run = await driveRolling({
65
+ levels: [packets],
52
66
  confirmedPools: activePools,
53
67
  sessionConfig,
68
+ toNode: (packet) => ({ block_id: packet.id, write_paths: [], read_only: true }),
69
+ toPacket: (packet) => packet,
54
70
  dispatchPacket,
55
- recordRateLimit: contract.recordRateLimit,
56
- isPacketEscalated: contract.isPacketEscalated,
71
+ ...(ledgerCfg.reservationLedger
72
+ ? {
73
+ reservationLedger: ledgerCfg.reservationLedger,
74
+ resolvePoolBudget: ledgerCfg.resolvePoolBudget,
75
+ resolveOutputReservation: (_packet, poolId) => ledgerCfg.resolveOutputReservation(poolId),
76
+ }
77
+ : {}),
78
+ ...(contract.recordRateLimit ? { recordRateLimit: contract.recordRateLimit } : {}),
79
+ ...(contract.isPacketEscalated ? { isPacketEscalated: contract.isPacketEscalated } : {}),
57
80
  onResult: (result) => {
58
- allResults.push(result);
59
81
  contract.onResult?.(result);
60
- // Reset no-progress counter on any result.
61
- consecutiveNoProgress = 0;
62
82
  // FND-OBS-99e3a861: emit a structured progress line on each result so
63
83
  // operators can monitor dispatch execution without waiting for terminal state.
64
84
  dispatchedCount++;
@@ -73,13 +93,11 @@ export async function runRollingDispatch(packets, confirmedPools, sessionConfig,
73
93
  }) + "\n");
74
94
  },
75
95
  });
76
- dispatcher.enqueue(packets);
77
- // Run the engine — it drives all packets to completion.
78
- const results = await dispatcher.run();
96
+ const results = run.allResults;
79
97
  // Pools the engine exhausted this pass (spill + reactive re-route already tried
80
98
  // and failed to keep them eligible). These seed the resumable pause's settled
81
99
  // exclusion set (DC-4) so re-discovery never re-offers them as net-new.
82
- const exhaustedPoolIds = [...dispatcher.getState().exhaustedPoolIds];
100
+ const exhaustedPoolIds = run.exhaustedPoolIds;
83
101
  // Check for livelock post-run (packets that never completed).
84
102
  const completedIds = new Set(results.map((r) => r.packet.id));
85
103
  const pendingIds = packets.map((p) => p.id).filter((id) => !completedIds.has(id));
@@ -1 +1 @@
1
- {"version":3,"file":"rollingDispatch.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/rollingDispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rollingDispatch.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/rollingDispatch.ts"],"names":[],"mappings":"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"}
@@ -12,10 +12,9 @@ export { extractRateLimitHeaders } from "./headerExtraction.js";
12
12
  export type { ExtractedRateLimits } from "./headerExtraction.js";
13
13
  export type { HeaderExtractor } from "./headerExtractors/index.js";
14
14
  export { GenericHeaderExtractor, ClaudeCodeHeaderExtractor, getHeaderExtractorForProvider } from "./headerExtractors/index.js";
15
- export declare const DISPATCH_QUOTA_V1ALPHA1: "audit-code-dispatch-quota/v1alpha1";
16
- export declare const DISPATCH_QUOTA_V1ALPHA2: "audit-code-dispatch-quota/v1alpha2";
15
+ export declare const DISPATCH_QUOTA_V1ALPHA3: "audit-code-dispatch-quota/v1alpha3";
17
16
  export declare const DispatchQuotaSchema: z.ZodObject<{
18
- contract_version: z.ZodEnum<["audit-code-dispatch-quota/v1alpha1", "audit-code-dispatch-quota/v1alpha2"]>;
17
+ contract_version: z.ZodLiteral<"audit-code-dispatch-quota/v1alpha3">;
19
18
  run_id: z.ZodString;
20
19
  model: z.ZodNullable<z.ZodString>;
21
20
  resolved_limits: z.ZodObject<{
@@ -52,7 +51,97 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
52
51
  active_subagents: number;
53
52
  description: string;
54
53
  }>>;
55
- max_concurrent_agents: z.ZodNumber;
54
+ admission: z.ZodObject<{
55
+ granted_packet_ids: z.ZodArray<z.ZodString, "many">;
56
+ declared_cap: z.ZodNullable<z.ZodNumber>;
57
+ leases: z.ZodArray<z.ZodObject<{
58
+ packet_id: z.ZodString;
59
+ pool_id: z.ZodString;
60
+ resource_key: z.ZodString;
61
+ lease_id: z.ZodString;
62
+ cost: z.ZodNumber;
63
+ }, "strict", z.ZodTypeAny, {
64
+ packet_id: string;
65
+ cost: number;
66
+ pool_id: string;
67
+ resource_key: string;
68
+ lease_id: string;
69
+ }, {
70
+ packet_id: string;
71
+ cost: number;
72
+ pool_id: string;
73
+ resource_key: string;
74
+ lease_id: string;
75
+ }>, "many">;
76
+ explains: z.ZodArray<z.ZodObject<{
77
+ packet_id: z.ZodString;
78
+ pool_id: z.ZodNullable<z.ZodString>;
79
+ resource_key: z.ZodNullable<z.ZodString>;
80
+ admitted: z.ZodBoolean;
81
+ reason: z.ZodEnum<["admitted", "no_capable_pool", "budget_exhausted", "cap_reached"]>;
82
+ headroom_before: z.ZodOptional<z.ZodNumber>;
83
+ outstanding_before: z.ZodOptional<z.ZodNumber>;
84
+ cost: z.ZodNumber;
85
+ }, "strict", z.ZodTypeAny, {
86
+ reason: "admitted" | "no_capable_pool" | "budget_exhausted" | "cap_reached";
87
+ admitted: boolean;
88
+ packet_id: string;
89
+ cost: number;
90
+ pool_id: string | null;
91
+ resource_key: string | null;
92
+ headroom_before?: number | undefined;
93
+ outstanding_before?: number | undefined;
94
+ }, {
95
+ reason: "admitted" | "no_capable_pool" | "budget_exhausted" | "cap_reached";
96
+ admitted: boolean;
97
+ packet_id: string;
98
+ cost: number;
99
+ pool_id: string | null;
100
+ resource_key: string | null;
101
+ headroom_before?: number | undefined;
102
+ outstanding_before?: number | undefined;
103
+ }>, "many">;
104
+ }, "strict", z.ZodTypeAny, {
105
+ leases: {
106
+ packet_id: string;
107
+ cost: number;
108
+ pool_id: string;
109
+ resource_key: string;
110
+ lease_id: string;
111
+ }[];
112
+ granted_packet_ids: string[];
113
+ declared_cap: number | null;
114
+ explains: {
115
+ reason: "admitted" | "no_capable_pool" | "budget_exhausted" | "cap_reached";
116
+ admitted: boolean;
117
+ packet_id: string;
118
+ cost: number;
119
+ pool_id: string | null;
120
+ resource_key: string | null;
121
+ headroom_before?: number | undefined;
122
+ outstanding_before?: number | undefined;
123
+ }[];
124
+ }, {
125
+ leases: {
126
+ packet_id: string;
127
+ cost: number;
128
+ pool_id: string;
129
+ resource_key: string;
130
+ lease_id: string;
131
+ }[];
132
+ granted_packet_ids: string[];
133
+ declared_cap: number | null;
134
+ explains: {
135
+ reason: "admitted" | "no_capable_pool" | "budget_exhausted" | "cap_reached";
136
+ admitted: boolean;
137
+ packet_id: string;
138
+ cost: number;
139
+ pool_id: string | null;
140
+ resource_key: string | null;
141
+ headroom_before?: number | undefined;
142
+ outstanding_before?: number | undefined;
143
+ }[];
144
+ }>;
56
145
  cooldown_until: z.ZodNullable<z.ZodString>;
57
146
  binding_cap: z.ZodOptional<z.ZodEnum<["rpm", "tpm", "token_budget", "learned", "cooldown", "host_concurrency", "none"]>>;
58
147
  capacity_pools: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -316,7 +405,7 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
316
405
  }>>>;
317
406
  }, "strict", z.ZodTypeAny, {
318
407
  confidence: "high" | "low" | "medium";
319
- contract_version: "audit-code-dispatch-quota/v1alpha1" | "audit-code-dispatch-quota/v1alpha2";
408
+ contract_version: "audit-code-dispatch-quota/v1alpha3";
320
409
  source: "default" | "explicit_config" | "discovered_capability" | "cli_flags" | "provider_default" | "learned";
321
410
  cooldown_until: string | null;
322
411
  model: string | null;
@@ -333,7 +422,27 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
333
422
  description: string;
334
423
  } | null;
335
424
  run_id: string;
336
- max_concurrent_agents: number;
425
+ admission: {
426
+ leases: {
427
+ packet_id: string;
428
+ cost: number;
429
+ pool_id: string;
430
+ resource_key: string;
431
+ lease_id: string;
432
+ }[];
433
+ granted_packet_ids: string[];
434
+ declared_cap: number | null;
435
+ explains: {
436
+ reason: "admitted" | "no_capable_pool" | "budget_exhausted" | "cap_reached";
437
+ admitted: boolean;
438
+ packet_id: string;
439
+ cost: number;
440
+ pool_id: string | null;
441
+ resource_key: string | null;
442
+ headroom_before?: number | undefined;
443
+ outstanding_before?: number | undefined;
444
+ }[];
445
+ };
337
446
  binding_cap?: "none" | "learned" | "rpm" | "tpm" | "token_budget" | "cooldown" | "host_concurrency" | undefined;
338
447
  quota_source_snapshot?: {
339
448
  source: string;
@@ -404,7 +513,7 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
404
513
  } | null | undefined;
405
514
  }, {
406
515
  confidence: "high" | "low" | "medium";
407
- contract_version: "audit-code-dispatch-quota/v1alpha1" | "audit-code-dispatch-quota/v1alpha2";
516
+ contract_version: "audit-code-dispatch-quota/v1alpha3";
408
517
  source: "default" | "explicit_config" | "discovered_capability" | "cli_flags" | "provider_default" | "learned";
409
518
  cooldown_until: string | null;
410
519
  model: string | null;
@@ -421,7 +530,27 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
421
530
  description: string;
422
531
  } | null;
423
532
  run_id: string;
424
- max_concurrent_agents: number;
533
+ admission: {
534
+ leases: {
535
+ packet_id: string;
536
+ cost: number;
537
+ pool_id: string;
538
+ resource_key: string;
539
+ lease_id: string;
540
+ }[];
541
+ granted_packet_ids: string[];
542
+ declared_cap: number | null;
543
+ explains: {
544
+ reason: "admitted" | "no_capable_pool" | "budget_exhausted" | "cap_reached";
545
+ admitted: boolean;
546
+ packet_id: string;
547
+ cost: number;
548
+ pool_id: string | null;
549
+ resource_key: string | null;
550
+ headroom_before?: number | undefined;
551
+ outstanding_before?: number | undefined;
552
+ }[];
553
+ };
425
554
  binding_cap?: "none" | "learned" | "rpm" | "tpm" | "token_budget" | "cooldown" | "host_concurrency" | undefined;
426
555
  quota_source_snapshot?: {
427
556
  source: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/audit/quota/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3F,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAK9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EACV,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAErH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAG/H,eAAO,MAAM,uBAAuB,EAAG,oCAA6C,CAAC;AACrF,eAAO,MAAM,uBAAuB,EAAG,oCAA6C,CAAC;AAErF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgB5B,8EAA8E;;;;;;;;;;;;;;;;;IAE9E,gFAAgF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKzE,CAAC;AACZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/audit/quota/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { ResolvedLimitsSchema, LimitConfidenceSchema, LimitSourceSchema, HostConcurrencyLimitSchema, QuotaUsageSnapshotSchema, BackoffStateSchema, WaveBindingCapSchema, DispatchCapacityPoolSummarySchema, DispatchModelTierSchema, HostModelRosterEntrySchema, } from "audit-tools/shared";
2
+ import { ResolvedLimitsSchema, LimitConfidenceSchema, LimitSourceSchema, HostConcurrencyLimitSchema, QuotaUsageSnapshotSchema, BackoffStateSchema, WaveBindingCapSchema, DispatchCapacityPoolSummarySchema, DispatchModelTierSchema, HostModelRosterEntrySchema, DispatchAdmissionSchema, } from "audit-tools/shared";
3
3
  // Re-exported from audit-tools/shared
4
4
  export { resolveLimits, classifyProvider, readQuotaState, writeQuotaState, computeMaxSafeConcurrency, recordWaveOutcome, getQuotaStatePath, decayWeight, applyDecayToEntry, computeBackoffCooldownMs, computeBackoffFailureWeight, computeRampUpConcurrency, setQuotaStateDir, detectRateLimitError, computeCooldownUntil, acquireLock, releaseLock, withFileLock, FileLockTimeoutError, runSlidingWindow, LearnedQuotaSource, CompositeQuotaSource, GenericErrorParser, ClaudeCodeErrorParser, getErrorParserForProvider, summarizeDispatchCapacityPools, } from "audit-tools/shared";
5
5
  // Wave scheduler now lives in audit-tools/shared (single source of truth for
@@ -16,21 +16,22 @@ export { lookupDiscoveredLimits, updateDiscoveredLimits, mergeDiscoveredLimits,
16
16
  export { extractRateLimitHeaders } from "./headerExtraction.js";
17
17
  export { GenericHeaderExtractor, ClaudeCodeHeaderExtractor, getHeaderExtractorForProvider } from "./headerExtractors/index.js";
18
18
  // Auditor-only type (not in shared)
19
- export const DISPATCH_QUOTA_V1ALPHA1 = "audit-code-dispatch-quota/v1alpha1";
20
- export const DISPATCH_QUOTA_V1ALPHA2 = "audit-code-dispatch-quota/v1alpha2";
19
+ export const DISPATCH_QUOTA_V1ALPHA3 = "audit-code-dispatch-quota/v1alpha3";
21
20
  export const DispatchQuotaSchema = z
22
21
  .object({
23
- contract_version: z.enum([
24
- DISPATCH_QUOTA_V1ALPHA1,
25
- DISPATCH_QUOTA_V1ALPHA2,
26
- ]),
22
+ contract_version: z.literal(DISPATCH_QUOTA_V1ALPHA3),
27
23
  run_id: z.string(),
28
24
  model: z.string().nullable(),
29
25
  resolved_limits: ResolvedLimitsSchema,
30
26
  confidence: LimitConfidenceSchema,
31
27
  source: LimitSourceSchema,
32
28
  host_concurrency_limit: HostConcurrencyLimitSchema.nullable(),
33
- max_concurrent_agents: z.number().int().min(1),
29
+ // Admission control (v1alpha3): the tool GRANTS the affordable admitted set
30
+ // (cost-first-capable, ledger-leased) instead of reporting a computed
31
+ // `max_concurrent_agents` concurrency number. The granted set's size is the
32
+ // emergent admission width; the host dispatches exactly it, then re-invokes
33
+ // next-step for the next grant. See spec/audit/dispatch-admission-control.md.
34
+ admission: DispatchAdmissionSchema,
34
35
  cooldown_until: z.string().nullable(),
35
36
  binding_cap: WaveBindingCapSchema.optional(),
36
37
  capacity_pools: z.array(DispatchCapacityPoolSummarySchema).optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/audit/quota/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,iCAAiC,EACjC,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAE5B,sCAAsC;AACtC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC;AA0B5B,6EAA6E;AAC7E,+EAA+E;AAC/E,0DAA0D;AAC1D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3F,4EAA4E;AAC5E,8EAA8E;AAC9E,+BAA+B;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAO7D,yDAAyD;AACzD,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAIhE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAE/H,oCAAoC;AACpC,MAAM,CAAC,MAAM,uBAAuB,GAAG,oCAA6C,CAAC;AACrF,MAAM,CAAC,MAAM,uBAAuB,GAAG,oCAA6C,CAAC;AAErF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC;QACvB,uBAAuB;QACvB,uBAAuB;KACxB,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,eAAe,EAAE,oBAAoB;IACrC,UAAU,EAAE,qBAAqB;IACjC,MAAM,EAAE,iBAAiB;IACzB,sBAAsB,EAAE,0BAA0B,CAAC,QAAQ,EAAE;IAC7D,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAC5C,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,QAAQ,EAAE;IACrE,8EAA8E;IAC9E,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;IACjE,gFAAgF;IAChF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtE,qBAAqB,EAAE,wBAAwB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrE,aAAa,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACxD,CAAC;KACD,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/audit/quota/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,iCAAiC,EACjC,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,sCAAsC;AACtC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC;AA0B5B,6EAA6E;AAC7E,+EAA+E;AAC/E,0DAA0D;AAC1D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3F,4EAA4E;AAC5E,8EAA8E;AAC9E,+BAA+B;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAO7D,yDAAyD;AACzD,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAIhE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAE/H,oCAAoC;AACpC,MAAM,CAAC,MAAM,uBAAuB,GAAG,oCAA6C,CAAC;AAErF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC;IACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,eAAe,EAAE,oBAAoB;IACrC,UAAU,EAAE,qBAAqB;IACjC,MAAM,EAAE,iBAAiB;IACzB,sBAAsB,EAAE,0BAA0B,CAAC,QAAQ,EAAE;IAC7D,4EAA4E;IAC5E,sEAAsE;IACtE,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,SAAS,EAAE,uBAAuB;IAClC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAC5C,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,QAAQ,EAAE;IACrE,8EAA8E;IAC9E,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;IACjE,gFAAgF;IAChF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtE,qBAAqB,EAAE,wBAAwB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrE,aAAa,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACxD,CAAC;KACD,MAAM,EAAE,CAAC"}
@@ -45,6 +45,26 @@ export interface DeriveOptions {
45
45
  * ledger is acyclic by construction — `buildObligationLedger` cannot throw).
46
46
  */
47
47
  export declare function deriveObligationLedger(finalizedModuleContracts: unknown, options?: DeriveOptions): ObligationLedger;
48
+ /**
49
+ * Derive `finalized_module_contracts` deterministically from the drafted
50
+ * `module_contracts` and the `seam_reconciliation_report`. Pure function of its
51
+ * inputs (modulo the `created_at` stamp): the same drafts + seam report always
52
+ * yield the same finalized contracts in draft order, so the artifact hash /
53
+ * staleness DAG stays well-behaved.
54
+ *
55
+ * Each finalized entry copies the draft's interface fields verbatim (already
56
+ * validated `string[]` / string shapes, so no coercion is needed) and PRESERVES
57
+ * `neighbor_needs` for the ordering derivation, then sets `seam_adjustments` to
58
+ * the `agreed_interface`(s) of the seams that touch the module. A draft entry
59
+ * that is not an object is passed through unchanged (the downstream validator
60
+ * reports it).
61
+ */
62
+ export declare function deriveFinalizedModuleContracts(draftedModuleContracts: unknown, seamReconciliationReport: unknown, options?: DeriveOptions): {
63
+ contract_version: string;
64
+ goal_id: string;
65
+ module_contracts: unknown[];
66
+ created_at: string;
67
+ };
48
68
  /**
49
69
  * Shared obligation-membership predicates — the single source for which
50
70
  * obligations each downstream scaffold covers.
@@ -1 +1 @@
1
- {"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/derive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAwB5B,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,wBAAwB,EAAE,OAAO,EACjC,OAAO,GAAE,aAAkB,GAC1B,gBAAgB,CA8DlB;AAmBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAI/D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AASD,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,KAAK,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb;;;;;;WAMG;QACH,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAQD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAM,GACpD,yBAAyB,CA6B3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC;;;;;;;OAOG;IACH,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,2BAA2B,EAAE,MAAM,EAAE,CAAC;IACtC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,GAAG,oBAAoB,EAAE,CAW/E;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,6BAA6B,EAAE,CAAC;IACvC,KAAK,EAAE,KAAK,EAAE,CAAC;CAChB;AAED,gFAAgF;AAChF,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE,CAgBxE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,aAAa,EAAE,MAAM,EAAE,EACvB,kBAAkB,CAAC,EAAE,OAAO,GAC3B,yBAAyB,CAwD3B"}
1
+ {"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/derive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAyB5B,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,wBAAwB,EAAE,OAAO,EACjC,OAAO,GAAE,aAAkB,GAC1B,gBAAgB,CA8DlB;AAiDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,CAC5C,sBAAsB,EAAE,OAAO,EAC/B,wBAAwB,EAAE,OAAO,EACjC,OAAO,GAAE,aAAkB,GAC1B;IACD,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB,CAgCA;AAmBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAI/D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AASD,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,KAAK,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb;;;;;;WAMG;QACH,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAQD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAM,GACpD,yBAAyB,CA6B3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC;;;;;;;OAOG;IACH,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,2BAA2B,EAAE,MAAM,EAAE,CAAC;IACtC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,GAAG,oBAAoB,EAAE,CAW/E;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,6BAA6B,EAAE,CAAC;IACvC,KAAK,EAAE,KAAK,EAAE,CAAC;CAChB;AAED,gFAAgF;AAChF,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE,CAgBxE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,aAAa,EAAE,MAAM,EAAE,EACvB,kBAAkB,CAAC,EAAE,OAAO,GAC3B,yBAAyB,CAwD3B"}
@@ -23,6 +23,7 @@
23
23
  import { buildObligationLedger, isRecord, mintUniqueId, } from "audit-tools/shared";
24
24
  import { buildBaselineSymbolCorpus, classifyObligationChange, obligationScopeAnchors, readObligationChangeClassification, } from "./changeClassification.js";
25
25
  import { derivePhaseCut, phaseCutModulesFromContracts } from "./phaseCut.js";
26
+ import { CP_FINALIZED_MODULE_CONTRACTS_VERSION } from "../validation/contractPipeline.js";
26
27
  /**
27
28
  * Derive the obligation ledger deterministically from the finalized module
28
29
  * contracts. Pure function of its input (modulo the `created_at` stamp): the
@@ -97,6 +98,96 @@ export function deriveObligationLedger(finalizedModuleContracts, options = {}) {
97
98
  created_at: options.created_at,
98
99
  });
99
100
  }
101
+ // ── Finalized module contracts (deterministic attach) ─────────────────────────
102
+ //
103
+ // `contract_finalization` is a mechanical merge, not fresh authoring: it takes
104
+ // the drafted module contracts and the seam-reconciliation decisions and, per
105
+ // module, carries the draft interface verbatim while attaching the
106
+ // `agreed_interface` of every seam that touches the module as a `seam_adjustment`.
107
+ // No source is re-read and no judgment is spent — the judgment already happened
108
+ // upstream (the seam_reconciliation phase decided each mismatch's resolution).
109
+ // Attaching each agreed interface verbatim guarantees the reconciliation-derivation
110
+ // gate (INV-CO-12) passes, since its corpus is the union of every module's
111
+ // inputs/outputs/invariants/side_effects/seam_adjustments/validation_boundary.
112
+ //
113
+ // `neighbor_needs` is PRESERVED from the draft (the finalized schema tolerates the
114
+ // extra field): it is one of the two module-dependency signals `phaseCutModules
115
+ // FromContracts` / `applyModuleDependencyEdges` read (unioned with `artifact:<name>`
116
+ // producer/consumer tokens), so preserving it keeps the phase cut and node
117
+ // ordering intact without the tool having to synthesize artifact tokens. A weaker
118
+ // draft that leaves inputs/outputs empty, or a seam report referencing a module
119
+ // not in scope, surfaces at the downstream design/reconciliation gate and routes
120
+ // to an LLM re-author of `contract_finalization` — the only path that still needs
121
+ // judgment.
122
+ /** The seam-reconciliation `agreed_interface`s that touch a given module name. */
123
+ function seamAdjustmentsForModule(moduleName, seamReconciliationReport) {
124
+ const mismatches = isRecord(seamReconciliationReport) && Array.isArray(seamReconciliationReport.mismatches)
125
+ ? seamReconciliationReport.mismatches
126
+ : [];
127
+ const adjustments = [];
128
+ for (const mismatch of mismatches) {
129
+ if (!isRecord(mismatch))
130
+ continue;
131
+ if (mismatch.module_a !== moduleName && mismatch.module_b !== moduleName)
132
+ continue;
133
+ const resolution = isRecord(mismatch.resolution) ? mismatch.resolution : undefined;
134
+ const agreed = resolution && typeof resolution.agreed_interface === "string"
135
+ ? resolution.agreed_interface
136
+ : "";
137
+ if (agreed.length === 0)
138
+ continue;
139
+ const seamId = typeof mismatch.seam_id === "string" ? mismatch.seam_id : "";
140
+ adjustments.push(seamId ? `${seamId}: ${agreed}` : agreed);
141
+ }
142
+ return adjustments;
143
+ }
144
+ /**
145
+ * Derive `finalized_module_contracts` deterministically from the drafted
146
+ * `module_contracts` and the `seam_reconciliation_report`. Pure function of its
147
+ * inputs (modulo the `created_at` stamp): the same drafts + seam report always
148
+ * yield the same finalized contracts in draft order, so the artifact hash /
149
+ * staleness DAG stays well-behaved.
150
+ *
151
+ * Each finalized entry copies the draft's interface fields verbatim (already
152
+ * validated `string[]` / string shapes, so no coercion is needed) and PRESERVES
153
+ * `neighbor_needs` for the ordering derivation, then sets `seam_adjustments` to
154
+ * the `agreed_interface`(s) of the seams that touch the module. A draft entry
155
+ * that is not an object is passed through unchanged (the downstream validator
156
+ * reports it).
157
+ */
158
+ export function deriveFinalizedModuleContracts(draftedModuleContracts, seamReconciliationReport, options = {}) {
159
+ const goalId = isRecord(draftedModuleContracts) && typeof draftedModuleContracts.goal_id === "string"
160
+ ? draftedModuleContracts.goal_id
161
+ : "";
162
+ const drafts = isRecord(draftedModuleContracts) && Array.isArray(draftedModuleContracts.module_contracts)
163
+ ? draftedModuleContracts.module_contracts
164
+ : [];
165
+ const module_contracts = drafts.map((mod) => {
166
+ if (!isRecord(mod) || typeof mod.name !== "string")
167
+ return mod;
168
+ const finalized = {
169
+ name: mod.name,
170
+ inputs: mod.inputs,
171
+ outputs: mod.outputs,
172
+ invariants: mod.invariants,
173
+ side_effects: mod.side_effects,
174
+ validation_boundary: mod.validation_boundary,
175
+ failure_modes: mod.failure_modes,
176
+ seam_adjustments: seamAdjustmentsForModule(mod.name, seamReconciliationReport),
177
+ };
178
+ // Preserve the draft's directional neighbor edges when present — one of the
179
+ // two module-dependency signals the phase-cut / DAG ordering derivation reads.
180
+ if (Array.isArray(mod.neighbor_needs))
181
+ finalized.neighbor_needs = mod.neighbor_needs;
182
+ return finalized;
183
+ });
184
+ return {
185
+ contract_version: CP_FINALIZED_MODULE_CONTRACTS_VERSION,
186
+ goal_id: goalId,
187
+ module_contracts,
188
+ created_at: options.created_at ?? new Date().toISOString(),
189
+ };
190
+ }
100
191
  // ── Scaffolds (S3): skeletons for the partially-derivable artifacts ────────────
101
192
  //
102
193
  // The test plan and implementation DAG have an irreducible judgment slot
@@ -1 +1 @@
1
- {"version":3,"file":"derive.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/derive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"derive.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/derive.ts"],"names":[],"mappings":"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"}
@@ -10,28 +10,8 @@
10
10
  * Stale in-flight claims (node ID not in the current implementation DAG) are
11
11
  * purged on load.
12
12
  */
13
- /**
14
- * The single-sourced path canonicalization for ownership identity (INV-SOO-09).
15
- *
16
- * Resolves a path to a stable physical-file key: absolute (against `root` when
17
- * supplied, else cwd), `..`/`.`-collapsed (via `resolve`), separators normalized
18
- * to `/`, and case-folded on a case-insensitive filesystem. All spellings of one
19
- * file therefore collide, closing the rel/abs/case/`..` mismatch (CE-004).
20
- *
21
- * Symlink identity is a RECORDED RESIDUAL, not silently treated as disjoint
22
- * (INV-SOO-09 / fail-3): when `resolveSymlinks` is set and the path exists, the
23
- * realpath is folded in so `link.ts → x.ts` collides; when realpath is
24
- * unavailable (path absent, or FS symlink resolution out of scope) the lexical
25
- * canonical key is used and the unresolved case degrades to the downstream merge
26
- * guard rather than being asserted disjoint here.
27
- *
28
- * This is the ONLY normalization scheme for ownership identity — callers must
29
- * not introduce a second one (failure-mode: path-identity mismatch).
30
- */
31
- export declare function canonicalizeFilePath(path: string, opts?: {
32
- root?: string;
33
- resolveSymlinks?: boolean;
34
- }): string;
13
+ import { canonicalizeFilePath } from "audit-tools/shared";
14
+ export { canonicalizeFilePath };
35
15
  /**
36
16
  * The disposition a node reaches when the rolling engine stops driving it for the
37
17
  * current pass. INV-SOO-10 (releasing-disposition discipline) keys the claim
@@ -1 +1 @@
1
- {"version":3,"file":"ownershipRegistry.d.ts","sourceRoot":"","sources":["../../../src/remediate/dispatch/ownershipRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ownershipRegistry.d.ts","sourceRoot":"","sources":["../../../src/remediate/dispatch/ownershipRegistry.ts"],"names":[],"mappings":"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"}