@tacuchi/agent-workflow-cli 25.2.0 → 25.3.1
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/README.md +1 -0
- package/dist/application/decision-note-service.js +20 -3
- package/dist/application/decision-note-service.js.map +1 -1
- package/dist/application/elicitation-server.js +19 -3
- package/dist/application/elicitation-server.js.map +1 -1
- package/dist/application/flow/advance.js +91 -5
- package/dist/application/flow/advance.js.map +1 -1
- package/dist/application/flow/internal-actions.js +167 -7
- package/dist/application/flow/internal-actions.js.map +1 -1
- package/dist/application/flow/submit.js +187 -4
- package/dist/application/flow/submit.js.map +1 -1
- package/dist/application/plan-current-point.js +54 -0
- package/dist/application/plan-current-point.js.map +1 -0
- package/dist/application/plan-exec-decision-service.js +143 -4
- package/dist/application/plan-exec-decision-service.js.map +1 -1
- package/dist/application/plan-locator.js +78 -0
- package/dist/application/plan-locator.js.map +1 -0
- package/dist/application/plan-open-run.js +129 -0
- package/dist/application/plan-open-run.js.map +1 -0
- package/dist/application/reseal-service.js +14 -44
- package/dist/application/reseal-service.js.map +1 -1
- package/dist/application/resume-service.js +9 -3
- package/dist/application/resume-service.js.map +1 -1
- package/dist/application/settle-service.js +442 -0
- package/dist/application/settle-service.js.map +1 -0
- package/dist/application/workline-index-service.js +165 -62
- package/dist/application/workline-index-service.js.map +1 -1
- package/dist/cli/commands/index.js +2 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/settle.js +197 -0
- package/dist/cli/commands/settle.js.map +1 -0
- package/dist/cli/commands/status.js +2 -0
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/help-groups.js +7 -0
- package/dist/cli/help-groups.js.map +1 -1
- package/dist/cli/parser.js +6 -0
- package/dist/cli/parser.js.map +1 -1
- package/dist/domain/decision-note.js +166 -3
- package/dist/domain/decision-note.js.map +1 -1
- package/dist/domain/decision-preview.js.map +1 -1
- package/dist/domain/effective-contract.js +4 -3
- package/dist/domain/effective-contract.js.map +1 -1
- package/dist/domain/elicitation.js +26 -16
- package/dist/domain/elicitation.js.map +1 -1
- package/dist/domain/flow/answer.js +10 -0
- package/dist/domain/flow/answer.js.map +1 -1
- package/dist/domain/flow/authority.js +116 -0
- package/dist/domain/flow/authority.js.map +1 -1
- package/dist/domain/flow/directive.js +8 -1
- package/dist/domain/flow/directive.js.map +1 -1
- package/dist/domain/flow/run-state.js +95 -9
- package/dist/domain/flow/run-state.js.map +1 -1
- package/dist/domain/obligation-correspondence.js +95 -0
- package/dist/domain/obligation-correspondence.js.map +1 -0
- package/dist/domain/reconciliation.js +142 -25
- package/dist/domain/reconciliation.js.map +1 -1
- package/dist/domain/settlement.js +129 -0
- package/dist/domain/settlement.js.map +1 -0
- package/package.json +1 -1
- package/skills/w/commands/resume.md +2 -2
- package/skills/w/loops/plan-exec-loop/LOOP.md +31 -0
|
@@ -25,8 +25,9 @@
|
|
|
25
25
|
*/
|
|
26
26
|
import { join } from "node:path";
|
|
27
27
|
import { dispositionOf } from "../../domain/flow/route.js";
|
|
28
|
-
import { withPlanExecBatch, withPlanExecBatchLoop, } from "../../domain/flow/run-state.js";
|
|
28
|
+
import { withPlanExecBatch, withPlanExecBatchLoop, withSettlement, } from "../../domain/flow/run-state.js";
|
|
29
29
|
import { sealProposal } from "../../domain/proposal.js";
|
|
30
|
+
import { obligationExit } from "../../domain/reconciliation.js";
|
|
30
31
|
import { runArtifactsCommand } from "../artifacts-service.js";
|
|
31
32
|
import { appendClaimEvent, claimKey, claimShapedAmong, completedClaimsIn, ledgerPath, openClaimsOf, readClaimEvents, revokedAmong, } from "../claims-ledger.js";
|
|
32
33
|
import { applyLocalProposal } from "../local-proposal.js";
|
|
@@ -35,6 +36,7 @@ import { parsePhases } from "../parsers/phases.js";
|
|
|
35
36
|
import { parseTasks } from "../parsers/tasks.js";
|
|
36
37
|
import { resolveWorkspaceRoot } from "../paths-service.js";
|
|
37
38
|
import { inferPlanExecBatch, preparePlanExecDoneSeal, publishPlanExecBatch, } from "../plan-exec-batch-service.js";
|
|
39
|
+
import { settlePlanExecObligations } from "../plan-exec-decision-service.js";
|
|
38
40
|
import { readSessionArtifacts } from "../release-data/artifacts.js";
|
|
39
41
|
import { canonicalJson } from "../semantic-operation/protocol.js";
|
|
40
42
|
import { runSessionClose } from "../session-close-service.js";
|
|
@@ -42,6 +44,7 @@ import { recordPublication } from "../session-custody-recorder.js";
|
|
|
42
44
|
import { runStatusCommand } from "../status-service.js";
|
|
43
45
|
import { buildWorklineIndex } from "../workline-index-service.js";
|
|
44
46
|
import { runWorktree } from "../worktree-service.js";
|
|
47
|
+
import { projectRun } from "./run-projection.js";
|
|
45
48
|
import { applyUnderLock, locateRun, readRun } from "./run-state-service.js";
|
|
46
49
|
export function internalActionExecutor(deps) {
|
|
47
50
|
return async (plan, run) => {
|
|
@@ -62,6 +65,8 @@ export function internalActionExecutor(deps) {
|
|
|
62
65
|
return closeBatch(deps, run);
|
|
63
66
|
case "plan-exec.plan-done":
|
|
64
67
|
return sealPlanDone(deps, run);
|
|
68
|
+
case "plan-exec.settlement-publish":
|
|
69
|
+
return publishSettlement(deps, run);
|
|
65
70
|
}
|
|
66
71
|
};
|
|
67
72
|
}
|
|
@@ -420,9 +425,15 @@ async function inferBatch(deps, run) {
|
|
|
420
425
|
if (next.failure.code !== "PLAN_EXEC_BATCH_NONE_OPEN") {
|
|
421
426
|
return { ok: false, failure: next.failure };
|
|
422
427
|
}
|
|
428
|
+
// The loop has ended, which is the one moment the closure can be told
|
|
429
|
+
// what the plan still owes. Snapshotting it HERE — under the same lock,
|
|
430
|
+
// from the board's own reconciliation — is what lets the settlement rows
|
|
431
|
+
// be passed over on their own: the walk stays a pure function of the
|
|
432
|
+
// registry and this state, so a plan that owes nothing closes exactly as
|
|
433
|
+
// it closed before those rows existed.
|
|
423
434
|
return {
|
|
424
435
|
ok: true,
|
|
425
|
-
state: withPlanExecBatchLoop(current, { pending: false, iteration: null }),
|
|
436
|
+
state: withSettlement(withPlanExecBatchLoop(current, { pending: false, iteration: null }), await settlementSnapshot(deps, scope.plan)),
|
|
426
437
|
value: { batch: null, created: false, no_work: true },
|
|
427
438
|
};
|
|
428
439
|
}
|
|
@@ -447,6 +458,100 @@ async function inferBatch(deps, run) {
|
|
|
447
458
|
state: inferred.state,
|
|
448
459
|
};
|
|
449
460
|
}
|
|
461
|
+
/**
|
|
462
|
+
* Publish the successor of every note whose obligation this closure discharged.
|
|
463
|
+
*
|
|
464
|
+
* It takes nothing from the caller: the obligations are the snapshot the batch
|
|
465
|
+
* loop's end sealed, and what was declared about each of them is the authoring
|
|
466
|
+
* row's own answer, both read from the run's state. What it does is derive and
|
|
467
|
+
* hand them to the same sealed registration the deviation gate uses.
|
|
468
|
+
*
|
|
469
|
+
* A compensation the run declared STILL PENDING stops it here, and that is the
|
|
470
|
+
* point: the closure is not a place to record that work remains, it is the place
|
|
471
|
+
* to finish it. The refusal names the work and the command that comes back.
|
|
472
|
+
*/
|
|
473
|
+
async function publishSettlement(deps, run) {
|
|
474
|
+
if (run.scope === null) {
|
|
475
|
+
return refusal("plan-exec.settlement-publish", "la corrida no fijó el plan cuyo saldo debe publicar", canonicalJson({ scope: null }));
|
|
476
|
+
}
|
|
477
|
+
const root = await resolveWorkspaceRoot(deps.fs, deps.env, deps.paths);
|
|
478
|
+
const read = await readRun(deps.fs, locateRun(deps.paths, run.session));
|
|
479
|
+
if (!read.ok) {
|
|
480
|
+
return refusal("plan-exec.settlement-publish", `${read.failure.message} — ${read.failure.action}`, canonicalJson({ failure: read.failure }));
|
|
481
|
+
}
|
|
482
|
+
if (run.state_digest !== undefined && read.state.digest !== run.state_digest) {
|
|
483
|
+
return refusal("plan-exec.settlement-publish", "la corrida cambió mientras se preparaba el saldo", canonicalJson({ expected: run.state_digest, actual: read.state.digest }));
|
|
484
|
+
}
|
|
485
|
+
// Reaching here with nothing declared means the authoring row never answered —
|
|
486
|
+
// it was exhausted and passed over — and publishing "nothing" would credit
|
|
487
|
+
// this plan as owing nothing when it owes everything it owed before.
|
|
488
|
+
const declared = read.state.settlement?.declared ?? [];
|
|
489
|
+
if (declared.length === 0 && (read.state.settlement?.compensations.length ?? 0) > 0) {
|
|
490
|
+
return refusal("plan-exec.settlement-publish", `el plan conserva compensación vigente y la corrida no declaró nada sobre ella: ${(read.state.settlement?.compensations ?? []).map((o) => `${o.note}: ${o.text}`).join("; ")} — devolvele sus intentos a la frontera de autoría con 'aw flow recover --session ${run.session}' y declará el saldo`, canonicalJson({ declared: [], compensations: read.state.settlement?.compensations ?? [] }));
|
|
491
|
+
}
|
|
492
|
+
const settled = await settlePlanExecObligations(deps.fs, deps.paths, {
|
|
493
|
+
root,
|
|
494
|
+
plan: run.scope.plan,
|
|
495
|
+
// This run, at its closure: saying so is more honest than borrowing the
|
|
496
|
+
// phase of a batch that is already integrated.
|
|
497
|
+
execution: () => ({ session: run.session, phase: "cierre" }),
|
|
498
|
+
date: new Date().toISOString().slice(0, 10),
|
|
499
|
+
declarations: declared.map((declaration) => ({
|
|
500
|
+
note: declaration.note,
|
|
501
|
+
index: declaration.index,
|
|
502
|
+
outcome: declaration.outcome,
|
|
503
|
+
...(declaration.evidence === undefined ? {} : { evidence: declaration.evidence }),
|
|
504
|
+
})),
|
|
505
|
+
});
|
|
506
|
+
if (!settled.ok) {
|
|
507
|
+
return refusal("plan-exec.settlement-publish", `${settled.failure.message} — ${settled.failure.action}`, canonicalJson({ failure: settled.failure }));
|
|
508
|
+
}
|
|
509
|
+
if (settled.published.length === 0) {
|
|
510
|
+
return refusal("plan-exec.settlement-publish", "ninguna declaración cambia la cadena: no hay saldo que publicar y el plan sigue debiendo lo mismo", canonicalJson({ declared }));
|
|
511
|
+
}
|
|
512
|
+
return {
|
|
513
|
+
ok: true,
|
|
514
|
+
summary: `saldo publicado: ${settled.published.map((note) => note.id).join(", ")}`,
|
|
515
|
+
output: canonicalJson({
|
|
516
|
+
published: settled.published.map((note) => note.id),
|
|
517
|
+
settled: settled.settled,
|
|
518
|
+
reconciliation: settled.reconciliation,
|
|
519
|
+
}),
|
|
520
|
+
// A successor landed, or was already on disk from an interrupted run — and
|
|
521
|
+
// either way the index it joined existed, so overwriting is what happened.
|
|
522
|
+
effects: ["mutate_overwrite"],
|
|
523
|
+
};
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* What the plan owes when its last batch closed, read from the board.
|
|
527
|
+
*
|
|
528
|
+
* From the board and not from a second walk of the chain: `aw status` already
|
|
529
|
+
* decides which notes are in force, which obligations they carry and which of
|
|
530
|
+
* them are compensations, and a closure computing that again would be a second
|
|
531
|
+
* authority on whether a plan may close. A plan the board cannot judge at all —
|
|
532
|
+
* unsealed baseline, no chain — owes nothing, which is the same answer the board
|
|
533
|
+
* gives and the same one the closure gave before this row existed.
|
|
534
|
+
*/
|
|
535
|
+
async function settlementSnapshot(deps, plan) {
|
|
536
|
+
const index = await buildWorklineIndex(deps.fs, deps.env, deps.paths, { git: deps.git });
|
|
537
|
+
const found = index.plans.find((candidate) => candidate.file === plan);
|
|
538
|
+
// A lineage that does not COMPOSE reports its own refusal as what is owed — an
|
|
539
|
+
// unreadable chain, an overlap — and those pending entries name no note.
|
|
540
|
+
// Offering them for settlement would ask the closure to discharge a parse
|
|
541
|
+
// error, and the publication would then go looking for a note called
|
|
542
|
+
// "composición". That refusal is `plan-done`'s, which reports it as what it is.
|
|
543
|
+
const reconciliation = found?.contract === null ? undefined : found?.reconciliation;
|
|
544
|
+
const owed = (obligations) => obligations.map((obligation) => ({
|
|
545
|
+
note: obligation.by,
|
|
546
|
+
index: obligation.index,
|
|
547
|
+
text: obligation.text,
|
|
548
|
+
legacy: obligation.legacy,
|
|
549
|
+
}));
|
|
550
|
+
return {
|
|
551
|
+
compensations: owed(reconciliation?.pending ?? []),
|
|
552
|
+
handoffs: owed(reconciliation?.handoffs ?? []),
|
|
553
|
+
};
|
|
554
|
+
}
|
|
450
555
|
/**
|
|
451
556
|
* Close the already inferred real batch, not a human-declared list of effects.
|
|
452
557
|
*
|
|
@@ -497,6 +602,13 @@ async function closeBatch(deps, run) {
|
|
|
497
602
|
if (!published.ok) {
|
|
498
603
|
return refusal("plan-exec.batch-close", `${published.failure.message} — ${published.failure.action}`, canonicalJson({ failure: published.failure }));
|
|
499
604
|
}
|
|
605
|
+
// THE LOOP ENDS HERE, and this is the only place that knows it: the publisher
|
|
606
|
+
// derives the next cursor from the exact bytes it just wrote, and when nothing
|
|
607
|
+
// is left open it sets `pending: false` — which means the inference row is
|
|
608
|
+
// never walked again, and a snapshot taken only there would never exist for a
|
|
609
|
+
// run that actually executed work. So the closure is told what the plan still
|
|
610
|
+
// owes at the moment its last batch lands.
|
|
611
|
+
const state = await recordSettlementOwed(deps, run, published.state);
|
|
500
612
|
return {
|
|
501
613
|
ok: true,
|
|
502
614
|
summary: published.already_applied
|
|
@@ -508,9 +620,33 @@ async function closeBatch(deps, run) {
|
|
|
508
620
|
already_applied: published.already_applied,
|
|
509
621
|
}),
|
|
510
622
|
effects: ["mutate_overwrite"],
|
|
511
|
-
state
|
|
623
|
+
state,
|
|
512
624
|
};
|
|
513
625
|
}
|
|
626
|
+
/**
|
|
627
|
+
* Seal what the plan owes into the run, once the batch loop has ended.
|
|
628
|
+
*
|
|
629
|
+
* Persisted and not merely returned: the driver settles against the digest this
|
|
630
|
+
* state carries, so a snapshot that lived only in memory would fail its own
|
|
631
|
+
* compare-and-swap. A loop still running gets nothing — there is no closure to
|
|
632
|
+
* inform yet — and a state that cannot be written keeps the one it had, which
|
|
633
|
+
* leaves the settlement rows passed over and `plan-done` refusing on its own
|
|
634
|
+
* terms: the same answer, one step later.
|
|
635
|
+
*/
|
|
636
|
+
async function recordSettlementOwed(deps, run, published) {
|
|
637
|
+
if (published.batch_loop?.pending !== false || run.scope === null)
|
|
638
|
+
return published;
|
|
639
|
+
const owed = await settlementSnapshot(deps, run.scope.plan);
|
|
640
|
+
const sealed = await applyUnderLock(deps.fs, locateRun(deps.paths, run.session), (live) => live === null
|
|
641
|
+
? { ok: false, failure: RUN_GONE }
|
|
642
|
+
: { ok: true, state: withSettlement(live, owed), value: null }, { expectDigest: published.digest });
|
|
643
|
+
return sealed.ok ? sealed.state : published;
|
|
644
|
+
}
|
|
645
|
+
const RUN_GONE = {
|
|
646
|
+
code: "FLOW_RUN_ABSENT",
|
|
647
|
+
message: "la corrida desapareció antes de sellar lo que el plan debe",
|
|
648
|
+
action: "reanudá la corrida con 'aw flow advance' antes de cerrar el batch",
|
|
649
|
+
};
|
|
514
650
|
const PLAN_DONE_REQUIRED_TRANSITIONS = [
|
|
515
651
|
"plan-exec.final-validation",
|
|
516
652
|
"plan-exec.commit-execution",
|
|
@@ -585,7 +721,7 @@ async function sealPlanDone(deps, run) {
|
|
|
585
721
|
// The index is re-read while the document publication holds the workspace
|
|
586
722
|
// lock. This closes the decision-note race: a new compensatory obligation
|
|
587
723
|
// cannot appear between the run's earlier reading and a `done` write.
|
|
588
|
-
precondition: () => planDonePrecondition(deps, run.scope?.plan ?? ""),
|
|
724
|
+
precondition: () => planDonePrecondition(deps, run.scope?.plan ?? "", run.session),
|
|
589
725
|
});
|
|
590
726
|
if (!applied.ok) {
|
|
591
727
|
return refusal("plan-exec.plan-done", `${applied.failure.message} — ${applied.failure.action}`, canonicalJson({ failure: applied.failure }));
|
|
@@ -633,7 +769,7 @@ function planDoneClosure(state, session) {
|
|
|
633
769
|
return `validación final, commits e integración acreditados por la corrida ${session}`;
|
|
634
770
|
}
|
|
635
771
|
/** The documentary checks that must pass in the same critical section as done. */
|
|
636
|
-
async function planDonePrecondition(deps, path) {
|
|
772
|
+
export async function planDonePrecondition(deps, path, session) {
|
|
637
773
|
const index = await buildWorklineIndex(deps.fs, deps.env, deps.paths, { git: deps.git });
|
|
638
774
|
if (index.docs_canon_error !== undefined) {
|
|
639
775
|
return {
|
|
@@ -658,10 +794,34 @@ async function planDonePrecondition(deps, path) {
|
|
|
658
794
|
};
|
|
659
795
|
}
|
|
660
796
|
if (plan.reconciliation !== null && !plan.reconciliation.closable) {
|
|
797
|
+
// The SAME derivation the board's headline and the pipeline row come from.
|
|
798
|
+
// The run is this one: `plan-done` executes inside it, so the exit it needs
|
|
799
|
+
// is its own next boundary — the board asks the same question of a plan it
|
|
800
|
+
// is only looking at, and gets the answer for whichever run holds it.
|
|
801
|
+
//
|
|
802
|
+
// And the command is READ from the projection, not spelled here. The two
|
|
803
|
+
// agreed by accident: at an internal boundary the projection happens to
|
|
804
|
+
// return exactly `aw flow advance --code <NNN>`. It does not have to — a
|
|
805
|
+
// legacy run refuses a bare `advance` and needs `--flow … --adopt`, and only
|
|
806
|
+
// the projection knows that. Synthesizing it was the third derivation this
|
|
807
|
+
// phase set out to remove.
|
|
808
|
+
const run = await projectRun(deps.fs, deps.paths, session);
|
|
809
|
+
const exit = obligationExit(plan.reconciliation, {
|
|
810
|
+
plan: path,
|
|
811
|
+
current_point: plan.current_point,
|
|
812
|
+
run: {
|
|
813
|
+
session,
|
|
814
|
+
// `plan-done` runs inside a live run, so the projection is there; the
|
|
815
|
+
// fallback is the shape TypeScript needs, not a case anybody reaches.
|
|
816
|
+
command: run?.command ?? `aw flow advance --code ${session}`,
|
|
817
|
+
why: "tiene la corrida de ejecución que llegó a este cierre",
|
|
818
|
+
},
|
|
819
|
+
});
|
|
661
820
|
return {
|
|
662
821
|
code: "PLAN_EXEC_DONE_RECONCILIATION_PENDING",
|
|
663
|
-
message: `${path} conserva obligaciones de reconciliación
|
|
664
|
-
action:
|
|
822
|
+
message: exit === null ? `${path} conserva obligaciones de reconciliación` : exit.headline,
|
|
823
|
+
action: exit?.action ??
|
|
824
|
+
`resolvé la compensación vigente de '${path}' y volvé a sellar: 'aw settle prepare ${path}' la lista`,
|
|
665
825
|
};
|
|
666
826
|
}
|
|
667
827
|
if (plan.baseline.status === "divergent" ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal-actions.js","sourceRoot":"","sources":["../../../src/application/flow/internal-actions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"internal-actions.js","sourceRoot":"","sources":["../../../src/application/flow/internal-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,12 +25,12 @@ import { authorizeEffects, touchesTheWorld, } from "../../domain/capability/effe
|
|
|
25
25
|
import { AttemptLedger } from "../../domain/capability/protocol.js";
|
|
26
26
|
import { DEFAULT_CORE_DOCS_CANON, coreDocumentKindForPath } from "../../domain/docs-canon.js";
|
|
27
27
|
import { claimedSeal, parseFlowAnswer, spendsAttempt, } from "../../domain/flow/answer.js";
|
|
28
|
-
import { FIX_PREVIEW_TRANSITION, actionOf, alternativesOf, approvalGrantOf, effectsOf, internalActionOf, isRouteEvaluation, proposalContractOf, publishApprovalOf, routeControlOf, scopesSources, } from "../../domain/flow/authority.js";
|
|
28
|
+
import { FIX_PREVIEW_TRANSITION, SETTLEMENT_READINGS, actionOf, alternativesOf, approvalGrantOf, effectsOf, internalActionOf, isRouteEvaluation, proposalContractOf, publishApprovalOf, routeControlOf, scopesSources, } from "../../domain/flow/authority.js";
|
|
29
29
|
import { effectApprovalDigest } from "../../domain/flow/authorization.js";
|
|
30
30
|
import { PAUSE_LABEL, STOP_LABEL, stepOf, } from "../../domain/flow/directive.js";
|
|
31
31
|
import { executionVerdict } from "../../domain/flow/execution-result.js";
|
|
32
32
|
import { ROUTE_ACCEPT_LABEL, ROUTE_ADJUST_LABEL, isRouteDisposition, } from "../../domain/flow/route.js";
|
|
33
|
-
import { applyTransition, checkAgainstJourney, currentBatchIteration, restatesLastEvent, withApproval, withAttempt, withBoundary, withContinuation, withDecisionPreparation, withEvent, withFixPreview, withHandoff, withObservation, withPlanExecBatchStageForTransition, withProposal, withRouteDecisions, withRouteProposal, withScope, withSelectedChoice, } from "../../domain/flow/run-state.js";
|
|
33
|
+
import { applyTransition, checkAgainstJourney, currentBatchIteration, restatesLastEvent, settlementAmbiguous, withApproval, withAttempt, withBoundary, withContinuation, withDecisionPreparation, withEvent, withFixPreview, withHandoff, withObservation, withPlanExecBatchStageForTransition, withProposal, withRouteDecisions, withRouteProposal, withScope, withSelectedChoice, withSettlementDeclarations, } from "../../domain/flow/run-state.js";
|
|
34
34
|
import { withSpecBaseline } from "../../domain/lineage.js";
|
|
35
35
|
import { destinationsOf, observedEffects, sealProposal } from "../../domain/proposal.js";
|
|
36
36
|
import { baseDigest } from "../../domain/proposal.js";
|
|
@@ -513,8 +513,11 @@ async function decide(fs, paths, state, input, snapshot) {
|
|
|
513
513
|
const preparedForGate = await prepareDecisionForGate(fs, sealed.state, snapshot, parsed.answer, resolved, cost);
|
|
514
514
|
if (!preparedForGate.ok)
|
|
515
515
|
return preparedForGate.decision;
|
|
516
|
+
const settlement = recordSettlement(preparedForGate.state, parsed.answer, resolved, cost);
|
|
517
|
+
if (!settlement.ok)
|
|
518
|
+
return settlement.decision;
|
|
516
519
|
const granted = resolved.kind === "authorization" ? (resolved.authorization?.planned ?? []) : [];
|
|
517
|
-
const approved = grantOf(
|
|
520
|
+
const approved = grantOf(settlement.state, resolved, parsed.answer, granted, journey);
|
|
518
521
|
// All pure scope/proposal checks have now passed. A durable decision is a
|
|
519
522
|
// material write, so it must never land when a later validation of the same
|
|
520
523
|
// answer would refuse the boundary and leave its cursor standing.
|
|
@@ -916,6 +919,186 @@ function scopeFrom(state, stopped, answer, snapshot) {
|
|
|
916
919
|
}
|
|
917
920
|
return { state: withScope(state, { plan, sources }) };
|
|
918
921
|
}
|
|
922
|
+
const SETTLEMENT_OUTCOMES = SETTLEMENT_READINGS.map((reading) => reading.outcome);
|
|
923
|
+
/** The reading each label of the question stands for — from the row's own table. */
|
|
924
|
+
const SETTLEMENT_BY_LABEL = new Map(SETTLEMENT_READINGS.map((reading) => [reading.label, reading.outcome]));
|
|
925
|
+
function recordSettlement(state, answer, resolved, cost) {
|
|
926
|
+
const id = resolved.stopped?.id;
|
|
927
|
+
if (id === "plan-exec.settlement-authoring") {
|
|
928
|
+
return recordSettlementAuthoring(state, answer, resolved, cost);
|
|
929
|
+
}
|
|
930
|
+
if (id === "plan-exec.settlement-question") {
|
|
931
|
+
return recordSettlementAnswer(state, answer, resolved, cost);
|
|
932
|
+
}
|
|
933
|
+
return { ok: true, state };
|
|
934
|
+
}
|
|
935
|
+
/**
|
|
936
|
+
* The agent's declaration, checked against what the plan actually owes.
|
|
937
|
+
*
|
|
938
|
+
* Every live compensation, exactly once: a declaration that skips one would let
|
|
939
|
+
* the closure publish a settlement silently missing an obligation, and one that
|
|
940
|
+
* names an obligation nobody owes would decide about work that is not there.
|
|
941
|
+
*
|
|
942
|
+
* `pending` is read two ways, and the difference is the whole design. On an
|
|
943
|
+
* obligation with a single reading it means the work is NOT DONE, and the
|
|
944
|
+
* closure stops here until it is — the boundary stays open and the refusal costs
|
|
945
|
+
* no attempt, because telling the truth must not spend the run's retries. On an
|
|
946
|
+
* ambiguous one it is a PROPOSAL, and the next row is where a person settles it.
|
|
947
|
+
*/
|
|
948
|
+
function recordSettlementAuthoring(state, answer, resolved, cost) {
|
|
949
|
+
const declared = readDeclarations(answer.decisions.settlement);
|
|
950
|
+
const refusal = checkDeclarations(state, declared);
|
|
951
|
+
if (refusal !== null) {
|
|
952
|
+
return { ok: false, decision: reject(state, resolved, refusal.message, refusal, cost) };
|
|
953
|
+
}
|
|
954
|
+
return { ok: true, state: withSettlementDeclarations(state, declared ?? []) };
|
|
955
|
+
}
|
|
956
|
+
/** Every way a declaration can fail to answer for what the plan owes. */
|
|
957
|
+
function checkDeclarations(state, declared) {
|
|
958
|
+
const owed = state.settlement?.compensations ?? [];
|
|
959
|
+
if (declared === null) {
|
|
960
|
+
return {
|
|
961
|
+
code: "FLOW_SETTLEMENT_INVALID",
|
|
962
|
+
message: "la declaración de saldo no es una lista de { note, index, outcome, evidence? }",
|
|
963
|
+
action: `declará una entrada por cada compensación vigente: ${owed.map((o) => `${o.note}[${o.index}]`).join(", ") || "ninguna"}`,
|
|
964
|
+
};
|
|
965
|
+
}
|
|
966
|
+
const missing = owed.filter((obligation) => matching(declared, obligation).length !== 1);
|
|
967
|
+
if (missing.length > 0) {
|
|
968
|
+
return {
|
|
969
|
+
code: "FLOW_SETTLEMENT_INCOMPLETE",
|
|
970
|
+
message: `falta declarar exactamente una vez: ${missing.map((o) => `${o.note}[${o.index}] ${o.text}`).join("; ")}`,
|
|
971
|
+
action: "cada compensación vigente lleva una declaración y sólo una: saltear una publicaría un saldo al que le falta trabajo",
|
|
972
|
+
};
|
|
973
|
+
}
|
|
974
|
+
const foreign = declared.filter((declaration) => !owed.some((obligation) => obligation.note === declaration.note && obligation.index === declaration.index));
|
|
975
|
+
if (foreign.length > 0) {
|
|
976
|
+
return {
|
|
977
|
+
code: "FLOW_SETTLEMENT_INVALID",
|
|
978
|
+
message: `se declara sobre obligaciones que el plan no debe: ${foreign.map((d) => `${d.note}[${d.index}]`).join(", ")}`,
|
|
979
|
+
action: "el saldo alcanza a las compensaciones vigentes que el tablero enumera, y a ninguna otra",
|
|
980
|
+
};
|
|
981
|
+
}
|
|
982
|
+
const undone = owed.filter((obligation) => !obligation.legacy && matching(declared, obligation)[0]?.outcome === "pending");
|
|
983
|
+
if (undone.length === 0)
|
|
984
|
+
return null;
|
|
985
|
+
return {
|
|
986
|
+
code: "PLAN_EXEC_SETTLEMENT_PENDING",
|
|
987
|
+
message: `queda compensación sin saldar: ${undone.map((o) => `${o.note}: ${o.text}`).join("; ")}`,
|
|
988
|
+
action: `hacé ese trabajo y volvé con 'aw flow advance --code ${state.session}' para declararla cumplida con su evidencia; el cierre espera acá`,
|
|
989
|
+
};
|
|
990
|
+
}
|
|
991
|
+
/** The obligations of `declared` that name this exact one. */
|
|
992
|
+
function matching(declared, obligation) {
|
|
993
|
+
return declared.filter((declaration) => declaration.note === obligation.note && declaration.index === obligation.index);
|
|
994
|
+
}
|
|
995
|
+
/**
|
|
996
|
+
* The person's reading, applied to every ambiguous obligation at once.
|
|
997
|
+
*
|
|
998
|
+
* One answer for all of them, which is the degradation the plan declared before
|
|
999
|
+
* this was built: repeating a row is the batch loop's mechanism and it is keyed
|
|
1000
|
+
* to the loop's own transitions. What the answer may NOT do is discharge work
|
|
1001
|
+
* with no evidence behind it — "cumplida" over an obligation nobody proved is
|
|
1002
|
+
* the one reading this boundary must refuse, and it refuses for free.
|
|
1003
|
+
*/
|
|
1004
|
+
function recordSettlementAnswer(state, answer, resolved, cost) {
|
|
1005
|
+
const outcome = SETTLEMENT_BY_LABEL.get(answer.choice ?? "");
|
|
1006
|
+
if (outcome === undefined)
|
|
1007
|
+
return { ok: true, state };
|
|
1008
|
+
const ambiguous = settlementAmbiguous(state);
|
|
1009
|
+
const declared = state.settlement?.declared ?? [];
|
|
1010
|
+
// The row's own consequence says the run stays here, and this is what makes
|
|
1011
|
+
// that true: choosing "still pending" is choosing NOT to close, so advancing
|
|
1012
|
+
// would contradict the sentence the person read before answering.
|
|
1013
|
+
if (outcome === "pending") {
|
|
1014
|
+
return {
|
|
1015
|
+
ok: false,
|
|
1016
|
+
decision: reject(state, resolved, `queda como compensación vigente: ${ambiguous.map((o) => `${o.note}: ${o.text}`).join("; ")}`, {
|
|
1017
|
+
code: "PLAN_EXEC_SETTLEMENT_PENDING",
|
|
1018
|
+
action: `hacé ese trabajo y volvé con 'aw flow advance --code ${state.session}': el cierre espera en la frontera de saldo`,
|
|
1019
|
+
}, cost),
|
|
1020
|
+
};
|
|
1021
|
+
}
|
|
1022
|
+
if (outcome === "settled") {
|
|
1023
|
+
const unproven = ambiguous.filter((obligation) => matching(declared, obligation)[0]?.evidence === undefined);
|
|
1024
|
+
if (unproven.length > 0) {
|
|
1025
|
+
return {
|
|
1026
|
+
ok: false,
|
|
1027
|
+
decision: reject(state, resolved, `no hay evidencia declarada para: ${unproven.map((o) => `${o.note}: ${o.text}`).join("; ")}`, {
|
|
1028
|
+
code: "PLAN_EXEC_SETTLEMENT_PENDING",
|
|
1029
|
+
action: "una obligación se salda con lo que lo prueba: volvé a la frontera anterior y declará la evidencia, o elegí otra lectura",
|
|
1030
|
+
}, cost),
|
|
1031
|
+
};
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
return {
|
|
1035
|
+
ok: true,
|
|
1036
|
+
state: withSettlementDeclarations(state, declared.map((declaration) => ambiguous.some((obligation) => obligation.note === declaration.note && obligation.index === declaration.index)
|
|
1037
|
+
? ratified(declaration, outcome)
|
|
1038
|
+
: declaration)),
|
|
1039
|
+
};
|
|
1040
|
+
}
|
|
1041
|
+
/**
|
|
1042
|
+
* The person's reading, applied — and the agent's evidence dropped with it.
|
|
1043
|
+
*
|
|
1044
|
+
* The class the person ratifies REPLACES the one the run proposed, and evidence
|
|
1045
|
+
* belongs to the proposal it came with: evidence accredits a settlement, so on a
|
|
1046
|
+
* handoff it is evidence of work this lineage did not do. Carrying it across the
|
|
1047
|
+
* ratification was a dead end with no exit — `checkSettlements` refuses an
|
|
1048
|
+
* obligation that brings evidence without being declared settled, so a run whose
|
|
1049
|
+
* agent proposed "done, here is the proof" and whose person answered "that was
|
|
1050
|
+
* somebody else's" could never publish its settlement and never close: the plan
|
|
1051
|
+
* stayed neither executable nor closable, which is the incident this whole plan
|
|
1052
|
+
* exists to end. The proposal is not lost — it is in the run's own trace.
|
|
1053
|
+
*/
|
|
1054
|
+
function ratified(declaration, outcome) {
|
|
1055
|
+
return outcome === "settled"
|
|
1056
|
+
? { ...declaration, outcome }
|
|
1057
|
+
: { note: declaration.note, index: declaration.index, outcome };
|
|
1058
|
+
}
|
|
1059
|
+
function readDeclarations(value) {
|
|
1060
|
+
if (!Array.isArray(value))
|
|
1061
|
+
return null;
|
|
1062
|
+
const out = [];
|
|
1063
|
+
for (const entry of value) {
|
|
1064
|
+
const read = readDeclaration(entry);
|
|
1065
|
+
if (read === null)
|
|
1066
|
+
return null;
|
|
1067
|
+
out.push(read);
|
|
1068
|
+
}
|
|
1069
|
+
return out;
|
|
1070
|
+
}
|
|
1071
|
+
/**
|
|
1072
|
+
* One declaration, or `null` when it is not one.
|
|
1073
|
+
*
|
|
1074
|
+
* Evidence and outcome are checked together on purpose: "cumplida" without what
|
|
1075
|
+
* proves it is not a slightly worse declaration, it is a discharge nobody can
|
|
1076
|
+
* audit — and evidence attached to work that was NOT declared done is evidence
|
|
1077
|
+
* of nothing, filed where somebody would later read it as a settlement.
|
|
1078
|
+
*/
|
|
1079
|
+
function readDeclaration(entry) {
|
|
1080
|
+
if (typeof entry !== "object" || entry === null || Array.isArray(entry))
|
|
1081
|
+
return null;
|
|
1082
|
+
const raw = entry;
|
|
1083
|
+
if (typeof raw.note !== "string" || raw.note.length === 0)
|
|
1084
|
+
return null;
|
|
1085
|
+
if (!Number.isInteger(raw.index))
|
|
1086
|
+
return null;
|
|
1087
|
+
if (!SETTLEMENT_OUTCOMES.includes(raw.outcome))
|
|
1088
|
+
return null;
|
|
1089
|
+
const outcome = raw.outcome;
|
|
1090
|
+
const evidence = typeof raw.evidence === "string" ? raw.evidence.trim() : "";
|
|
1091
|
+
if (outcome === "settled" && evidence.length === 0)
|
|
1092
|
+
return null;
|
|
1093
|
+
if (outcome !== "settled" && evidence.length > 0)
|
|
1094
|
+
return null;
|
|
1095
|
+
return {
|
|
1096
|
+
note: raw.note,
|
|
1097
|
+
index: raw.index,
|
|
1098
|
+
outcome,
|
|
1099
|
+
...(outcome === "settled" ? { evidence } : {}),
|
|
1100
|
+
};
|
|
1101
|
+
}
|
|
919
1102
|
/**
|
|
920
1103
|
* Prepare the complete decision view one boundary BEFORE the human choice.
|
|
921
1104
|
*
|
|
@@ -1058,7 +1241,7 @@ async function registerSelectedDecision(fs, paths, state, snapshot, resolved, co
|
|
|
1058
1241
|
}, cost),
|
|
1059
1242
|
};
|
|
1060
1243
|
}
|
|
1061
|
-
const committed = await commitStoredPlanExecDecision(fs, paths, snapshot.root, preparation);
|
|
1244
|
+
const committed = await commitStoredPlanExecDecision(fs, paths, snapshot.root, preparation, state.scope?.plan);
|
|
1062
1245
|
if (!committed.ok) {
|
|
1063
1246
|
return {
|
|
1064
1247
|
ok: false,
|