@tacuchi/agent-workflow-cli 25.2.0 → 25.3.0
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/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/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
package/README.md
CHANGED
|
@@ -186,6 +186,7 @@ Workspace artifacts live under `.<namespace>/`. Resolution order (first match wi
|
|
|
186
186
|
- `release-data` — corpus reader backing the `export-*` skills.
|
|
187
187
|
- `self install-skill` / `self doctor` / `self update` / `mcp` — CLI maintenance.
|
|
188
188
|
- `amend <apply|revert|list>` — correct the WORDING of an already closed spec or plan in one act, under the workspace lock and with the document's own digest as the compare-and-swap base; it demands an explicit declaration that no scope, criteria or rules move, records the exact pre-image in an append-only ledger, and refuses structurally whatever touches the contract (naming the refinement instead). CLI-only: there is no `/w:amend`.
|
|
189
|
+
- `settle <list|prepare|apply>` — settle or acknowledge the live obligations a decision note left on a plan whose execution run is already closed. `list` shows each one with its note, position, class, whether that class was declared and the plan's CURRENT resume point; `prepare` derives the same settlement note the closure derives, writes nothing and returns the digest that authorizes it; `apply` re-derives from the live workspace, demands that digest and publishes under the lock. It refuses while an execution run holds the plan, naming that run — its closure settles its own obligations. CLI-only: there is no `/w:settle`.
|
|
189
190
|
|
|
190
191
|
Run `agent-workflow --help` (or `aw --help`) for the full list, or `agent-workflow <command> --help` for per-command flags.
|
|
191
192
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
|
-
import { checkAppendOnly, computeNoteDigest, orderNotes, validateDecisionNote, } from "../domain/decision-note.js";
|
|
2
|
+
import { checkAppendOnly, checkObligationsDeclared, computeNoteDigest, noteToWire, orderNotes, validateDecisionNote, } from "../domain/decision-note.js";
|
|
3
3
|
/**
|
|
4
4
|
* Where a lineage's decision notes live, and how one is added.
|
|
5
5
|
*
|
|
@@ -108,6 +108,15 @@ export function nextNoteId(index) {
|
|
|
108
108
|
}
|
|
109
109
|
/** Seal a note draft: its id and digest come from the chain, never from the caller. */
|
|
110
110
|
export function sealNote(index, draft) {
|
|
111
|
+
// The draft comes from an author, so its obligations may still be in either
|
|
112
|
+
// form. Normalizing HERE — before the id and the seal — is what makes the
|
|
113
|
+
// digest a function of the bytes that will be written, whichever form they
|
|
114
|
+
// arrived in; `appendNote` is where a missing class is refused, not here.
|
|
115
|
+
// The draft is sealed AS IT CAME. Normalizing here would either invent an
|
|
116
|
+
// empty list for a draft that forgot to say anything — making "none" and "we
|
|
117
|
+
// did not say" the same claim — or move the seal of one that arrived in the
|
|
118
|
+
// legacy form. The digest is a function of the wire form either way, and
|
|
119
|
+
// `appendNote` is where an unreadable or unclassed draft is refused.
|
|
111
120
|
const withId = { ...draft, id: nextNoteId(index) };
|
|
112
121
|
return { ...withId, digest: computeNoteDigest(withId) };
|
|
113
122
|
}
|
|
@@ -122,14 +131,22 @@ export function sealNote(index, draft) {
|
|
|
122
131
|
export function appendNote(index, note) {
|
|
123
132
|
const read = validateDecisionNote(note);
|
|
124
133
|
const chain = checkAppendOnly(index.notes, note);
|
|
125
|
-
|
|
134
|
+
// Over the note the reader RETURNED: asking whether an obligation declared its
|
|
135
|
+
// class only means something once the record is known to hold obligations.
|
|
136
|
+
const classed = read.ok && read.value !== null ? checkObligationsDeclared(read.value) : [];
|
|
137
|
+
const failures = [...read.failures, ...chain, ...classed];
|
|
126
138
|
if (failures.length > 0)
|
|
127
139
|
return { ok: false, failures };
|
|
128
140
|
return { ok: true, index: { ...index, notes: orderNotes([...index.notes, note]) } };
|
|
129
141
|
}
|
|
130
142
|
/** The artifact a proposal publishes for this index — stable, pretty, newline-terminated. */
|
|
131
143
|
export function noteIndexArtifact(path, index) {
|
|
132
|
-
|
|
144
|
+
// Each note goes back out in the form it came in. Appending one note must not
|
|
145
|
+
// rewrite the bytes of the ones already published — that is the append-only
|
|
146
|
+
// rule at the level of the file, and a normalized re-serialization would break
|
|
147
|
+
// every legacy seal in the chain on the next append.
|
|
148
|
+
const wire = { ...index, notes: index.notes.map(noteToWire) };
|
|
149
|
+
return { path, content: `${JSON.stringify(wire, null, 2)}\n` };
|
|
133
150
|
}
|
|
134
151
|
/**
|
|
135
152
|
* Refuse a publication that would rewrite the very baseline it decides on.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision-note-service.js","sourceRoot":"","sources":["../../src/application/decision-note-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAIL,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAGpC;;;;;;;;;;;;GAYG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAe9D,+DAA+D;AAC/D,MAAM,UAAU,aAAa,CAAC,WAAmB,EAAE,UAAkB,EAAE,IAAY;IACjF,OAAO,GAAG,WAAW,IAAI,UAAU,cAAc,IAAI,OAAO,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAkB,EAClB,IAAY,EACZ,IAAY,EACZ,IAAsC;IAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO;YACL,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;SAC/E,CAAC;IACJ,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,uBAAuB;oBAC7B,OAAO,EAAE,GAAG,IAAI,gCAAgC,MAAM,CAAC,KAAK,CAAC,EAAE;oBAC/D,MAAM,EACJ,6FAA6F;iBAChG;aACF;SACF,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,cAAc,CACrB,MAAe,EACf,IAAY,EACZ,IAAsC;IAEtC,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,GAAG,IAAI,uBAAuB;oBACvC,MAAM,EAAE,4CAA4C;iBACrD;aACF;SACF,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,IAAI,GAAG,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACrC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,2BAA2B;oBACjC,OAAO,EAAE,oCAAoC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;oBACzE,MAAM,EAAE,0BAA0B,iBAAiB,EAAE;iBACtD;aACF;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,GAAG,IAAI,8BAA8B;oBAC9C,MAAM,EAAE,4CAA4C;iBACrD;aACF;SACF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACpC,uEAAuE;YACvE,sDAAsD;YACtD,QAAQ,CAAC,IAAI,CACX,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CACtF,CAAC;YACF,SAAS;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACxD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;KAC7F,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,UAAU,CAAC,KAAoB;IAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1F,OAAO,OAAO,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,QAAQ,CACtB,KAAoB,EACpB,KAA0C;IAE1C,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IACnD,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CACxB,KAAoB,EACpB,IAAkB;IAElB,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"decision-note-service.js","sourceRoot":"","sources":["../../src/application/decision-note-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
* registry — not this file — is where a new transition is added.
|
|
26
26
|
*/
|
|
27
27
|
import { touchesTheWorld } from "../../domain/capability/effects.js";
|
|
28
|
-
import { DOCS_BOUNDARY, FIX_PREVIEW_TRANSITION, actionOf, alternativesOf, effectsOf, internalActionOf, isRouteEvaluation, proposalContractOf, publishApprovalOf, routeControlOf, } from "../../domain/flow/authority.js";
|
|
28
|
+
import { DOCS_BOUNDARY, FIX_PREVIEW_TRANSITION, SETTLEMENT_READINGS, actionOf, alternativesOf, effectsOf, internalActionOf, isRouteEvaluation, proposalContractOf, publishApprovalOf, routeControlOf, } from "../../domain/flow/authority.js";
|
|
29
29
|
import { authorizeTransition, effectApprovalDigest, } from "../../domain/flow/authorization.js";
|
|
30
30
|
import { PAUSE_LABEL, STOP_LABEL, buildFlowDirective, skippedStepOf, stepOf, } from "../../domain/flow/directive.js";
|
|
31
31
|
import { ROUTE_ACCEPT_LABEL, ROUTE_ADJUST_LABEL, dispositionOf } from "../../domain/flow/route.js";
|
|
32
32
|
import { bindAction, docsBoundaryBreach, skipReason, } from "../../domain/flow/rules.js";
|
|
33
|
-
import { MAX_BOUNDARY_ATTEMPTS, applyAttemptReconciliation, applyTransition, attemptAccountingAt, attemptsAt, checkAgainstJourney, currentBatchIteration, degradeTransition, positionDigest, reconcileAttemptsAt, skipTransition, withBoundary, withPendingAction, withPlanExecBatchStageForTransition, } from "../../domain/flow/run-state.js";
|
|
33
|
+
import { MAX_BOUNDARY_ATTEMPTS, applyAttemptReconciliation, applyTransition, attemptAccountingAt, attemptsAt, checkAgainstJourney, currentBatchIteration, degradeTransition, positionDigest, reconcileAttemptsAt, settlementAmbiguous, settlementOwed, skipTransition, withBoundary, withPendingAction, withPlanExecBatchStageForTransition, } from "../../domain/flow/run-state.js";
|
|
34
34
|
import { buildSemanticRequest, semanticDigest, } from "../semantic-operation/protocol.js";
|
|
35
35
|
import { sessionSlug } from "../session-resolver.js";
|
|
36
36
|
export function advanceFlowRun(input) {
|
|
@@ -150,7 +150,8 @@ function walk(from, journey) {
|
|
|
150
150
|
function passOver(state, decision, journey) {
|
|
151
151
|
const conditional = routeSkipReason(state, decision) ??
|
|
152
152
|
skipReason(decision, journey, state.observations, currentBatchIteration(state, decision.id)) ??
|
|
153
|
-
nothingToPublish(state, decision)
|
|
153
|
+
nothingToPublish(state, decision) ??
|
|
154
|
+
nothingToSettle(state, decision);
|
|
154
155
|
const degraded = conditional === null ? exhaustionSkip(state, decision) : null;
|
|
155
156
|
const reason = conditional ?? degraded;
|
|
156
157
|
if (reason === null)
|
|
@@ -389,6 +390,42 @@ function nothingToPublish(state, decision) {
|
|
|
389
390
|
return null;
|
|
390
391
|
return "no quedó ninguna propuesta aprobada: no se escribió nada";
|
|
391
392
|
}
|
|
393
|
+
/** The three rows of the settlement, in the order the closure walks them. */
|
|
394
|
+
const SETTLEMENT_TRANSITIONS = new Set([
|
|
395
|
+
"plan-exec.settlement-authoring",
|
|
396
|
+
"plan-exec.settlement-question",
|
|
397
|
+
"plan-exec.settlement-publication",
|
|
398
|
+
]);
|
|
399
|
+
/**
|
|
400
|
+
* A closure with nothing owing walks straight past the settlement.
|
|
401
|
+
*
|
|
402
|
+
* This is what makes the three rows cost NOTHING on the normal path: the batch
|
|
403
|
+
* loop's end already snapshotted what the plan owes, so the walk answers "is
|
|
404
|
+
* there anything to settle" from the run's own state without asking anybody. A
|
|
405
|
+
* plan with no live compensation closes exactly as it closed before these rows
|
|
406
|
+
* existed — same boundaries, same questions, none of them new.
|
|
407
|
+
*
|
|
408
|
+
* The question skips on a second count, and it is the one that keeps the person
|
|
409
|
+
* out of the CLI's bookkeeping: an obligation whose class the note declared, or
|
|
410
|
+
* whose text the plan already enumerates as a handoff, has exactly ONE reading.
|
|
411
|
+
* Asking about it would be asking somebody to ratify arithmetic.
|
|
412
|
+
*/
|
|
413
|
+
function nothingToSettle(state, decision) {
|
|
414
|
+
if (!SETTLEMENT_TRANSITIONS.has(decision.id))
|
|
415
|
+
return null;
|
|
416
|
+
if (!settlementOwed(state)) {
|
|
417
|
+
// Dicho sobre el SNAPSHOT y no sobre el plan, porque son dos cosas: un plan
|
|
418
|
+
// cuyo linaje no se puede leer tampoco deja nada en el snapshot —no hay nota
|
|
419
|
+
// que sustituir— y no por eso es cerrable. Afirmar «el plan no conserva
|
|
420
|
+
// compensación vigente» era falso justo ahí, y `plan-done` lo rechaza
|
|
421
|
+
// después nombrando la reparación.
|
|
422
|
+
return "el recorrido no tiene ninguna obligación que saldar: sin una nota vigente que sustituir no hay saldo que publicar";
|
|
423
|
+
}
|
|
424
|
+
if (decision.id === "plan-exec.settlement-question" && settlementAmbiguous(state).length === 0) {
|
|
425
|
+
return "ninguna obligación vigente admite más de una lectura: no hay nada que preguntar";
|
|
426
|
+
}
|
|
427
|
+
return null;
|
|
428
|
+
}
|
|
392
429
|
/**
|
|
393
430
|
* Why an exhausted boundary is passed over — or `null` when it must not be.
|
|
394
431
|
*
|
|
@@ -762,18 +799,21 @@ export function boundaryRequest(decision, state) {
|
|
|
762
799
|
? ""
|
|
763
800
|
: ` Devolvé en 'artifacts' los bytes exactos que hay que escribir, cada uno con su 'path' dentro de ${proposes.destinations.join(", ")}. El CLI sella la propuesta, la muestra como vista previa y la escribe entera o no la escribe: vos no armás digests, envelopes ni referencias.`;
|
|
764
801
|
const decisionDraft = decision.id === "plan-exec.deviation-recognition"
|
|
765
|
-
? " Si la desviación puede resolverse registrando una decisión, incluí en 'decisions.decision' su question y draft completos ahora: el CLI preparará y mostrará el preview sellado antes de que una persona elija registrarlo."
|
|
802
|
+
? " Si la desviación puede resolverse registrando una decisión, incluí en 'decisions.decision' su question y draft completos ahora: el CLI preparará y mostrará el preview sellado antes de que una persona elija registrarlo. Cada obligación del draft va como { text, kind }: 'compensation' es trabajo que este linaje debe y bloquea su cierre, 'handoff' es trabajo que queda a cargo de otra gente y no lo bloquea."
|
|
766
803
|
: "";
|
|
767
804
|
// La misma pista que el borrador de decisión, y por el mismo motivo: la forma
|
|
768
805
|
// exacta se dice ANTES para que el primer intento la traiga. Acá pesa el doble,
|
|
769
806
|
// porque un preview inválido es un rechazo evaluado y gasta uno de los tres.
|
|
807
|
+
const settlementDraft = decision.id === "plan-exec.settlement-authoring"
|
|
808
|
+
? ` Devolvé en 'decisions.settlement' una lista con una entrada por cada compensación vigente: { note, index, outcome, evidence? }. 'note' e 'index' son los que el tablero ya nombra. 'outcome' es 'settled' —con 'evidence': la salida real de lo que lo prueba—, 'handoff' —el trabajo es de otra gente— o 'pending' —todavía no se hizo, y entonces el cierre se detiene acá hasta que se haga—. Para una obligación cuya clase nadie declaró y que el plan no enumera, lo que declares es la lectura que PROPONÉS: una persona la ratifica en la frontera siguiente.`
|
|
809
|
+
: "";
|
|
770
810
|
const fixPreview = decision.id === FIX_PREVIEW_TRANSITION
|
|
771
811
|
? " Devolvé en 'decisions.preview' un objeto con 'files' (las rutas que vas a tocar, lista que puede ir VACÍA si el entregable es un análisis), 'intent' (qué arregla y por qué) y 'diff' (la forma esperada del diff). Proporcional a la tarea: una línea para algo trivial; enfoque, archivos y riesgos para algo complejo."
|
|
772
812
|
: "";
|
|
773
813
|
return buildSemanticRequest({
|
|
774
814
|
operation: `flow.${decision.id}`,
|
|
775
815
|
inputs: boundaryInputs(state, decision),
|
|
776
|
-
contract: `${decision.title}. Devolvé un único objeto JSON con el 'input_digest' de esta frontera.${isRouteEvaluation(decision) ? " En 'decisions.route' incluí summary { finding, diagnosis, solution } con una explicación breve para una persona que no conoce Workline; basis (intention, checkout, conventions, adopted_decisions); y controls: solo ids configurados como route_control, con disposition apply|omit|substitute, reason y, para substitute, substitution { validation, risk }. No incluyas gates duros: el CLI los rechaza." : ""} ${taxonomy}${authoring}${decisionDraft}${fixPreview} El CLI valida la respuesta antes de aplicar ninguna transición: una respuesta ausente, inválida, ambigua, fuera de alcance o vencida no cambia el estado ni produce efectos.`,
|
|
816
|
+
contract: `${decision.title}. Devolvé un único objeto JSON con el 'input_digest' de esta frontera.${isRouteEvaluation(decision) ? " En 'decisions.route' incluí summary { finding, diagnosis, solution } con una explicación breve para una persona que no conoce Workline; basis (intention, checkout, conventions, adopted_decisions); y controls: solo ids configurados como route_control, con disposition apply|omit|substitute, reason y, para substitute, substitution { validation, risk }. No incluyas gates duros: el CLI los rechaza." : ""} ${taxonomy}${authoring}${decisionDraft}${settlementDraft}${fixPreview} El CLI valida la respuesta antes de aplicar ninguna transición: una respuesta ausente, inválida, ambigua, fuera de alcance o vencida no cambia el estado ni produce efectos.`,
|
|
777
817
|
inventory: { flow: state.flow, applied: state.applied, signals: vocabulary },
|
|
778
818
|
allowedDestinations: proposes === null ? [] : [...proposes.destinations],
|
|
779
819
|
limits: proposes === null
|
|
@@ -848,9 +888,55 @@ function humanChoices(decision, state) {
|
|
|
848
888
|
...(standaloneRegistration(decision, state, choice.outcome)
|
|
849
889
|
? { consequence: STANDALONE_REGISTRATION_CONSEQUENCE }
|
|
850
890
|
: {}),
|
|
891
|
+
...settlementRecommendation(decision, state, choice),
|
|
851
892
|
}));
|
|
852
893
|
return [...resolve, ...flowControlChoices()];
|
|
853
894
|
}
|
|
895
|
+
/** The label each settlement reading is offered under — from the row's own table. */
|
|
896
|
+
const SETTLEMENT_LABELS = new Map(SETTLEMENT_READINGS.map((reading) => [reading.outcome, reading.label]));
|
|
897
|
+
/**
|
|
898
|
+
* What the settlement question recommends, and why that is not the CLI deciding.
|
|
899
|
+
*
|
|
900
|
+
* The recommendation is the AGENT's proposed reading, carried from the authoring
|
|
901
|
+
* row: it read the obligation, the plan and the evidence, so starting the person
|
|
902
|
+
* from a cold menu would waste the one thing that boundary produced. When the
|
|
903
|
+
* proposals disagree with each other the recommendation falls back to the safe
|
|
904
|
+
* reading, because one answer is applied to all of them and the safe one is the
|
|
905
|
+
* only reading that cannot discharge work nobody did.
|
|
906
|
+
*
|
|
907
|
+
* The consequence names the obligations at stake and the evidence gathered for
|
|
908
|
+
* them, so what is being ratified is on screen and not one row back.
|
|
909
|
+
*/
|
|
910
|
+
function settlementRecommendation(decision, state, choice) {
|
|
911
|
+
if (decision.id !== "plan-exec.settlement-question")
|
|
912
|
+
return {};
|
|
913
|
+
const ambiguous = settlementAmbiguous(state);
|
|
914
|
+
if (ambiguous.length === 0)
|
|
915
|
+
return {};
|
|
916
|
+
const declared = state.settlement?.declared ?? [];
|
|
917
|
+
const proposals = new Set(ambiguous.map((obligation) => declared.find((entry) => entry.note === obligation.note && entry.index === obligation.index)
|
|
918
|
+
?.outcome ?? "pending"));
|
|
919
|
+
const [only] = [...proposals];
|
|
920
|
+
const proposed = proposals.size === 1 && only !== undefined ? only : "pending";
|
|
921
|
+
// The evidence OF THESE obligations, never of every declaration in the run: a
|
|
922
|
+
// question about one obligation that displayed another's proof would be the
|
|
923
|
+
// opposite of the auditability this boundary exists for.
|
|
924
|
+
const evidence = ambiguous
|
|
925
|
+
.map((obligation) => declared.find((entry) => entry.note === obligation.note && entry.index === obligation.index)
|
|
926
|
+
?.evidence)
|
|
927
|
+
.filter((value) => value !== undefined)
|
|
928
|
+
.join("; ");
|
|
929
|
+
const subject = ambiguous
|
|
930
|
+
.map((obligation) => `${obligation.note}: ${obligation.text}`)
|
|
931
|
+
.join("; ");
|
|
932
|
+
return {
|
|
933
|
+
recommended: SETTLEMENT_LABELS.get(proposed) === choice.label,
|
|
934
|
+
// Appended, never replacing: what each reading DOES is the row's own text,
|
|
935
|
+
// and dropping it would leave the person choosing between three subjects
|
|
936
|
+
// with no consequences attached.
|
|
937
|
+
consequence: `${choice.consequence} · se aplica a ${subject}${evidence.length === 0 ? "" : ` · evidencia declarada: ${evidence}`}`,
|
|
938
|
+
};
|
|
939
|
+
}
|
|
854
940
|
/** The only route decision: accept the complete sealed preview or request changes. */
|
|
855
941
|
function routeChoices() {
|
|
856
942
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance.js","sourceRoot":"","sources":["../../../src/application/flow/advance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAoB,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAEvF,OAAO,EACL,aAAa,EAEb,sBAAsB,EAEtB,QAAQ,EACR,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAGL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAML,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,MAAM,GACP,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACnG,OAAO,EAEL,UAAU,EACV,kBAAkB,EAClB,UAAU,GACX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAKL,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,mCAAmC,GACpC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,oBAAoB,EACpB,cAAc,GACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAoBrD,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACnE,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAEnE,4EAA4E;IAC5E,wEAAwE;IACxE,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,8DAA8D;IAC9D,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAE5D,8EAA8E;IAC9E,yEAAyE;IACzE,4EAA4E;IAC5E,+CAA+C;IAC/C,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACpE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QACjE,IAAI,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;QAC1D,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,YAAY,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACzB,MAAM,UAAU,GAAe,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAE7E,iFAAiF;IACjF,iFAAiF;IACjF,iFAAiF;IACjF,+EAA+E;IAC/E,+BAA+B;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAC5D,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;IACjD,+EAA+E;IAC/E,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,+CAA+C;IAC/C,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC7D,KAAK,GAAG,iBAAiB,CACvB,KAAK,EACL,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;QAClC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAC9D,CAAC;IACF,OAAO,YAAY,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,KAAmB,EAAE,OAAgC;IACzE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IACtD,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,0BAA0B,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,IAAI,CACX,IAAkB,EAClB,OAAgC;IAEhC,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,SAAS,KAAK,KAAK;YAAE,MAAM;QACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,MAAM;QAC5B,IACE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO;aACpF,MAAM,GAAG,CAAC,EACb,CAAC;YACD,MAAM;QACR,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI;YAAE,MAAM;QACvC,KAAK,GAAG,mCAAmC,CACzC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,EACxD,QAAQ,CAAC,EAAE,CACZ,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,QAAQ,CACf,KAAmB,EACnB,QAAsB,EACtB,OAAgC;IAEhC,MAAM,WAAW,GACf,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC;QAChC,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5F,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,MAAM,MAAM,GAAG,WAAW,IAAI,QAAQ,CAAC;IACvC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO;QACL,KAAK,EACH,QAAQ,KAAK,IAAI;YACf,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACpC,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;QACrD,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAS,eAAe,CAAC,KAAmB,EAAE,QAAsB;IAClE,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnE,IAAI,QAAQ,EAAE,WAAW,KAAK,MAAM,EAAE,CAAC;QACrC,OAAO,uFAAuF,CAAC;IACjG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,MAAuB;IAClD,OAAO,cAAc,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO;QAClC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;QAChC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK;QAC9B,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;KAC/B,CAAC,CAAC;AACL,CAAC;AAmCD,4EAA4E;AAC5E,SAAS,UAAU,CAAC,KAAmB;IACrC,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,4EAA4E;QAC5E,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,yEAAyE;QACzE,uDAAuD;QACvD,IAAI,EAAE,KAAK,CAAC,OAAO;QACnB,2EAA2E;QAC3E,0EAA0E;QAC1E,8DAA8D;QAC9D,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CACpB,KAAmB,EACnB,OAA4B;IAE5B,MAAM,QAAQ,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7E,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9E,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO,OAAO,KAAK,IAAI;QACrB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;QACxD,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,YAAY,CACnB,KAAmB,EACnB,OAAqB,EACrB,OAA2D;IAE3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,IAAI,OAAO,CAAC,EAAE,2EAA2E;YAClG,MAAM,EACJ,0KAA0K;SAC7K,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,iBAAiB,OAAO,CAAC,EAAE,gBAAgB,OAAO,CAAC,OAAO,qCAAqC;YACxG,MAAM,EACJ,8FAA8F;SACjG,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,4BAA4B;YAClC,OAAO,EAAE,iBAAiB,OAAO,CAAC,EAAE,gBAAgB,OAAO,CAAC,OAAO,eAAe,KAAK,CAAC,IAAI,kCAAkC;YAC9H,MAAM,EAAE,+BAA+B,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,+FAA+F;SACpK,CAAC;IACJ,CAAC;IACD,8EAA8E;IAC9E,4DAA4D;IAC5D,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1D,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QAC9B,4EAA4E;QAC5E,8EAA8E;QAC9E,8EAA8E;QAC9E,oBAAoB;QACpB,OAAO;YACL,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,IAAI,OAAO,CAAC,EAAE,eAAe,qBAAqB,oEAAoE,cAAc,CAAC,UAAU,CAAC,EAAE;YAC3J,MAAM,EAAE,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC;SACxC,CAAC;IACJ,CAAC;IACD,8EAA8E;IAC9E,8EAA8E;IAC9E,+EAA+E;IAC/E,8EAA8E;IAC9E,8DAA8D;IAC9D,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC;IACtC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO;YACL,IAAI,EAAE,4BAA4B;YAClC,6EAA6E;YAC7E,4EAA4E;YAC5E,0EAA0E;YAC1E,oDAAoD;YACpD,OAAO,EAAE,uDAAuD,OAAO,CAAC,EAAE,8CAA8C,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE;YACpL,MAAM,EAAE,8DAA8D,iBAAiB,CAAC,KAAK,CAAC,iHAAiH;SAChN,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,eAAe,CAAC,KAAmB,EAAE,OAAqB;IACjE,gFAAgF;IAChF,0EAA0E;IAC1E,8EAA8E;IAC9E,4EAA4E;IAC5E,+EAA+E;IAC/E,0EAA0E;IAC1E,2EAA2E;IAC3E,sCAAsC;IACtC,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;IACnE,IAAI,SAAS,EAAE,KAAK,KAAK,YAAY,EAAE,CAAC;QACtC,OAAO,wDAAwD,SAAS,CAAC,MAAM,MAAM,iBAAiB,CAAC,KAAK,CAAC,gHAAgH,CAAC;IAChO,CAAC;IACD,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,GAAG,cAAc,4FAA4F,CAAC;IACvH,CAAC;IACD,OAAO,GAAG,cAAc,mMAAmM,iBAAiB,CAAC,KAAK,CAAC,yEAAyE,CAAC;AAC/T,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,UAA6B;IACnD,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACvC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,SAAS;SACpB,GAAG,CACF,CAAC,QAAQ,EAAE,EAAE,CACX,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,WAAW,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,GAAG,CACjJ;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,wCAAwC,KAAK,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,KAAmB;IAC5C,OAAO,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC;AACtD,CAAC;AAED,oFAAoF;AACpF,MAAM,cAAc,GAClB,oLAAoL,CAAC;AAEvL,2EAA2E;AAC3E,SAAS,SAAS,CAAC,KAAmB,EAAE,QAAsB;IAC5D,OAAO,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,qBAAqB,CAAC;AACjE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,KAAK,CAAC,QAAsB;IACnC,OAAO,QAAQ,CAAC,SAAS,KAAK,WAAW,CAAC;AAC5C,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,KAAmB,EAAE,QAAsB;IACnE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,SAAS,KAAK,kBAAkB;QAAE,OAAO,IAAI,CAAC;IAC9E,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,0DAA0D,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAS,cAAc,CAAC,KAAmB,EAAE,QAAsB;IACjE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,8EAA8E;IAC9E,2EAA2E;IAC3E,IAAI,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IAC3F,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjE,IAAI,OAAO,KAAK,IAAI,IAAI,eAAe,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3F,IACE,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;QAC9F,CAAC,EACD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,qBAAqB,WAAW,CAAC;IAC5D,OAAO,OAAO,KAAK,IAAI;QACrB,CAAC,CAAC,GAAG,KAAK,KAAK,cAAc,EAAE;QAC/B,CAAC,CAAC,iCAAiC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,OAAO,KAAK,KAAK,cAAc,EAAE,CAAC;AACzG,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CACvB,KAAmB,EACnB,UAAkB;IAElB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAmB,EACnB,QAAsB,EACtB,OAA0C;IAE1C,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,OAAO;QACL,aAAa,EAAE,IAAI;QACnB,OAAO;QACP,6EAA6E;QAC7E,8EAA8E;QAC9E,8BAA8B;QAC9B,cAAc,EAAE,cAAc,CAAC;YAC7B,iBAAiB,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;YAC5F,OAAO;SACR,CAAC;QACF,qBAAqB,EACnB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,GAAG,CAAC,CAAC,EAAE,cAAc,IAAI,IAAI;QAC5E,UAAU,EAAE,QAAQ,CAAC,EAAE;QACvB,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,SAAS,iBAAiB,CAAC,IAA0B;IACnD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,OAAe,EAAE,OAAe;IACrD,OAAO,oGAAoG,OAAO,qDAAqD,OAAO,EAAE,CAAC;AACnL,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAmB,EACnB,OAAgC;IAEhC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,OAAO;YACb,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE;YACX,OAAO;YACP,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC;YAC/B,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1D,OAAO;YACL,OAAO;YACP,IAAI,EAAE,SAAS;YACf,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE;YACX,OAAO;YACP,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;YAClC,KAAK,EAAE;gBACL,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,uBAAuB,KAAK,CAAC,OAAO,CAAC,WAAW,YAAY,KAAK,CAAC,eAAe,EAAE,KAAK,IAAI,eAAe,iCAAiC,OAAO,CAAC,EAAE,GAAG;gBAClK,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;aAC5D;SACF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,+EAA+E;IAC/E,+EAA+E;IAC/E,gFAAgF;IAChF,qBAAqB;IACrB,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1C,+EAA+E;IAC/E,iFAAiF;IACjF,4EAA4E;IAC5E,iFAAiF;IACjF,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,aAAa,GACjB,OAAO,CAAC,SAAS,KAAK,KAAK;QACzB,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC;QAC7D,CAAC,CAAC,IAAI,CAAC;IACX,8EAA8E;IAC9E,gFAAgF;IAChF,UAAU;IACV,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC;IAChF,MAAM,IAAI,GACR,OAAO,KAAK,IAAI;QACd,CAAC,CAAC,WAAW;YACX,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACnE,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO;QACL,OAAO;QACP,IAAI;QACJ,aAAa;QACb,OAAO,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;QACrE,MAAM,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;QACpD,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC;QACzD,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC;QACvF,OAAO;QACP,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;QAClC,KAAK,EAAE,OAAO;KACf,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,KAAmB,EAAE,OAAqB;IAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACpD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,EAAE,SAAS,KAAK,kBAAkB,CAAC;IAC9E,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;AACvF,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CACjC,KAAmB,EACnB,QAAsB;IAEtB,OAAO,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,mFAAmF;AACnF,SAAS,cAAc,CAAC,KAAmB;IACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,YAAY,CAAC,OAAqB,EAAE,YAAqB;IAChE,IAAI,YAAY;QAAE,OAAO,eAAe,CAAC;IACzC,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO;QAAE,OAAO,UAAU,CAAC;IACrD,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,KAAmB,EAAE,OAA4B;IAC5E,OAAO,cAAc,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CACrB,KAAmB,EACnB,OAA4B;IAE5B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC;IACpD,OAAO;QACL,yEAAyE;QACzE,4EAA4E;QAC5E,qDAAqD;QACrD,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;QAC5B,UAAU,EAAE,OAAO,EAAE,EAAE,IAAI,IAAI;QAC/B,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAC1B,KAAmB,EACnB,QAA0B,EAC1B,UAA+B,EAC/B,YAAkE,EAAE;IAEpE,MAAM,QAAQ,GACZ,QAAQ,CAAC,OAAO,KAAK,IAAI;QACvB,CAAC,CAAC;YACE,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;SACf;QACH,CAAC,CAAC;YACE,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC/B,SAAS,EACP,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI;gBAClE,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS;YAChC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS;YACrC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK;YAC7B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ;SACpC,CAAC;IACR,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC/B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ;QACR,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;QACvF,WAAW,EAAE,QAAQ,CAAC,IAAI;QAC1B,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,eAAe,EACb,KAAK,CAAC,oBAAoB,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAC7F,0EAA0E;QAC1E,6EAA6E;QAC7E,mDAAmD;QACnD,UAAU,EACR,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,4BAA4B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAC5F,KAAK,EAAE;YACL,QAAQ,EAAE,KAAK,CAAC,cAAc;YAC9B,SAAS,EAAE,KAAK,CAAC,eAAe,IAAI,EAAE;YACtC,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B;QACD,cAAc,EAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE;QACrD,qEAAqE;QACrE,oEAAoE;QACpE,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,8EAA8E;QAC9E,wDAAwD;QACxD,OAAO,EAAE;YACP,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;YAC7D,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;SAC/B;QACD,4EAA4E;QAC5E,6EAA6E;QAC7E,eAAe;QACf,iBAAiB,EACf,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACpF,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;KAC7E,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAC5D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,eAAe,CAAC,QAAsB,EAAE,KAAmB;IACzE,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,QAAQ,GACZ,UAAU,CAAC,MAAM,KAAK,CAAC;QACrB,CAAC,CAAC,mFAAmF;QACrF,CAAC,CAAC,6EAA6E,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,uGAAuG,CAAC;IAChN,8EAA8E;IAC9E,iFAAiF;IACjF,+EAA+E;IAC/E,iEAAiE;IACjE,MAAM,SAAS,GACb,QAAQ,KAAK,IAAI;QACf,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,oGAAoG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,gJAAgJ,CAAC;IAC3R,MAAM,aAAa,GACjB,QAAQ,CAAC,EAAE,KAAK,iCAAiC;QAC/C,CAAC,CAAC,6NAA6N;QAC/N,CAAC,CAAC,EAAE,CAAC;IACT,8EAA8E;IAC9E,gFAAgF;IAChF,6EAA6E;IAC7E,MAAM,UAAU,GACd,QAAQ,CAAC,EAAE,KAAK,sBAAsB;QACpC,CAAC,CAAC,4TAA4T;QAC9T,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,oBAAoB,CAAC;QAC1B,SAAS,EAAE,QAAQ,QAAQ,CAAC,EAAE,EAAE;QAChC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC;QACvC,QAAQ,EAAE,GAAG,QAAQ,CAAC,KAAK,yEAAyE,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,+YAA+Y,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,+KAA+K;QAC1vB,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE;QAC5E,mBAAmB,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;QACxE,MAAM,EACJ,QAAQ,KAAK,IAAI;YACf,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE;YAC7C,CAAC,CAAC;gBACE,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY;gBAC3C,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB;aACrD;QACP,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5B,YAAY,EAAE,CAAC;KAChB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAiB;IAClD,OAAO;QACL;YACE,KAAK,EAAE,WAAW;YAClB,WAAW,EACT,uGAAuG;YACzG,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE;SAC/C;QACD;YACE,KAAK,EAAE,UAAU;YACjB,WAAW,EACT,QAAQ,IAAI,0EAA0E;YACxF,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE;SAC9C;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,YAAY,CAAC,QAAsB,EAAE,KAAmB;IAC/D,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,OAAO,GACX,GAAG,KAAK,IAAI;QACV,CAAC,CAAC;YACE;gBACE,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EAAE,YAAY,QAAQ,CAAC,KAAK,kCAAkC;gBACzE,WAAW,EAAE,IAAI;gBACjB,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;aAC9B;SACF;QACH,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACnB,GAAG,MAAM;YACT,GAAG,CAAC,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;gBACzD,CAAC,CAAC,EAAE,WAAW,EAAE,mCAAmC,EAAE;gBACtD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,kBAAkB,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,sFAAsF;AACtF,SAAS,YAAY;IACnB,OAAO;QACL;YACE,KAAK,EAAE,kBAAkB;YACzB,WAAW,EACT,2FAA2F;YAC7F,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;SAC9B;QACD;YACE,KAAK,EAAE,kBAAkB;YACzB,WAAW,EACT,6FAA6F;YAC/F,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;SAC9B;QACD,GAAG,kBAAkB,EAAE;KACxB,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,mCAAmC,GACvC,mKAAmK,CAAC;AAEtK;;;;;;;GAOG;AACH,SAAS,sBAAsB,CAC7B,QAAsB,EACtB,KAAmB,EACnB,OAAoD;IAEpD,OAAO,CACL,QAAQ,CAAC,EAAE,KAAK,0BAA0B;QAC1C,OAAO,CAAC,IAAI,KAAK,mBAAmB;QACpC,KAAK,CAAC,oBAAoB,EAAE,IAAI,KAAK,YAAY,CAClD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAC3B,QAAsB,EACtB,aAAsC;IAEtC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO;QACL;YACE,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,IAAI,QAAQ,CAAC,KAAK,YAAY,OAAO,uEAAuE;YACzH,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;SAC9B;QACD,GAAG,kBAAkB,CACnB,gBAAgB,OAAO,uDAAuD,CAC/E;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,IAAsB,EACtB,OAAqB,EACrB,YAA4C,EAC5C,KAAmB;IAEnB,IAAI,IAAI,KAAK,eAAe,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QACtD,OAAO,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,WAAW,CAAC,KAAmB;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;IACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU;YACnC,CAAC,CAAC,gCAAgC;YAClC,CAAC,CAAC,yBAAyB,KAAK,CAAC,SAAS,+DAA+D,CAAC;IAC9G,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,OAAO,2CAA2C,KAAK,mEAAmE,cAAc,EAAE,CAAC;AAC7I,CAAC;AAED,SAAS,aAAa,CACpB,KAAmB,EACnB,QAAsB,EACtB,QAA0B;IAE1B,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1D,OAAO,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,yDAAyD,CAAC;IACzE,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,UAAU;YACb,OAAO,GAAG,MAAM,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;QACvC,KAAK,OAAO;YACV,OAAO,GAAG,MAAM,kDAAkD,OAAO,CAAC,KAAK,GAAG,CAAC;QACrF,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,4EAA4E;YAC5E,4EAA4E;YAC5E,4EAA4E;YAC5E,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;YACvF,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;YAC1E,OAAO,GAAG,MAAM,mBAAmB,MAAM,iBAAiB,OAAO,UAAU,OAAO,CAAC,KAAK,GAAG,CAAC;QAC9F,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,qEAAqE;YACrE,4EAA4E;YAC5E,4EAA4E;YAC5E,iCAAiC;YACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,MAAM,IAAI,GACR,MAAM,KAAK,IAAI;gBACb,CAAC,CAAC,OAAO,CAAC,EAAE;gBACZ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC;YACvE,OAAO,YAAY,IAAI,QAAQ,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,qBAAqB,MAAM,MAAM,kFAAkF,QAAQ,uDAAuD,CAAC;QACjP,CAAC;QACD;YACE,OAAO,0BAA0B,OAAO,CAAC,KAAK,sCAAsC,CAAC;IACzF,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"advance.js","sourceRoot":"","sources":["../../../src/application/flow/advance.ts"],"names":[],"mappings":"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"}
|
|
@@ -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" ||
|