@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.
- package/CHANGELOG.md +22 -0
- package/dist/build-identity.json +2 -2
- package/dist/cli/completions.js +3 -1
- package/dist/cli/completions.js.map +1 -1
- package/dist/cli/conductor-permit.d.ts +1 -0
- package/dist/cli/conductor-permit.js +122 -0
- package/dist/cli/conductor-permit.js.map +1 -0
- package/dist/cli/goals.d.ts +2 -0
- package/dist/cli/goals.js +90 -5
- package/dist/cli/goals.js.map +1 -1
- package/dist/cli/help.js +2 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.js +6 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/loop.js +26 -5
- package/dist/cli/loop.js.map +1 -1
- package/dist/core/comms/elon-dialogue.js +16 -7
- package/dist/core/comms/elon-dialogue.js.map +1 -1
- package/dist/core/daemon/activation-permit.d.ts +89 -0
- package/dist/core/daemon/activation-permit.js +397 -0
- package/dist/core/daemon/activation-permit.js.map +1 -1
- package/dist/core/daemon/goal-conductor-permit-operator.d.ts +75 -0
- package/dist/core/daemon/goal-conductor-permit-operator.js +842 -0
- package/dist/core/daemon/goal-conductor-permit-operator.js.map +1 -0
- package/dist/core/daemon/loop.js +102 -20
- package/dist/core/daemon/loop.js.map +1 -1
- package/dist/core/fleet/quota.d.ts +74 -7
- package/dist/core/fleet/quota.js +688 -34
- package/dist/core/fleet/quota.js.map +1 -1
- package/dist/core/fleet/status.js +6 -5
- package/dist/core/fleet/status.js.map +1 -1
- package/dist/core/goals/advance.js +34 -5
- package/dist/core/goals/advance.js.map +1 -1
- package/dist/core/goals/conductor-quota.d.ts +38 -0
- package/dist/core/goals/conductor-quota.js +110 -0
- package/dist/core/goals/conductor-quota.js.map +1 -0
- package/dist/core/goals/conductor-target.d.ts +24 -0
- package/dist/core/goals/conductor-target.js +35 -0
- package/dist/core/goals/conductor-target.js.map +1 -0
- package/dist/core/goals/conductor.d.ts +15 -0
- package/dist/core/goals/conductor.js +116 -9
- package/dist/core/goals/conductor.js.map +1 -1
- package/dist/core/goals/store.d.ts +29 -5
- package/dist/core/goals/store.js +179 -26
- package/dist/core/goals/store.js.map +1 -1
- package/dist/core/goals/timestamp-repair.d.ts +50 -0
- package/dist/core/goals/timestamp-repair.js +740 -0
- package/dist/core/goals/timestamp-repair.js.map +1 -0
- package/dist/core/integrations/pulse-sync.js +13 -4
- package/dist/core/integrations/pulse-sync.js.map +1 -1
- package/dist/core/run/best-of-n.d.ts +18 -0
- package/dist/core/run/best-of-n.js +163 -18
- package/dist/core/run/best-of-n.js.map +1 -1
- package/dist/core/run/orchestrator.js +54 -0
- package/dist/core/run/orchestrator.js.map +1 -1
- package/dist/core/strategy/goal-planner.js +7 -1
- package/dist/core/strategy/goal-planner.js.map +1 -1
- package/dist/core/swarm/planner.d.ts +2 -2
- package/dist/core/swarm/planner.js +52 -5
- package/dist/core/swarm/planner.js.map +1 -1
- package/dist/core/swarm/runner.js +29 -3
- package/dist/core/swarm/runner.js.map +1 -1
- package/dist/core/types.d.ts +39 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/web/control.js +5 -2
- package/dist/core/web/control.js.map +1 -1
- package/dist/release-dependency-inventory.json +1 -1
- package/dist/tui/app.js +2 -2
- package/dist/tui/app.js.map +1 -1
- package/dist/tui/render.d.ts +2 -0
- package/dist/tui/render.js +162 -4
- package/dist/tui/render.js.map +1 -1
- 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
|
-
|
|
367
|
+
let goal = loadGoal(goalId);
|
|
368
368
|
if (!goal)
|
|
369
369
|
throw new Error(`goal not found: ${goalId}`);
|
|
370
|
-
|
|
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
|
-
|
|
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":"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"}
|
|
@@ -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":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,CAAC,MAAM,oCAAoC,GAAG,EAAE,CAAC;AACvD,MAAM,cAAc,GAAG,0CAA0C,CAAC;AAClE,MAAM,gBAAgB,GAAqC,MAAM,CAAC,MAAM,CAAC;IACvE,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,GAAG,MAAM;IAChB,KAAK,EAAE,EAAE,GAAG,MAAM;IAClB,IAAI,EAAE,EAAE,GAAG,MAAM;IACjB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM;IACrB,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,MAAM;IACtB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM;IAC1B,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM;CAC7B,CAAC,CAAC;AAsBH,iFAAiF;AACjF,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACzC,IAAI,GAAG,uCAAuC,CAAC;IAExD,YAAY,MAAc;QACxB,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,OAAO,KAAK,YAAY,yBAAyB,IAAI,CACnD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAC1C,KAA4B,CAAC,IAAI,KAAK,uCAAuC,CAC/E,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,OAAkC;IACzD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC;SAChC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QACrB,cAAc;QACd,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,MAAM;QACd,OAAO,CAAC,WAAW;QACnB,OAAO,CAAC,UAAU;QAClB,OAAO,CAAC,WAAW;KACpB,CAAC,CAAC;SACF,MAAM,CAAC,KAAK,CAAC,CAAC;IACjB,OAAO,gBAAgB,MAAM,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,QAAQ,CAAC,SAAiB,EAAE,OAAe;IAClD,OAAO,GAAG,SAAS,aAAa,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,SAAS,kBAAkB,CACzB,SAAiB,EACjB,WAAmB;IAEnB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,SAAS;QACT,SAAS;YACP,IAAI,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,WAAW,EAAE,CAAC;gBACzC,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,IAAI,yBAAyB,CAAC,gDAAgD,CAAC,CAAC;YACxF,CAAC;YACD,IAAI,IAAI,IAAI,oCAAoC,EAAE,CAAC;gBACjD,MAAM,IAAI,yBAAyB,CAAC,8CAA8C,CAAC,CAAC;YACtF,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,CAAC;YACV,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iCAAiC,CAC/C,GAAgB,EAChB,OAAkC;IAElC,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;IAC9D,MAAM,QAAQ,GAAG,OAAO,gBAAgB,KAAK,QAAQ;QACnD,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;QACpC,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO;YACL,gBAAgB,EAAE,KAAK;YACvB,MAAM,EAAE,8CAA8C;SACvD,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CACzB,EAAE,MAAM,EAAE,oCAAoC,EAAE,EAChD,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,SAAkB,EAAE,UAAU,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAC5F,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,WAAW,GAAG,qBAAqB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzD,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,WAAW,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACrE,OAAO;YACL,gBAAgB,EAAE,KAAK;YACvB,MAAM,EAAE,iCAAiC,WAAW,CAAC,IAAI,EAAE;SAC5D,CAAC;IACJ,CAAC;IACD,IACE,WAAW,CAAC,YAAY,CAAC,MAAM,KAAK,oCAAoC;QACxE,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACxC,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,EACjE,CAAC;QACD,OAAO;YACL,gBAAgB,EAAE,KAAK;YACvB,MAAM,EAAE,+CAA+C;SACxD,CAAC;IACJ,CAAC;IACD,OAAO;QACL,gBAAgB,EAAE,IAAI;QACtB,MAAM,EAAE,wCAAwC;QAChD,SAAS;QACT,aAAa,EAAE,kBAAkB,CAAC,SAAS,EAAE,YAAY,GAAG,QAAQ,CAAC;KACtE,CAAC;AACJ,CAAC"}
|
|
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
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.
|
|
74
|
-
*
|
|
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
|
-
*
|
|
122
|
-
*
|
|
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
|
|
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.
|