@ashlr/hub 3.2.6 → 3.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/build-identity.json +2 -2
  3. package/dist/cli/completions.js +3 -1
  4. package/dist/cli/completions.js.map +1 -1
  5. package/dist/cli/conductor-permit.d.ts +1 -0
  6. package/dist/cli/conductor-permit.js +122 -0
  7. package/dist/cli/conductor-permit.js.map +1 -0
  8. package/dist/cli/goals.d.ts +2 -0
  9. package/dist/cli/goals.js +90 -5
  10. package/dist/cli/goals.js.map +1 -1
  11. package/dist/cli/help.js +2 -0
  12. package/dist/cli/help.js.map +1 -1
  13. package/dist/cli/index.js +6 -0
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/cli/loop.js +26 -5
  16. package/dist/cli/loop.js.map +1 -1
  17. package/dist/core/comms/elon-dialogue.js +16 -7
  18. package/dist/core/comms/elon-dialogue.js.map +1 -1
  19. package/dist/core/daemon/activation-permit.d.ts +89 -0
  20. package/dist/core/daemon/activation-permit.js +397 -0
  21. package/dist/core/daemon/activation-permit.js.map +1 -1
  22. package/dist/core/daemon/goal-conductor-permit-operator.d.ts +75 -0
  23. package/dist/core/daemon/goal-conductor-permit-operator.js +842 -0
  24. package/dist/core/daemon/goal-conductor-permit-operator.js.map +1 -0
  25. package/dist/core/daemon/loop.js +102 -20
  26. package/dist/core/daemon/loop.js.map +1 -1
  27. package/dist/core/fleet/quota.d.ts +74 -7
  28. package/dist/core/fleet/quota.js +688 -34
  29. package/dist/core/fleet/quota.js.map +1 -1
  30. package/dist/core/fleet/status.js +6 -5
  31. package/dist/core/fleet/status.js.map +1 -1
  32. package/dist/core/goals/advance.js +34 -5
  33. package/dist/core/goals/advance.js.map +1 -1
  34. package/dist/core/goals/conductor-quota.d.ts +38 -0
  35. package/dist/core/goals/conductor-quota.js +110 -0
  36. package/dist/core/goals/conductor-quota.js.map +1 -0
  37. package/dist/core/goals/conductor-target.d.ts +24 -0
  38. package/dist/core/goals/conductor-target.js +35 -0
  39. package/dist/core/goals/conductor-target.js.map +1 -0
  40. package/dist/core/goals/conductor.d.ts +15 -0
  41. package/dist/core/goals/conductor.js +116 -9
  42. package/dist/core/goals/conductor.js.map +1 -1
  43. package/dist/core/goals/store.d.ts +29 -5
  44. package/dist/core/goals/store.js +179 -26
  45. package/dist/core/goals/store.js.map +1 -1
  46. package/dist/core/goals/timestamp-repair.d.ts +50 -0
  47. package/dist/core/goals/timestamp-repair.js +740 -0
  48. package/dist/core/goals/timestamp-repair.js.map +1 -0
  49. package/dist/core/integrations/pulse-sync.js +13 -4
  50. package/dist/core/integrations/pulse-sync.js.map +1 -1
  51. package/dist/core/run/best-of-n.d.ts +18 -0
  52. package/dist/core/run/best-of-n.js +163 -18
  53. package/dist/core/run/best-of-n.js.map +1 -1
  54. package/dist/core/run/orchestrator.js +54 -0
  55. package/dist/core/run/orchestrator.js.map +1 -1
  56. package/dist/core/strategy/goal-planner.js +7 -1
  57. package/dist/core/strategy/goal-planner.js.map +1 -1
  58. package/dist/core/swarm/planner.d.ts +2 -2
  59. package/dist/core/swarm/planner.js +52 -5
  60. package/dist/core/swarm/planner.js.map +1 -1
  61. package/dist/core/swarm/runner.js +29 -3
  62. package/dist/core/swarm/runner.js.map +1 -1
  63. package/dist/core/types.d.ts +39 -0
  64. package/dist/core/types.js.map +1 -1
  65. package/dist/core/web/control.js +5 -2
  66. package/dist/core/web/control.js.map +1 -1
  67. package/dist/release-dependency-inventory.json +1 -1
  68. package/dist/tui/app.js +2 -2
  69. package/dist/tui/app.js.map +1 -1
  70. package/dist/tui/render.d.ts +2 -0
  71. package/dist/tui/render.js +162 -4
  72. package/dist/tui/render.js.map +1 -1
  73. package/package.json +1 -1
@@ -44,7 +44,7 @@ import { assertMayMutate } from '../sandbox/policy.js';
44
44
  import { runSwarm } from '../swarm/runner.js';
45
45
  import { loadSwarm } from '../swarm/store.js';
46
46
  import { loadProposal, listProposals } from '../inbox/store.js';
47
- import { loadGoal, updateMilestoneStatus, resumeMilestone } from './store.js';
47
+ import { claimGoalMilestoneIfCurrent, loadGoal, updateMilestoneStatus, resumeMilestone, } from './store.js';
48
48
  import { proposalCompletesGoalMilestone } from './completion.js';
49
49
  // M270: dynamic frontier trio reads the resolved registry so kimi joins when configured.
50
50
  import { engineTierOf } from '../run/sandboxed-engine.js';
@@ -364,10 +364,10 @@ function findProposalForFrontierRun(repo, beforeIds) {
364
364
  * @param sink optional StreamSink for the swarm; a no-op sink is used if omitted.
365
365
  */
366
366
  export async function advanceGoal(goalId, cfg, opts, sink) {
367
- const goal = loadGoal(goalId);
367
+ let goal = loadGoal(goalId);
368
368
  if (!goal)
369
369
  throw new Error(`goal not found: ${goalId}`);
370
- const milestone = nextActionableMilestone(goal);
370
+ let milestone = nextActionableMilestone(goal);
371
371
  if (!milestone) {
372
372
  throw new Error(`goal has no actionable milestone to advance: ${goalId}`);
373
373
  }
@@ -389,8 +389,32 @@ export async function advanceGoal(goalId, cfg, opts, sink) {
389
389
  // enrollment is re-enforced even in tests; do not reopen that window.
390
390
  const allowAnyRepo = opts?.allowAnyRepo === true && process.env.ASHLR_TEST_ALLOW_ANY_REPO === '1';
391
391
  assertMayMutate(repo, allowAnyRepo ? { allowAnyRepo: true } : undefined);
392
- // Mark in-progress so tracking reflects the active advance.
393
- updateMilestoneStatus(goalId, milestone.id, 'in-progress');
392
+ // Mark in-progress so tracking reflects the active advance. The signed
393
+ // one-shot path uses an atomic generation claim; ordinary explicit goal
394
+ // advances retain the established update behavior.
395
+ if (opts?.expectedGoalDigest !== undefined || opts?.expectedMilestoneId !== undefined) {
396
+ if (!opts.expectedGoalDigest || !opts.expectedMilestoneId) {
397
+ throw new Error('signed goal claim requires both expected goal digest and milestone id');
398
+ }
399
+ const claim = claimGoalMilestoneIfCurrent({
400
+ goalId,
401
+ milestoneId: opts.expectedMilestoneId,
402
+ expectedGoalDigest: opts.expectedGoalDigest,
403
+ });
404
+ if (!claim.claimed || !claim.goal) {
405
+ throw new Error(`signed goal claim refused: ${claim.reason}`);
406
+ }
407
+ goal = claim.goal;
408
+ milestone = goal.milestones.find((entry) => entry.id === opts.expectedMilestoneId) ?? null;
409
+ if (!milestone)
410
+ throw new Error('signed goal claim lost its milestone');
411
+ }
412
+ else {
413
+ const transitioned = updateMilestoneStatus(goalId, milestone.id, 'in-progress');
414
+ if (!transitioned) {
415
+ throw new Error('goal milestone in-progress transition refused; concurrent steering won');
416
+ }
417
+ }
394
418
  const budget = {
395
419
  ...DEFAULT_ADVANCE_BUDGET,
396
420
  ...(opts?.budget ?? {}),
@@ -462,6 +486,11 @@ export async function advanceGoal(goalId, cfg, opts, sink) {
462
486
  budget,
463
487
  allowCloud: opts?.allowCloud ?? false,
464
488
  project: repo,
489
+ ...(opts?.providerQuota ? {
490
+ runId: opts.providerQuota.attemptId,
491
+ providerQuota: opts.providerQuota,
492
+ noCapture: true,
493
+ } : {}),
465
494
  }, sink ?? (() => { }));
466
495
  }
467
496
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"advance.js","sourceRoot":"","sources":["../../../src/core/goals/advance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advance.js","sourceRoot":"","sources":["../../../src/core/goals/advance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EACL,2BAA2B,EAC3B,QAAQ,EACR,qBAAqB,EACrB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACjE,yFAAyF;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,8EAA8E;AAC9E,8DAA8D;AAC9D,8EAA8E;AAE9E,oFAAoF;AACpF,MAAM,sBAAsB,GAAc;IACxC,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF,SAAS,4BAA4B,CAAC,IAAY;IAChD,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,oEAAoE;AACpE,8EAA8E;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAU;IAChD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IACjE,IAAI,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/B,+EAA+E;IAC/E,2EAA2E;IAC3E,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK;QAC5B,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CACzD,CAAC;IACF,IAAI,cAAc;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,8EAA8E;AAC9E,0EAA0E;AAC1E,EAAE;AACF,2EAA2E;AAC3E,0EAA0E;AAC1E,uEAAuE;AACvE,2EAA2E;AAC3E,6EAA6E;AAC7E,6EAA6E;AAC7E,iCAAiC;AACjC,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,wBAAwB,GAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,yEAAyE;AAE3K;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,GAAgB;IAC3C,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,UAAU,CAAC,CAAC;AACrF,CAAC;AAED;;;;GAIG;AACH,IAAI,kBAAkB,GAAG,CAAC,CAAC;AAE3B,+DAA+D;AAC/D,MAAM,UAAU,oBAAoB;IAClC,kBAAkB,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,sBAAsB,CAAC,GAAgB;IAC9C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,GAAG,CAAC,OAAO,EAAE,eAAe,IAAI,EAAE,CAAC,CAAC;QACpE,6DAA6D;QAC7D,+EAA+E;QAC/E,2EAA2E;QAC3E,gCAAgC;QAChC,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,sBAAuB,SAAQ,KAAK;IAEtB;IADlB,YACkB,MAAgB,EAChC,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,WAAM,GAAN,MAAM,CAAU;QAIhC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAAC,MAA0B;IAC1D,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,CACL,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5B,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5B,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACnC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC9B,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAChC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAC7B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,0BAA0B,CACvC,MAAgB,EAChB,IAAY,EACZ,GAAgB,EAChB,IAAY,EACZ,MAAiB;IAEjB,8EAA8E;IAC9E,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAG,QAAQ,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAEpG,IAAI,QAA6I,CAAC;IAClJ,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;YAClC,MAAM;YACN,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;YACpB,GAAG,EAAE,IAAI;YACT,MAAM;YACN,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,KAAK;SACiB,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,sBAAsB,CAAC,MAAM,EAAE,WAAW,MAAM,mBAAmB,GAAG,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,uDAAuD;QACvD,OAAO,sBAAsB,CAC3B,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,SAAS,EACT,IAAI,EACJ,MAAM,CACP,CAAC;IACJ,CAAC;IAED,IAAI,wBAAwB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,sBAAsB,CAC9B,MAAM,EACN,WAAW,MAAM,iCAAiC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACnF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9D,OAAO,sBAAsB,CAC3B,QAAQ,CAAC,EAAE,IAAI,KAAK,EACpB,IAAI,EACJ,MAAM,EACN,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,KAAK,EACd,IAAI,EACJ,MAAM,CACP,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,SAAS,sBAAsB,CAC7B,EAAU,EACV,IAAY,EACZ,MAA0B,EAC1B,MAA0B,EAC1B,KAA6F,EAC7F,OAAe,EACf,MAAiB;IAEjB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO;QACL,EAAE;QACF,IAAI;QACJ,MAAM,EAAE,IAAI;QACZ,OAAO;QACP,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;QACd,MAAM;QACN,KAAK,EAAE,KAAK,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;QACtE,QAAQ,EAAE,CAAC;QACX,MAAM;QACN,MAAM;QACN,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACvC,KAAK,EAAE,EAAE;KACV,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,KAAK,UAAU,4BAA4B,CACzC,OAAmB,EACnB,IAAY,EACZ,GAAgB,EAChB,IAAY,EACZ,MAAiB,EACjB,WAAW,GAAG,GAAG;IAEjB,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IACzB,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,kBAAkB,GAAG,CAAC,CAAC;IACxC,kBAAkB,GAAG,CAAC,kBAAkB,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;IAE3D,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,iEAAiE;IAC5F,IAAI,SAA6C,CAAC;IAElD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAE,CAAC;QAEnC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,0BAA0B,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9E,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,sBAAsB,EAAE,CAAC;gBAC1C,SAAS,GAAG,GAAG,CAAC;gBAChB,+DAA+D;gBAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;gBACpE,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,2DAA2D;YAC3D,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,4DAA4D;IAC5D,OAAO,sBAAsB,CAC3B,kBAAkB,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAC3C,IAAI,EACJ,QAAQ,EACR,sCAAsC,SAAS,EAAE,OAAO,IAAI,SAAS,EAAE,EACvE,SAAS,EACT,IAAI,EACJ,MAAM,CACP,CAAC;AACJ,CAAC;AAED,yFAAyF;AACzF,KAAK,UAAU,KAAK,CAAC,EAAU;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,GAAG,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO;IAC/D,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,0BAA0B,CACjC,IAAY,EACZ,SAA8B;IAE9B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAC5D,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,CAAC,CAAC,MAAM,KAAK,OAAO;YACpB,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CACvC,CAAC;QACF,+DAA+D;QAC/D,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAc,EACd,GAAgB,EAChB,IAAqB,EACrB,IAA2B;IAE3B,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;IAExD,IAAI,SAAS,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,gDAAgD,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,gEAAgE;IAChE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,eAAe,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAE3D,mEAAmE;IACnE,EAAE;IACF,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E;IAC3E,2EAA2E;IAC3E,sEAAsE;IACtE,MAAM,YAAY,GAChB,IAAI,EAAE,YAAY,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,GAAG,CAAC;IAC/E,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEzE,uEAAuE;IACvE,wEAAwE;IACxE,mDAAmD;IACnD,IAAI,IAAI,EAAE,kBAAkB,KAAK,SAAS,IAAI,IAAI,EAAE,mBAAmB,KAAK,SAAS,EAAE,CAAC;QACtF,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,KAAK,GAAG,2BAA2B,CAAC;YACxC,MAAM;YACN,WAAW,EAAE,IAAI,CAAC,mBAAmB;YACrC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAClB,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC;QAC3F,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QAChF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAc;QACxB,GAAG,sBAAsB;QACzB,GAAG,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;QACvB,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,KAAK;KACtC,CAAC;IAEF,0EAA0E;IAC1E,oEAAoE;IACpE,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,4BAA4B;IAC5B,MAAM,eAAe,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IAE/C,oEAAoE;IACpE,EAAE;IACF,0EAA0E;IAC1E,mEAAmE;IACnE,2EAA2E;IAC3E,6EAA6E;IAC7E,uEAAuE;IACvE,IAAI,GAAa,CAAC;IAElB,IAAI,WAAW,EAAE,CAAC;QAChB,gFAAgF;QAChF,uEAAuE;QACvE,mEAAmE;QACnE,IAAI,SAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,CAAC;QAED,MAAM,aAAa,GAAG,GAAG,IAAI,CAAC,SAAS,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/D,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,4BAA4B,CACtC,eAAe,EACf,aAAa,EACb,GAAG,EACH,IAAI,EACJ,MAAM,CACP,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,6DAA6D;YAC7D,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,8DAA8D;QAC9D,gEAAgE;QAChE,MAAM,UAAU,GAAG,0BAA0B,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAE1E,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,UAAU,EAAE,CAAC;YACxC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE;gBACtD,OAAO,EAAE,GAAG,CAAC,EAAE;gBACf,UAAU;aACX,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE;gBACrD,OAAO,EAAE,GAAG,CAAC,EAAE;gBACf,UAAU,EAAE,UAAU,IAAI,IAAI;aAC/B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,mFAAmF;QACnF,2CAA2C;QAC3C,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,QAAQ,CAClB;gBACE,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,MAAM,SAAS,CAAC,KAAK,EAAE;gBAC9C,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,SAAS;aACtC,EACD,GAAG,EACH;gBACE,OAAO,EAAE,IAAI;gBACb,cAAc,EAAE,IAAI;gBACpB,OAAO,EAAE,IAAI;gBACb,MAAM;gBACN,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,KAAK;gBACrC,OAAO,EAAE,IAAI;gBACb,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;oBACxB,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS;oBACnC,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC,CAAC,EAAE,CAAC;aACR,EACD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CACnB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,yEAAyE;YACzE,qEAAqE;YACrE,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,8EAA8E;QAC9E,6EAA6E;QAC7E,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QAEjE,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,gBAAgB,CAAC,IAAI,UAAU,EAAE,CAAC;YAC7E,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE;gBACtD,OAAO,EAAE,GAAG,CAAC,EAAE;gBACf,UAAU;aACX,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,gFAAgF;YAChF,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE;gBACrD,OAAO,EAAE,GAAG,CAAC,EAAE;gBACf,UAAU,EAAE,UAAU,IAAI,IAAI;aAC/B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAAC,OAAe,EAAE,IAAY;IACzD,8EAA8E;IAC9E,2EAA2E;IAC3E,4EAA4E;IAC5E,sEAAsE;IACtE,MAAM,UAAU,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAC5D,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,MAAM,KAAK,OAAO;QACpB,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;QACpC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;QAC7B,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,OAAO,EAAE,CAAC,CACzC,CAAC;IACF,+DAA+D;IAC/D,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;AACnC,CAAC;AAED,8EAA8E;AAC9E,2CAA2C;AAC3C,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAC,IAAU;IACnC,MAAM,QAAQ,GAA6C,EAAE,CAAC;IAC9D,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,wEAAwE;QACxE,2EAA2E;QAC3E,4EAA4E;QAC5E,yEAAyE;QACzE,wDAAwD;QACxD,IAAI,SAAS,GAAoB,CAAC,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,CAAC,UAAU,IAAI,CAClB,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;YACjD,CAAC,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAClD,EAAE,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBACrC,IAAI,8BAA8B,CAAC,CAAC,CAAC;oBAAE,SAAS,GAAG,MAAM,CAAC;qBACrD,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM;oBAAE,SAAS,GAAG,SAAS,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM;oBAAE,SAAS,GAAG,SAAS,CAAC;YACjD,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,SAAS,KAAK,UAAU;YAAE,QAAQ,IAAI,CAAC,CAAC;QAC5C,IAAI,SAAS,KAAK,MAAM;YAAE,IAAI,IAAI,CAAC,CAAC;QACpC,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;IAC9B,MAAM,YAAY,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAElD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,KAAK;QACL,QAAQ;QACR,QAAQ;QACR,IAAI;QACJ,YAAY;QACZ,gBAAgB,EAAE,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI;KAC5D,CAAC;AACJ,CAAC;AAoBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAc,EACd,GAAgB,EAChB,IAA+C,EAC/C,IAA2B;IAE3B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB;IACpF,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACvD,2EAA2E;QAC3E,6DAA6D;QAC7D,MAAM,GAAG,GAAa,MAAM,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEf,sDAAsD;QACtD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;QAExE,mEAAmE;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAClF,CAAC;QAEF,uEAAuE;QACvE,uEAAuE;QACvE,uEAAuE;QACvE,2EAA2E;QAC3E,qEAAqE;QACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,4EAA4E;YAC5E,sDAAsD;YACtD,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;YAChF,IAAI,eAAe,EAAE,CAAC;gBACpB,qBAAqB,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YACpF,CAAC;YACD,2EAA2E;YAC3E,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,QAAQ,GACZ,IAAI,CAAC,MAAM,KAAK,MAAM;gBACtB,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACrD,OAAO;gBACL,IAAI;gBACJ,QAAQ;gBACR,aAAa,EAAE,KAAK;gBACpB,cAAc;aACf,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU;YAAE,cAAc,IAAI,CAAC,CAAC;QAExD,kFAAkF;QAClF,MAAM,aAAa,GACjB,QAAQ,CAAC,MAAM,KAAK,UAAU;YAC9B,QAAQ,CAAC,MAAM,KAAK,MAAM;YAC1B,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC;QAEhC,IAAI,aAAa,EAAE,CAAC;YAClB,wEAAwE;YACxE,sEAAsE;YACtE,iEAAiE;YACjE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,QAAQ,GACZ,IAAI,CAAC,MAAM,KAAK,MAAM;gBACtB,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACrD,OAAO;gBACL,IAAI;gBACJ,QAAQ;gBACR,aAAa,EAAE,IAAI;gBACnB,cAAc;aACf,CAAC;QACJ,CAAC;QAED,sEAAsE;QACtE,IAAI,OAAO,GAAG,UAAU,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1D,wEAAwE;YACxE,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrC,wEAAwE;YACxE,qEAAqE;YACrE,qDAAqD;QACvD,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,MAAM,QAAQ,GACZ,IAAI,EAAE,MAAM,KAAK,MAAM;QACvB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACxE,OAAO;QACL,IAAI;QACJ,QAAQ;QACR,aAAa,EAAE,KAAK;QACpB,cAAc;KACf,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,iFAAiF;AACjF,KAAK,SAAS,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Durable provider-contact authority for the signed one-shot goal conductor.
3
+ *
4
+ * One atomic transaction pessimistically reserves the planner contact plus the
5
+ * twelve contacts allowed by the signed run's maxSteps budget. Reservations
6
+ * are never refunded: ambiguity or an unused ticket consumes capacity safely.
7
+ */
8
+ import type { AshlrConfig, ProviderInferenceQuotaSession } from '../types.js';
9
+ export declare const GOAL_CONDUCTOR_PROVIDER_TICKET_COUNT = 13;
10
+ export interface GoalConductorQuotaBinding {
11
+ permitId: string;
12
+ goalId: string;
13
+ milestoneId: string;
14
+ goalDigest: string;
15
+ projectPath: string;
16
+ }
17
+ export type GoalConductorQuotaDecision = {
18
+ launchAuthorized: true;
19
+ reason: 'goal-conductor-provider-quota-reserved';
20
+ attemptId: string;
21
+ providerQuota: ProviderInferenceQuotaSession;
22
+ } | {
23
+ launchAuthorized: false;
24
+ reason: string;
25
+ };
26
+ /** A typed terminal refusal that must never enter model fallback/retry logic. */
27
+ export declare class GoalConductorQuotaRefusal extends Error {
28
+ readonly code = "goal-conductor-provider-quota-refused";
29
+ constructor(reason: string);
30
+ }
31
+ export declare function isGoalConductorQuotaRefusal(value: unknown): value is GoalConductorQuotaRefusal;
32
+ /**
33
+ * Reserve the complete 13-contact set before any provider inference.
34
+ *
35
+ * `unlimited` is deliberately a refusal: without a configured builtin limit,
36
+ * the quota ledger provides no durable reservation or replay evidence.
37
+ */
38
+ export declare function reserveGoalConductorProviderQuota(cfg: AshlrConfig, binding: GoalConductorQuotaBinding): GoalConductorQuotaDecision;
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Durable provider-contact authority for the signed one-shot goal conductor.
3
+ *
4
+ * One atomic transaction pessimistically reserves the planner contact plus the
5
+ * twelve contacts allowed by the signed run's maxSteps budget. Reservations
6
+ * are never refunded: ambiguity or an unused ticket consumes capacity safely.
7
+ */
8
+ import { createHash } from 'node:crypto';
9
+ import { reserveFleetQuotaUses } from '../fleet/quota.js';
10
+ export const GOAL_CONDUCTOR_PROVIDER_TICKET_COUNT = 13;
11
+ const ATTEMPT_DOMAIN = 'ashlr:goal-conductor-provider-attempt:v1';
12
+ const QUOTA_WINDOWS_MS = Object.freeze({
13
+ '1m': 60_000,
14
+ '5m': 5 * 60_000,
15
+ '15m': 15 * 60_000,
16
+ '1h': 60 * 60_000,
17
+ '5h': 5 * 60 * 60_000,
18
+ '1d': 24 * 60 * 60_000,
19
+ '7d': 7 * 24 * 60 * 60_000,
20
+ '30d': 30 * 24 * 60 * 60_000,
21
+ });
22
+ /** A typed terminal refusal that must never enter model fallback/retry logic. */
23
+ export class GoalConductorQuotaRefusal extends Error {
24
+ code = 'goal-conductor-provider-quota-refused';
25
+ constructor(reason) {
26
+ super(reason);
27
+ this.name = 'GoalConductorQuotaRefusal';
28
+ }
29
+ }
30
+ export function isGoalConductorQuotaRefusal(value) {
31
+ return value instanceof GoalConductorQuotaRefusal || (typeof value === 'object' && value !== null &&
32
+ value.code === 'goal-conductor-provider-quota-refused');
33
+ }
34
+ function deriveAttemptId(binding) {
35
+ const digest = createHash('sha256')
36
+ .update(JSON.stringify([
37
+ ATTEMPT_DOMAIN,
38
+ binding.permitId,
39
+ binding.goalId,
40
+ binding.milestoneId,
41
+ binding.goalDigest,
42
+ binding.projectPath,
43
+ ]))
44
+ .digest('hex');
45
+ return `goal-attempt-${digest}`;
46
+ }
47
+ function ticketId(attemptId, ordinal) {
48
+ return `${attemptId}.provider.${ordinal.toString().padStart(2, '0')}`;
49
+ }
50
+ function createClaimSession(attemptId, expiresAtMs) {
51
+ let next = 0;
52
+ let expired = false;
53
+ return Object.freeze({
54
+ attemptId,
55
+ claimNext() {
56
+ if (expired || Date.now() >= expiresAtMs) {
57
+ expired = true;
58
+ throw new GoalConductorQuotaRefusal('goal-conductor-provider-ticket-session-expired');
59
+ }
60
+ if (next >= GOAL_CONDUCTOR_PROVIDER_TICKET_COUNT) {
61
+ throw new GoalConductorQuotaRefusal('goal-conductor-provider-ticket-cap-exhausted');
62
+ }
63
+ const claimed = ticketId(attemptId, next);
64
+ next += 1;
65
+ return claimed;
66
+ },
67
+ });
68
+ }
69
+ /**
70
+ * Reserve the complete 13-contact set before any provider inference.
71
+ *
72
+ * `unlimited` is deliberately a refusal: without a configured builtin limit,
73
+ * the quota ledger provides no durable reservation or replay evidence.
74
+ */
75
+ export function reserveGoalConductorProviderQuota(cfg, binding) {
76
+ const configuredWindow = cfg.foundry?.limits?.builtin?.window;
77
+ const windowMs = typeof configuredWindow === 'string'
78
+ ? QUOTA_WINDOWS_MS[configuredWindow]
79
+ : undefined;
80
+ if (windowMs === undefined) {
81
+ return {
82
+ launchAuthorized: false,
83
+ reason: 'goal-conductor-provider-quota-window-invalid',
84
+ };
85
+ }
86
+ const attemptId = deriveAttemptId(binding);
87
+ const requests = Array.from({ length: GOAL_CONDUCTOR_PROVIDER_TICKET_COUNT }, (_, ordinal) => ({ backend: 'builtin', dispatchId: ticketId(attemptId, ordinal) }));
88
+ const reservedAtMs = Date.now();
89
+ const reservation = reserveFleetQuotaUses(requests, cfg);
90
+ if (!reservation.launchAuthorized || reservation.kind !== 'reserved') {
91
+ return {
92
+ launchAuthorized: false,
93
+ reason: `goal-conductor-provider-quota-${reservation.kind}`,
94
+ };
95
+ }
96
+ if (reservation.reservations.length !== GOAL_CONDUCTOR_PROVIDER_TICKET_COUNT ||
97
+ reservation.reservations.some((receipt) => receipt.backend !== 'builtin' || receipt.status !== 'reserved')) {
98
+ return {
99
+ launchAuthorized: false,
100
+ reason: 'goal-conductor-provider-quota-receipt-invalid',
101
+ };
102
+ }
103
+ return {
104
+ launchAuthorized: true,
105
+ reason: 'goal-conductor-provider-quota-reserved',
106
+ attemptId,
107
+ providerQuota: createClaimSession(attemptId, reservedAtMs + windowMs),
108
+ };
109
+ }
110
+ //# sourceMappingURL=conductor-quota.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conductor-quota.js","sourceRoot":"","sources":["../../../src/core/goals/conductor-quota.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { Goal } from '../types.js';
2
+ import type { GoalConductorActivationTarget } from '../daemon/activation-permit.js';
3
+ import type { ListGoalsDetailedResult } from './store.js';
4
+ export interface GoalConductorTargetResolution {
5
+ ok: boolean;
6
+ reason: string;
7
+ target?: GoalConductorActivationTarget;
8
+ goal?: Goal;
9
+ milestone?: Goal['milestones'][number];
10
+ }
11
+ /**
12
+ * Resolve the exact live goal/milestone tuple shared by permit request and
13
+ * consumption. The complete goal directory is the authority: a partial scan
14
+ * can never be used to select a production target.
15
+ */
16
+ export interface GoalConductorTargetDependencies {
17
+ listGoalsDetailed: (filter: {
18
+ status: 'active';
19
+ }) => ListGoalsDetailedResult;
20
+ listEnrolled: () => string[];
21
+ nextActionableMilestone: (goal: Goal) => Goal['milestones'][number] | null;
22
+ goalSnapshotDigest: (goal: Goal) => string;
23
+ }
24
+ export declare function resolveGoalConductorTarget(goalId: string, dependencies: GoalConductorTargetDependencies): GoalConductorTargetResolution;
@@ -0,0 +1,35 @@
1
+ export function resolveGoalConductorTarget(goalId, dependencies) {
2
+ if (!goalId || goalId.length > 256) {
3
+ return { ok: false, reason: 'goal-conductor-explicit-goal-required' };
4
+ }
5
+ const source = dependencies.listGoalsDetailed({ status: 'active' });
6
+ if (source.sourceState === 'degraded' || !source.complete) {
7
+ return { ok: false, reason: 'goal-conductor-goal-source-degraded' };
8
+ }
9
+ const goal = source.goals.find((entry) => entry.id === goalId);
10
+ if (!goal)
11
+ return { ok: false, reason: 'goal-conductor-target-not-active' };
12
+ if (!goal.project)
13
+ return { ok: false, reason: 'goal-conductor-target-project-missing' };
14
+ const enrolled = dependencies.listEnrolled();
15
+ if (!enrolled.includes(goal.project)) {
16
+ return { ok: false, reason: 'goal-conductor-target-project-not-enrolled' };
17
+ }
18
+ const milestone = dependencies.nextActionableMilestone(goal);
19
+ if (!milestone) {
20
+ return { ok: false, reason: 'goal-conductor-target-has-no-actionable-milestone' };
21
+ }
22
+ return {
23
+ ok: true,
24
+ reason: 'goal-conductor-target-resolved',
25
+ goal,
26
+ milestone,
27
+ target: {
28
+ goalId: goal.id,
29
+ milestoneId: milestone.id,
30
+ goalDigest: dependencies.goalSnapshotDigest(goal),
31
+ projectPath: goal.project,
32
+ },
33
+ };
34
+ }
35
+ //# sourceMappingURL=conductor-target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conductor-target.js","sourceRoot":"","sources":["../../../src/core/goals/conductor-target.ts"],"names":[],"mappings":"AAwBA,MAAM,UAAU,0BAA0B,CACxC,MAAc,EACd,YAA6C;IAE7C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACnC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uCAAuC,EAAE,CAAC;IACxE,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpE,IAAI,MAAM,CAAC,WAAW,KAAK,UAAU,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC1D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC;IACtE,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAC/D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kCAAkC,EAAE,CAAC;IAC5E,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uCAAuC,EAAE,CAAC;IACzF,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,4CAA4C,EAAE,CAAC;IAC7E,CAAC;IACD,MAAM,SAAS,GAAG,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,mDAAmD,EAAE,CAAC;IACpF,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,gCAAgC;QACxC,IAAI;QACJ,SAAS;QACT,MAAM,EAAE;YACN,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,WAAW,EAAE,SAAS,CAAC,EAAE;YACzB,UAAU,EAAE,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACjD,WAAW,EAAE,IAAI,CAAC,OAAO;SAC1B;KACF,CAAC;AACJ,CAAC"}
@@ -38,6 +38,10 @@ export interface ConductorCycleSummary {
38
38
  killSwitchTripped: boolean;
39
39
  /** True when live conductor authority is intentionally unavailable. */
40
40
  activationRefused?: boolean;
41
+ /** Structured fail-closed reason for a dormant/invalid one-shot request. */
42
+ activationRefusalReason?: string;
43
+ /** Metadata-only identifier of the durably consumed one-shot permit. */
44
+ activationPermitId?: string;
41
45
  /**
42
46
  * Per-goal activity for rich UI display: [{goalId, objective, fractionDone,
43
47
  * milestoneTitle, proposalFiled}]. Only populated for goals where work was
@@ -77,3 +81,14 @@ export declare function runConductor(cfg: AshlrConfig, opts: {
77
81
  dryRun: boolean;
78
82
  maxGoalsPerCycle?: number;
79
83
  } & Pick<AdvanceOptions, 'budget' | 'allowCloud' | 'allowAnyRepo'>): Promise<ConductorCycleSummary>;
84
+ /**
85
+ * Execute one explicitly targeted, signed goal milestone.
86
+ *
87
+ * This does not enable the general conductor. It has no resident/watch shape,
88
+ * no cloud option, no retry, and no daemon fallback. Production remains dormant
89
+ * because the immutable conductor trust-root set is intentionally empty; this
90
+ * source path alone grants no activation authority.
91
+ */
92
+ export declare function runAuthorizedConductorOnce(cfg: AshlrConfig, request: {
93
+ goalId: string;
94
+ }): Promise<ConductorCycleSummary>;
@@ -18,6 +18,17 @@
18
18
  * - Kill-switch is checked before each goal advance so a running conductor loop
19
19
  * can be stopped between milestones without waiting for a swarm to finish.
20
20
  */
21
+ function emptyConductorSummary() {
22
+ return {
23
+ goalsAdvanced: 0,
24
+ milestonesAdvanced: 0,
25
+ proposalsFiled: 0,
26
+ goalsDone: 0,
27
+ daemonFallback: false,
28
+ killSwitchTripped: false,
29
+ goalActivity: [],
30
+ };
31
+ }
21
32
  // ---------------------------------------------------------------------------
22
33
  // runConductor
23
34
  // ---------------------------------------------------------------------------
@@ -36,15 +47,7 @@
36
47
  * with remaining goals.
37
48
  */
38
49
  export async function runConductor(cfg, opts) {
39
- const summary = {
40
- goalsAdvanced: 0,
41
- milestonesAdvanced: 0,
42
- proposalsFiled: 0,
43
- goalsDone: 0,
44
- daemonFallback: false,
45
- killSwitchTripped: false,
46
- goalActivity: [],
47
- };
50
+ const summary = emptyConductorSummary();
48
51
  if (!opts.dryRun) {
49
52
  const { liveConductorActivationAuthorized } = await import('../daemon/activation-permit.js');
50
53
  if (!liveConductorActivationAuthorized()) {
@@ -150,4 +153,108 @@ export async function runConductor(cfg, opts) {
150
153
  }
151
154
  return summary;
152
155
  }
156
+ /**
157
+ * Execute one explicitly targeted, signed goal milestone.
158
+ *
159
+ * This does not enable the general conductor. It has no resident/watch shape,
160
+ * no cloud option, no retry, and no daemon fallback. Production remains dormant
161
+ * because the immutable conductor trust-root set is intentionally empty; this
162
+ * source path alone grants no activation authority.
163
+ */
164
+ export async function runAuthorizedConductorOnce(cfg, request) {
165
+ const summary = emptyConductorSummary();
166
+ const refuse = (reason) => {
167
+ summary.activationRefused = true;
168
+ summary.activationRefusalReason = reason;
169
+ return summary;
170
+ };
171
+ if (!request.goalId)
172
+ return refuse('goal-conductor-explicit-goal-required');
173
+ const { killSwitchOn, listEnrolled } = await import('../sandbox/policy.js');
174
+ if (killSwitchOn()) {
175
+ summary.killSwitchTripped = true;
176
+ return summary;
177
+ }
178
+ const { goalSnapshotDigest, listGoalsDetailed, loadGoal } = await import('./store.js');
179
+ const { nextActionableMilestone, advanceGoalCycle, progressOf } = await import('./advance.js');
180
+ const { resolveGoalConductorTarget } = await import('./conductor-target.js');
181
+ const resolution = resolveGoalConductorTarget(request.goalId, {
182
+ listGoalsDetailed,
183
+ listEnrolled,
184
+ nextActionableMilestone,
185
+ goalSnapshotDigest,
186
+ });
187
+ if (!resolution.ok || !resolution.target || !resolution.goal || !resolution.milestone) {
188
+ return refuse(resolution.reason);
189
+ }
190
+ const { target, goal, milestone } = resolution;
191
+ const activationModule = await import('../daemon/activation-permit.js');
192
+ const activation = activationModule.consumeGoalConductorActivationPermit(cfg, target);
193
+ if (!activation.authorized || !activation.capability)
194
+ return refuse(activation.reason);
195
+ summary.activationPermitId = activation.permitId;
196
+ // Reopen after durable receipt creation. Any steering between preflight and
197
+ // consumption burns the permit and makes zero provider contacts.
198
+ const current = loadGoal(goal.id);
199
+ if (!current || goalSnapshotDigest(current) !== target.goalDigest) {
200
+ return refuse('goal-conductor-target-drifted-after-consumption');
201
+ }
202
+ const currentMilestone = nextActionableMilestone(current);
203
+ if (!currentMilestone || currentMilestone.id !== target.milestoneId) {
204
+ return refuse('goal-conductor-milestone-drifted-after-consumption');
205
+ }
206
+ if (!activationModule.isGoalConductorActivationCapability(activation.capability, target)) {
207
+ return refuse('goal-conductor-capability-invalid-or-consumed');
208
+ }
209
+ if (!activation.permitId)
210
+ return refuse('goal-conductor-activation-permit-id-missing');
211
+ // This is intentionally the final pre-provider boundary, after the one-shot
212
+ // capability's action-time runtime revalidation. All thirteen possible
213
+ // contacts are reserved atomically here, then a non-serializable claim seam
214
+ // is carried to the exact planner/orchestrator inference sites.
215
+ const executionConfig = activation.configSnapshot ?? cfg;
216
+ const { reserveGoalConductorProviderQuota } = await import('./conductor-quota.js');
217
+ const quota = reserveGoalConductorProviderQuota(executionConfig, {
218
+ permitId: activation.permitId,
219
+ goalId: target.goalId,
220
+ milestoneId: target.milestoneId,
221
+ goalDigest: target.goalDigest,
222
+ projectPath: target.projectPath,
223
+ });
224
+ if (!quota.launchAuthorized)
225
+ return refuse(quota.reason);
226
+ try {
227
+ const result = await advanceGoalCycle(goal.id, executionConfig, {
228
+ maxRetries: 0,
229
+ allowCloud: false,
230
+ allowAnyRepo: false,
231
+ budget: {
232
+ maxTokens: activationModule.GOAL_CONDUCTOR_ONCE_MAX_TOKENS,
233
+ maxSteps: activationModule.GOAL_CONDUCTOR_ONCE_MAX_STEPS,
234
+ allowCloud: false,
235
+ },
236
+ expectedGoalDigest: target.goalDigest,
237
+ expectedMilestoneId: target.milestoneId,
238
+ providerQuota: quota.providerQuota,
239
+ });
240
+ summary.goalsAdvanced = 1;
241
+ summary.milestonesAdvanced = 1;
242
+ summary.proposalsFiled = result.proposalsFiled;
243
+ summary.goalsDone = result.goalDone ? 1 : 0;
244
+ const refreshed = loadGoal(goal.id);
245
+ const progress = refreshed ? progressOf(refreshed) : { fractionDone: 0 };
246
+ summary.goalActivity.push({
247
+ goalId: goal.id,
248
+ objective: goal.objective,
249
+ fractionDone: progress.fractionDone,
250
+ milestoneTitle: milestone.title,
251
+ proposalFiled: result.proposalsFiled > 0,
252
+ goalCompleted: result.goalDone,
253
+ });
254
+ return summary;
255
+ }
256
+ catch (error) {
257
+ return refuse(`goal-conductor-advance-failed:${error instanceof Error ? error.message : String(error)}`);
258
+ }
259
+ }
153
260
  //# sourceMappingURL=conductor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conductor.js","sourceRoot":"","sources":["../../../src/core/goals/conductor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conductor.js","sourceRoot":"","sources":["../../../src/core/goals/conductor.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,21 @@ export interface UpdateMilestoneStatusOptions extends GoalPersistenceOptions {
59
59
  proposalId?: string | null;
60
60
  specId?: string | null;
61
61
  }
62
+ export interface ClaimGoalMilestoneResult {
63
+ claimed: boolean;
64
+ reason: string;
65
+ goal?: Goal;
66
+ }
67
+ /** Stable digest used by signed one-shot conductor target bindings. */
68
+ export declare function goalSnapshotDigest(goal: Goal): string;
69
+ /** Full persisted-record guard so parseable corruption cannot look authoritative. */
70
+ export declare function isValidGoalRecord(parsed: unknown): parsed is Goal;
71
+ /**
72
+ * Repair-only admission guard. It relaxes exactly one legacy defect: a valid
73
+ * top-level `updatedAt` may precede the goal's valid `createdAt`. Every other
74
+ * goal, mission, project, status, id, and milestone invariant remains strict.
75
+ */
76
+ export declare function isValidGoalRecordForTimestampRepair(parsed: unknown): parsed is Goal;
62
77
  /**
63
78
  * Create a new Goal from an objective, persist it, and return it.
64
79
  *
@@ -70,8 +85,9 @@ export interface UpdateMilestoneStatusOptions extends GoalPersistenceOptions {
70
85
  * M109: stamps `owner` from cfg.user?.id ?? cfg.user?.name when cfg is
71
86
  * provided (undefined otherwise — backward-compatible).
72
87
  *
73
- * NEVER runs a swarm, authors a spec, or emits an outward action. Best-effort
74
- * persistence (returns the in-memory Goal even if the write fails).
88
+ * NEVER runs a swarm, authors a spec, or emits an outward action. A duplicate
89
+ * deterministic id returns the actual persisted goal; a new-record write
90
+ * failure throws so callers cannot report an object that was never created.
75
91
  */
76
92
  export declare function createGoal(objective: string, opts?: {
77
93
  project?: string | null;
@@ -117,11 +133,19 @@ export declare function listGoalsDetailed(filter?: {
117
133
  export declare function listGoals(filter?: {
118
134
  status?: GoalStatus;
119
135
  }): Goal[];
136
+ export declare function saveGoal(goal: Goal, opts?: GoalPersistenceOptions, stillAuthorized?: () => boolean): boolean;
120
137
  /**
121
- * Persist a Goal record atomically (tmp-write + rename). Bumps updatedAt.
122
- * Best-effort; returns false on revocation or I/O failure and never throws.
138
+ * Atomically claim the exact signed goal generation and milestone for one
139
+ * conductor attempt. All ordinary saveGoal writers share this per-goal lock,
140
+ * so drift cannot slip between digest validation and the in-progress write.
123
141
  */
124
- export declare function saveGoal(goal: Goal, opts?: GoalPersistenceOptions, stillAuthorized?: () => boolean): boolean;
142
+ export declare function claimGoalMilestoneIfCurrent(input: {
143
+ goalId: string;
144
+ milestoneId: string;
145
+ expectedGoalDigest: string;
146
+ now?: string;
147
+ stillAuthorized?: () => boolean;
148
+ }): ClaimGoalMilestoneResult;
125
149
  /**
126
150
  * Delete a Goal record by id. Idempotent — deleting an absent goal is a no-op.
127
151
  * Pure FS under ~/.ashlr/goals; never touches a user repo. Never throws.