@tacuchi/agent-workflow-cli 21.0.0 → 21.1.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.
Files changed (153) hide show
  1. package/README.md +1 -0
  2. package/dist/application/capability/compose.js +161 -0
  3. package/dist/application/capability/compose.js.map +1 -0
  4. package/dist/application/capability/descriptor-loader.js +109 -0
  5. package/dist/application/capability/descriptor-loader.js.map +1 -0
  6. package/dist/application/capability/design-handler.js +299 -0
  7. package/dist/application/capability/design-handler.js.map +1 -0
  8. package/dist/application/capability/dispatcher.js +312 -0
  9. package/dist/application/capability/dispatcher.js.map +1 -0
  10. package/dist/application/capability/durable-effect.js +220 -0
  11. package/dist/application/capability/durable-effect.js.map +1 -0
  12. package/dist/application/capability/installed-inventory.js +168 -0
  13. package/dist/application/capability/installed-inventory.js.map +1 -0
  14. package/dist/application/capability/readiness.js +204 -0
  15. package/dist/application/capability/readiness.js.map +1 -0
  16. package/dist/application/capability/resolution.js +264 -0
  17. package/dist/application/capability/resolution.js.map +1 -0
  18. package/dist/application/capability/wrapper.js +187 -0
  19. package/dist/application/capability/wrapper.js.map +1 -0
  20. package/dist/application/context/manifest.js +11 -5
  21. package/dist/application/context/manifest.js.map +1 -1
  22. package/dist/application/context/measure.js +5 -2
  23. package/dist/application/context/measure.js.map +1 -1
  24. package/dist/application/context/plan-service.js +6 -6
  25. package/dist/application/context/plan-service.js.map +1 -1
  26. package/dist/application/design/design-bundle-service.js +148 -0
  27. package/dist/application/design/design-bundle-service.js.map +1 -0
  28. package/dist/application/design/design-proposal-service.js +69 -0
  29. package/dist/application/design/design-proposal-service.js.map +1 -0
  30. package/dist/application/design/design-publish-service.js +275 -7
  31. package/dist/application/design/design-publish-service.js.map +1 -1
  32. package/dist/application/design/design-record-service.js +100 -0
  33. package/dist/application/design/design-record-service.js.map +1 -0
  34. package/dist/application/flow/advance.js +533 -0
  35. package/dist/application/flow/advance.js.map +1 -0
  36. package/dist/application/flow/flow-service.js +65 -0
  37. package/dist/application/flow/flow-service.js.map +1 -0
  38. package/dist/application/flow/run-projection.js +80 -0
  39. package/dist/application/flow/run-projection.js.map +1 -0
  40. package/dist/application/flow/run-state-service.js +107 -0
  41. package/dist/application/flow/run-state-service.js.map +1 -0
  42. package/dist/application/flow/submit.js +423 -0
  43. package/dist/application/flow/submit.js.map +1 -0
  44. package/dist/application/resume-service.js +23 -10
  45. package/dist/application/resume-service.js.map +1 -1
  46. package/dist/application/self/install-skill.js +11 -0
  47. package/dist/application/self/install-skill.js.map +1 -1
  48. package/dist/application/self/uninstall.js +21 -0
  49. package/dist/application/self/uninstall.js.map +1 -1
  50. package/dist/application/skills-resolver-service.js +8 -2
  51. package/dist/application/skills-resolver-service.js.map +1 -1
  52. package/dist/application/status-service.js +4 -1
  53. package/dist/application/status-service.js.map +1 -1
  54. package/dist/application/workspace-init-service.js +13 -1
  55. package/dist/application/workspace-init-service.js.map +1 -1
  56. package/dist/cli/commands/capability.js +182 -0
  57. package/dist/cli/commands/capability.js.map +1 -0
  58. package/dist/cli/commands/flow.js +71 -0
  59. package/dist/cli/commands/flow.js.map +1 -0
  60. package/dist/cli/commands/index.js +4 -0
  61. package/dist/cli/commands/index.js.map +1 -1
  62. package/dist/cli/commands/skills.js +55 -2
  63. package/dist/cli/commands/skills.js.map +1 -1
  64. package/dist/cli/commands/status.js +5 -0
  65. package/dist/cli/commands/status.js.map +1 -1
  66. package/dist/cli/help-groups.js +6 -0
  67. package/dist/cli/help-groups.js.map +1 -1
  68. package/dist/cli/parser.js +6 -0
  69. package/dist/cli/parser.js.map +1 -1
  70. package/dist/cli/tui/data/workflow-content.js +5 -0
  71. package/dist/cli/tui/data/workflow-content.js.map +1 -1
  72. package/dist/cli/tui/tabs/workflow-tab.js +5 -1
  73. package/dist/cli/tui/tabs/workflow-tab.js.map +1 -1
  74. package/dist/domain/capability/descriptor.js +553 -0
  75. package/dist/domain/capability/descriptor.js.map +1 -0
  76. package/dist/domain/capability/effects.js +90 -0
  77. package/dist/domain/capability/effects.js.map +1 -0
  78. package/dist/domain/capability/protocol.js +494 -0
  79. package/dist/domain/capability/protocol.js.map +1 -0
  80. package/dist/domain/contract-reader.js +84 -0
  81. package/dist/domain/contract-reader.js.map +1 -0
  82. package/dist/domain/design/adapter.js +161 -0
  83. package/dist/domain/design/adapter.js.map +1 -0
  84. package/dist/domain/design/artifact.js +148 -4
  85. package/dist/domain/design/artifact.js.map +1 -1
  86. package/dist/domain/design/capability.js +263 -4
  87. package/dist/domain/design/capability.js.map +1 -1
  88. package/dist/domain/design/direct.js +108 -0
  89. package/dist/domain/design/direct.js.map +1 -0
  90. package/dist/domain/design/external-send.js +65 -0
  91. package/dist/domain/design/external-send.js.map +1 -0
  92. package/dist/domain/design/maturity.js +71 -0
  93. package/dist/domain/design/maturity.js.map +1 -1
  94. package/dist/domain/design/offline.js +92 -0
  95. package/dist/domain/design/offline.js.map +1 -0
  96. package/dist/domain/design/profiles.js +212 -0
  97. package/dist/domain/design/profiles.js.map +1 -0
  98. package/dist/domain/design/proposal.js +234 -0
  99. package/dist/domain/design/proposal.js.map +1 -0
  100. package/dist/domain/design/render-bundle.js +0 -0
  101. package/dist/domain/design/render-bundle.js.map +1 -0
  102. package/dist/domain/design/rendition.js +472 -0
  103. package/dist/domain/design/rendition.js.map +1 -0
  104. package/dist/domain/design/sources.js +180 -0
  105. package/dist/domain/design/sources.js.map +1 -0
  106. package/dist/domain/design/validation.js +12 -68
  107. package/dist/domain/design/validation.js.map +1 -1
  108. package/dist/domain/design/visual-evidence.js +155 -0
  109. package/dist/domain/design/visual-evidence.js.map +1 -0
  110. package/dist/domain/flow/answer.js +459 -0
  111. package/dist/domain/flow/answer.js.map +1 -0
  112. package/dist/domain/flow/authority.js +2276 -0
  113. package/dist/domain/flow/authority.js.map +1 -0
  114. package/dist/domain/flow/authorization.js +62 -0
  115. package/dist/domain/flow/authorization.js.map +1 -0
  116. package/dist/domain/flow/directive.js +421 -0
  117. package/dist/domain/flow/directive.js.map +1 -0
  118. package/dist/domain/flow/rules.js +140 -0
  119. package/dist/domain/flow/rules.js.map +1 -0
  120. package/dist/domain/flow/run-state.js +317 -0
  121. package/dist/domain/flow/run-state.js.map +1 -0
  122. package/dist/domain/harnesses.js +21 -0
  123. package/dist/domain/harnesses.js.map +1 -1
  124. package/dist/domain/skills.js +13 -14
  125. package/dist/domain/skills.js.map +1 -1
  126. package/package.json +1 -1
  127. package/skills/w/SKILL.md +5 -5
  128. package/skills/w/context/MANIFEST.json +38 -1
  129. package/skills/w/harness/HARNESS.md +20 -0
  130. package/skills/w/loops/CHASSIS.md +11 -20
  131. package/skills/w/loops/CODE-POLICIES.md +9 -15
  132. package/skills/w/loops/plan-exec-loop/LOOP.md +11 -13
  133. package/skills/w/loops/plan-new-loop/LOOP.md +6 -4
  134. package/skills/w/loops/plan-refine-loop/LOOP.md +5 -3
  135. package/skills/w/loops/quick-loop/LOOP.md +18 -26
  136. package/skills/w/loops/spec-refine-loop/LOOP.md +14 -18
  137. package/skills/w/modules/COMPACTION.md +2 -6
  138. package/skills/w/modules/DB-SCRIPTS-ONLY.md +2 -0
  139. package/skills/w/modules/DESIGN-REFERENCES.md +15 -11
  140. package/skills/w/modules/IDEATION-GATE.md +3 -3
  141. package/skills/w/modules/PLAN-EXECUTION-BATCHES.md +17 -36
  142. package/skills/w/modules/PLAN-INPUT.md +5 -3
  143. package/skills/w/modules/PLAN-REFINE-SPLIT.md +3 -1
  144. package/skills/w/modules/PLAN-SPLIT-GATE.md +7 -5
  145. package/skills/w/modules/PROMPT-CONTINUITY.md +3 -1
  146. package/skills/w/modules/SPEC-CHANGE-SHAPE.md +4 -4
  147. package/skills/w/roles/README.md +2 -0
  148. package/skills/w/roles/design/CONTRACT.md +80 -0
  149. package/skills/w/roles/design/ROLE.md +7 -0
  150. package/skills/w/schemas/capability-descriptor.schema.json +260 -0
  151. package/skills/w/schemas/design/design-render-bundle.v1.schema.json +191 -0
  152. package/skills/w/schemas/design/design-rendition.v1.schema.json +232 -0
  153. package/skills/w/schemas/design/ui-screen.v1.schema.json +29 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authority.js","sourceRoot":"","sources":["../../../src/domain/flow/authority.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * What a transition is allowed to DO during an automatic advance.
3
+ *
4
+ * The classification and the authorization policy are the ones already
5
+ * delivered: {@link authorizeEffects} decides, using the closed effect taxonomy
6
+ * and `SELF_AUTHORIZABLE_CLASSES`. There is deliberately no second policy here —
7
+ * a second one could contradict the first, and then "was this authorized?" would
8
+ * have two answers.
9
+ *
10
+ * The rule the spec asks for falls out of that: reading and creating something
11
+ * new inside the target the caller already named are what an invocation may grant
12
+ * itself; overwriting, running code, leaving the machine and destroying are not,
13
+ * so the advance stops at a human boundary naming the effect instead of
14
+ * degrading silently or applying half of it.
15
+ */
16
+ import { semanticDigest } from "../../application/semantic-operation/protocol.js";
17
+ import { authorizeEffects, } from "../capability/effects.js";
18
+ import { effectsOf } from "./authority.js";
19
+ /**
20
+ * Decide whether the run may apply this transition right now.
21
+ *
22
+ * The declarations handed to `authorizeEffects` say `invocation`/`none` on
23
+ * purpose: that defers the whole verdict to the taxonomy's own gate
24
+ * (`SELF_AUTHORIZABLE_CLASSES`), which is exactly "no second policy". `idempotent`
25
+ * is required by the shape and is not read by the authorization path.
26
+ */
27
+ export function authorizeTransition(decision, granted) {
28
+ const planned = [...effectsOf(decision)];
29
+ const declarations = planned.map((effect) => ({
30
+ class: effect,
31
+ idempotent: true,
32
+ authorization: "invocation",
33
+ approval: "none",
34
+ }));
35
+ // A flow transition writes inside the session or the flow's own document — the
36
+ // target the run already named — and reads no sensitive source of its own.
37
+ const verdict = authorizeEffects(declarations, {
38
+ sensitiveSources: false,
39
+ scopeExpanded: false,
40
+ });
41
+ const held = new Set(granted);
42
+ const covered = [
43
+ ...verdict.selfAuthorized,
44
+ ...verdict.needsPreflight.filter((effect) => held.has(effect)),
45
+ ];
46
+ return {
47
+ planned,
48
+ covered,
49
+ missing: verdict.needsPreflight.filter((effect) => !held.has(effect)),
50
+ };
51
+ }
52
+ /**
53
+ * The seal over the exact effects being approved.
54
+ *
55
+ * Same reason `approvalDigest` exists for artifacts: what gets approved has to be
56
+ * what gets exercised, not a wider set someone substituted afterwards. Classes
57
+ * are sorted so the seal describes the SET, not the order it was listed in.
58
+ */
59
+ export function effectApprovalDigest(transition, effects) {
60
+ return semanticDigest({ transition, effects: [...effects].sort() });
61
+ }
62
+ //# sourceMappingURL=authorization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../../src/domain/flow/authorization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAClF,OAAO,EAGL,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAqB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAU9D;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAsB,EACtB,OAA+B;IAE/B,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,MAAM,YAAY,GAAwB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjE,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,YAAY;QAC3B,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC,CAAC;IACJ,+EAA+E;IAC/E,2EAA2E;IAC3E,MAAM,OAAO,GAAG,gBAAgB,CAAC,YAAY,EAAE;QAC7C,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,KAAK;KACrB,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG;QACd,GAAG,OAAO,CAAC,cAAc;QACzB,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KAC/D,CAAC;IACF,OAAO;QACL,OAAO;QACP,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KACtE,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB,EAAE,OAA+B;IACtF,OAAO,cAAc,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,421 @@
1
+ /**
2
+ * The boundary, described so that nobody has to guess what to do next.
3
+ *
4
+ * This is NOT a third protocol family. Outcome, `next_action`, the effect ledger
5
+ * and degradations are the capability receipt's vocabulary, reused by name and by
6
+ * type; a semantic boundary carries the existing `SemanticRequest` whole, with
7
+ * its contract, its limits, its allowed destinations and its own `input_digest`.
8
+ * What is genuinely new here is one field — `state_digest`, the seal of the
9
+ * BOUNDARY (the run state plus the transition it stands on). There is exactly one
10
+ * such seal per boundary and an answer quotes it back verbatim; a semantic
11
+ * boundary also carries it inside its request's own `input_digest`, because the
12
+ * protocol demands it there. One seal, carried where each contract needs it —
13
+ * two would mean two staleness questions and a caller guessing which to answer.
14
+ *
15
+ * `buildFlowDirective` refuses the combinations that would let a run lie: a
16
+ * boundary with no next action, a finalization with work still pending, allowed
17
+ * effects nobody authorized, a block with no cause, a semantic boundary that
18
+ * asks for nothing, a human boundary with nothing to choose between. Same
19
+ * discipline as `buildReceipt`, for the same reason: the shape is the only thing
20
+ * that cannot be forgotten.
21
+ *
22
+ * Directive and business-level rejections travel with `ok: true` plus their
23
+ * outcome; `ok: false` is reserved for invocation failures — exactly how
24
+ * `capability` splits them, because with `ok: false` the host never calls
25
+ * `renderHuman` and a recalculated boundary would be invisible to the person.
26
+ */
27
+ import { trancheOfFlow, } from "./authority.js";
28
+ export const FLOW_DIRECTIVE_VERSION = 1;
29
+ /**
30
+ * The reasons a deterministic advance stops. They are the spec's own list, and
31
+ * collapsing any two would erase the difference between "I need a judgment", "I
32
+ * need a preference", "I need an approval", "I am stuck" and "there is nothing
33
+ * left".
34
+ *
35
+ * There used to be a seventh — `legacy`, "this step is not mine yet" — and it was
36
+ * the only one whose next action sent the reader to a document instead of back to
37
+ * the engine. It is gone with the last row that needed it: every boundary now
38
+ * stands on a step this CLI owns, and a transition that somehow does not is
39
+ * `blocked` with its reason, never handed back to prose.
40
+ *
41
+ * `execution` is the one that stops on a step the CLI DOES own AND cannot apply:
42
+ * the rule is decided and the effect is not the engine's to materialize, so the
43
+ * run holds until the sealed invocation comes back with a verifiable result.
44
+ * Merging it into `human` would turn "run this and show me the output" into
45
+ * "approve this", and an approval is precisely what does not prove anything ran.
46
+ */
47
+ export const FLOW_BOUNDARY_KINDS = [
48
+ "semantic",
49
+ "human",
50
+ "authorization",
51
+ "execution",
52
+ "blocked",
53
+ "final",
54
+ ];
55
+ /**
56
+ * The flow control's two labels — canonical, verbatim, on every host.
57
+ *
58
+ * They live in the domain because three layers need the same two strings and
59
+ * none of them may spell them differently: the engine appends them to a
60
+ * boundary, the answer parser lets either through without demanding whatever the
61
+ * boundary was asking for, and `submit` tells them apart to give each its own
62
+ * outcome. Pausing keeps the boundary and the work; stopping keeps the state and
63
+ * ends the run here. Neither resolves the question that was asked.
64
+ */
65
+ export const PAUSE_LABEL = "Compactar";
66
+ export const STOP_LABEL = "Cerrar";
67
+ /** Whether a chosen label is the flow control rather than an answer. */
68
+ export function isFlowControl(label) {
69
+ return label === PAUSE_LABEL || label === STOP_LABEL;
70
+ }
71
+ /**
72
+ * What the run did with a step it passed: applied it, or skipped it because its
73
+ * condition did not hold.
74
+ *
75
+ * Two words rather than a boolean, and a closed vocabulary rather than prose: the
76
+ * trace is read by whoever resumes, and "the gate did not appear" has to be
77
+ * distinguishable from "the gate was answered" without anyone inferring it.
78
+ */
79
+ export const FLOW_STEP_OUTCOMES = ["applied", "skipped"];
80
+ /** Project a decision into the trace entry of having passed it. */
81
+ export function stepOf(decision) {
82
+ return {
83
+ transition: decision.id,
84
+ authority: decision.authority,
85
+ ownership: decision.ownership,
86
+ outcome: "applied",
87
+ reason: null,
88
+ };
89
+ }
90
+ /** Project a decision into the trace entry of having passed OVER it. */
91
+ export function skippedStepOf(decision, reason) {
92
+ return { ...stepOf(decision), outcome: "skipped", reason };
93
+ }
94
+ /**
95
+ * The directive's closed key set.
96
+ *
97
+ * Exported so a guard can assert, at runtime, that no field parallel to one the
98
+ * semantic protocol or the capability receipt already delivers ever appears
99
+ * here. A type would not survive compilation to be checked.
100
+ */
101
+ export const FLOW_DIRECTIVE_KEYS = [
102
+ "version",
103
+ "flow",
104
+ "tranche",
105
+ "session",
106
+ "boundary",
107
+ "outcome",
108
+ "state_digest",
109
+ "applied",
110
+ "pending",
111
+ "request",
112
+ "action",
113
+ "choices",
114
+ "effects",
115
+ "authorizations",
116
+ "degradations",
117
+ "error",
118
+ "next_action",
119
+ ];
120
+ /**
121
+ * Keys the directive shares with the receipt ON PURPOSE, each because it is the
122
+ * SAME concept with the SAME type — reuse, not a parallel field. The guard reads
123
+ * this list, so adding a name here is an explicit decision, never a slip.
124
+ */
125
+ export const FLOW_DIRECTIVE_REUSED_KEYS = {
126
+ outcome: "el vocabulario de outcome del receipt de capacidad, sin ampliarlo",
127
+ effects: "el EffectLedger del receipt en sus tres momentos",
128
+ degradations: "la Degradation del receipt, con su causa declarada",
129
+ error: "el CapabilityFailure del receipt: código, mensaje y acción",
130
+ next_action: "la próxima acción válida del receipt, que nunca queda vacía",
131
+ version: "el versionado del protocolo semántico, con el mismo nombre",
132
+ authorizations: "las clases de efecto autorizadas del request de capacidad, con el mismo nombre y tipo",
133
+ };
134
+ export function buildFlowDirective(input) {
135
+ const directive = {
136
+ version: FLOW_DIRECTIVE_VERSION,
137
+ flow: input.flow,
138
+ tranche: trancheOfFlow(input.flow),
139
+ session: input.session,
140
+ boundary: input.boundary,
141
+ outcome: input.outcome,
142
+ state_digest: input.stateDigest,
143
+ applied: [...input.applied],
144
+ pending: [...input.pending],
145
+ request: input.request ?? null,
146
+ action: input.action ?? null,
147
+ choices: [...(input.choices ?? [])],
148
+ effects: {
149
+ planned: [...(input.effects?.planned ?? [])],
150
+ approved: [...(input.effects?.approved ?? [])],
151
+ applied: [...(input.effects?.applied ?? [])],
152
+ },
153
+ authorizations: [...(input.authorizations ?? [])],
154
+ degradations: [...(input.degradations ?? [])],
155
+ error: input.error ?? null,
156
+ next_action: input.nextAction,
157
+ };
158
+ for (const check of DIRECTIVE_CHECKS) {
159
+ const failure = check(directive);
160
+ if (failure !== null)
161
+ return { ok: false, failure };
162
+ }
163
+ return { ok: true, directive };
164
+ }
165
+ function reject(code, message, action) {
166
+ return { code, message, action };
167
+ }
168
+ function checkNextAction(directive) {
169
+ if (directive.next_action.trim().length > 0)
170
+ return null;
171
+ return reject("FLOW_DIRECTIVE_NO_NEXT_ACTION", "la directiva no dice cómo continuar", "declará la próxima acción válida: una frontera sin continuación es un callejón");
172
+ }
173
+ function checkFinal(directive) {
174
+ const final = directive.boundary.kind === "final";
175
+ if (final && directive.pending.length > 0) {
176
+ return reject("FLOW_DIRECTIVE_FINAL_WITH_PENDING", `la directiva declara el recorrido terminado y deja ${directive.pending.length} transición(es) pendientes`, "devolvé la frontera que corresponde a la primera transición pendiente");
177
+ }
178
+ if (final && directive.boundary.transition !== null) {
179
+ return reject("FLOW_DIRECTIVE_FINAL_WITH_TRANSITION", "una finalización nombra una transición en la que se detuvo", "una finalización no se para en ninguna transición: dejá 'transition' en null");
180
+ }
181
+ if (!final && directive.boundary.transition === null) {
182
+ return reject("FLOW_DIRECTIVE_BOUNDARY_WITHOUT_TRANSITION", `una frontera '${directive.boundary.kind}' no dice en qué transición se detuvo`, "nombrá la transición de la frontera, o declarala 'final'");
183
+ }
184
+ return null;
185
+ }
186
+ function checkSemantic(directive) {
187
+ const semantic = directive.boundary.kind === "semantic";
188
+ if (semantic && directive.request === null) {
189
+ return reject("FLOW_DIRECTIVE_SEMANTIC_WITHOUT_REQUEST", "una frontera semántica no trae el pedido acotado que el agente tiene que contestar", "construí el SemanticRequest con su contrato, sus límites y su read_set visible");
190
+ }
191
+ if (!semantic && directive.request !== null) {
192
+ return reject("FLOW_DIRECTIVE_REQUEST_WITHOUT_SEMANTIC", `una frontera '${directive.boundary.kind}' trae un pedido semántico`, "el pedido acotado viaja solo en la frontera semántica");
193
+ }
194
+ return null;
195
+ }
196
+ /**
197
+ * An `execution` boundary is the action, and nothing else is.
198
+ *
199
+ * Without the action the boundary would say "something has to run" and name
200
+ * nothing — the confirmation-shaped failure this whole phase exists to refuse.
201
+ * Carrying it anywhere else would be worse: a second place where an invocation
202
+ * can be read, only one of which the seal covers.
203
+ *
204
+ * The evidence and the recovery are demanded HERE, at construction, for the same
205
+ * reason: an action nobody can check is a confirmation with extra steps, and one
206
+ * that does not say what to do when it comes back half-done leaves the run's
207
+ * only real failure mode without an answer.
208
+ */
209
+ function checkExecution(directive) {
210
+ const execution = directive.boundary.kind === "execution";
211
+ if (!execution) {
212
+ if (directive.action === null)
213
+ return null;
214
+ return reject("FLOW_DIRECTIVE_ACTION_WITHOUT_BOUNDARY", `una frontera '${directive.boundary.kind}' trae una acción delegada`, "la acción viaja solo en la frontera 'execution': es la única que espera un resultado de ejecución");
215
+ }
216
+ const action = directive.action;
217
+ if (action === null) {
218
+ return reject("FLOW_DIRECTIVE_EXECUTION_WITHOUT_ACTION", "una frontera de ejecución no dice qué hay que ejecutar", "declará la invocación exacta: programa, argumentos, target y la evidencia que tiene que volver");
219
+ }
220
+ if (action.invocation.program.trim().length === 0 ||
221
+ action.invocation.target.trim().length === 0) {
222
+ return reject("FLOW_DIRECTIVE_ACTION_INCOMPLETE", "la acción delegada no nombra su programa o su target", "una invocación sin programa o sin dónde corre no es reproducible: declaralos");
223
+ }
224
+ if (action.evidence.length === 0) {
225
+ return reject("FLOW_DIRECTIVE_ACTION_WITHOUT_EVIDENCE", "la acción delegada no exige ninguna evidencia de que ocurrió", "nombrá las validaciones cuya salida real tiene que volver: sin eso, el resultado es una confirmación");
226
+ }
227
+ if (action.recovery.trim().length === 0) {
228
+ return reject("FLOW_DIRECTIVE_ACTION_WITHOUT_RECOVERY", "la acción delegada no declara qué hacer si vuelve fallida o parcial", "declará la recuperación: un efecto parcial sin salida deja la corrida sin próxima acción");
229
+ }
230
+ return null;
231
+ }
232
+ function checkChoices(directive) {
233
+ const chooses = directive.boundary.kind === "human" || directive.boundary.kind === "authorization";
234
+ if (!chooses) {
235
+ if (directive.choices.length === 0)
236
+ return null;
237
+ return reject("FLOW_DIRECTIVE_CHOICES_WITHOUT_BOUNDARY", `una frontera '${directive.boundary.kind}' ofrece alternativas`, "las alternativas viajan solo en una frontera humana o de autorización");
238
+ }
239
+ if (directive.choices.length < 2) {
240
+ return reject("FLOW_DIRECTIVE_CHOICE_SET_TOO_SMALL", "una frontera que pide una preferencia ofrece menos de dos alternativas", "si no hay más de una continuación válida, no es una preferencia: aplicá la regla");
241
+ }
242
+ for (const choice of directive.choices) {
243
+ if (choice.label.trim().length === 0 || choice.consequence.trim().length === 0) {
244
+ return reject("FLOW_DIRECTIVE_CHOICE_WITHOUT_CONSEQUENCE", "una alternativa no declara su etiqueta o su consecuencia", "cada alternativa lleva etiqueta y consecuencia: elegir a ciegas no es elegir");
245
+ }
246
+ }
247
+ if (directive.choices.filter((choice) => choice.recommended).length !== 1) {
248
+ return reject("FLOW_DIRECTIVE_RECOMMENDATION_AMBIGUOUS", "el conjunto de alternativas no tiene exactamente una recomendación", "marcá una sola recomendación: la persona ratifica o corrige, nunca arranca en frío");
249
+ }
250
+ return null;
251
+ }
252
+ function checkBlocked(directive) {
253
+ if (directive.boundary.kind === "blocked" && directive.error === null) {
254
+ return reject("FLOW_DIRECTIVE_BLOCKED_WITHOUT_CAUSE", "una frontera de bloqueo no dice qué lo bloquea", "declará el error con código, mensaje y acción: un bloqueo sin causa es un callejón");
255
+ }
256
+ return null;
257
+ }
258
+ /**
259
+ * The authorization boundary has to be about something.
260
+ *
261
+ * If every planned effect is already covered, stopping to ask would be ceremony
262
+ * — and worse, it would train whoever reads the run to click through approvals
263
+ * that mean nothing.
264
+ */
265
+ function checkAuthorization(directive) {
266
+ if (directive.boundary.kind !== "authorization")
267
+ return null;
268
+ const granted = new Set(directive.authorizations);
269
+ if (directive.effects.planned.some((effect) => !granted.has(effect)))
270
+ return null;
271
+ return reject("FLOW_DIRECTIVE_AUTHORIZATION_WITHOUT_GAP", "una frontera de autorización no nombra ningún efecto que falte autorizar", "seguí avanzando: todo lo planeado ya está cubierto por la autorización vigente");
272
+ }
273
+ function checkEffectLedger(directive) {
274
+ const planned = new Set(directive.effects.planned);
275
+ const stages = [
276
+ [directive.effects.applied, "aplicado"],
277
+ [directive.effects.approved, "aprobado"],
278
+ ];
279
+ for (const [effects, verb] of stages) {
280
+ for (const effect of effects) {
281
+ if (planned.has(effect))
282
+ continue;
283
+ return reject("FLOW_DIRECTIVE_EFFECT_UNPLANNED", `declara un efecto '${effect}' ${verb} que no estaba planeado`, "declará cada efecto antes de ejercerlo");
284
+ }
285
+ }
286
+ const granted = new Set(directive.authorizations);
287
+ for (const effect of directive.effects.approved) {
288
+ if (granted.has(effect))
289
+ continue;
290
+ return reject("FLOW_DIRECTIVE_EFFECT_UNAUTHORIZED", `el efecto '${effect}' figura aprobado y ninguna autorización de la corrida lo cubre`, "pedí la autorización en una frontera humana antes de aprobar el efecto");
291
+ }
292
+ return null;
293
+ }
294
+ /**
295
+ * A boundary that asks anything stands on a transition this CLI owns.
296
+ *
297
+ * This is what the retired fallback leaves behind. While `legacy` existed the
298
+ * check was a correspondence — that kind and ownership told the same story — and
299
+ * an unowned transition had somewhere to go. Now it has none, so the rule is flat:
300
+ * emitting a bounded request, a set of alternatives or an invocation for a step
301
+ * the registry does not say the CLI owns would be the engine speaking for a
302
+ * document nobody read. Such a transition is `blocked`, and it says why.
303
+ *
304
+ * `blocked` is exempt because that IS the answer for one; `authorization` because
305
+ * it asks to approve an EFFECT rather than decide the step, and refusing that
306
+ * combination would bypass the effect gate.
307
+ */
308
+ function checkOwnership(directive) {
309
+ const boundary = directive.boundary;
310
+ if (boundary.transition === null)
311
+ return null;
312
+ if (boundary.kind === "blocked" || boundary.kind === "authorization")
313
+ return null;
314
+ if (boundary.ownership === "cli-owned")
315
+ return null;
316
+ return reject("FLOW_DIRECTIVE_OWNERSHIP_CONTRADICTED", `una frontera '${boundary.kind}' declara la transición como '${boundary.ownership}'`, "la propiedad sale del registro y ya no hay doctrina a la que devolver el paso: una transición sin propiedad del CLI se devuelve bloqueada");
317
+ }
318
+ function checkApplied(directive) {
319
+ const seen = new Set(directive.applied.map((step) => step.transition));
320
+ if (seen.size !== directive.applied.length) {
321
+ return reject("FLOW_DIRECTIVE_APPLIED_REPEATED", "la traza de esta invocación repite una transición", "una transición se aplica una sola vez por recorrido");
322
+ }
323
+ // A skipped step without its cause is worse than no trace at all: it says the
324
+ // run passed a decision nobody made and gives the reader nothing to check.
325
+ for (const step of directive.applied) {
326
+ const omitted = step.outcome === "skipped";
327
+ if (omitted === (step.reason ?? "").trim().length > 0)
328
+ continue;
329
+ return reject("FLOW_DIRECTIVE_STEP_REASON_MISMATCH", `el paso '${step.transition}' declara '${step.outcome}' y ${omitted ? "no dice por qué se omitió" : "trae un motivo de omisión"}`, "un paso omitido declara su motivo; uno aplicado no lleva ninguno");
330
+ }
331
+ return null;
332
+ }
333
+ const DIRECTIVE_CHECKS = [
334
+ checkNextAction,
335
+ checkFinal,
336
+ checkSemantic,
337
+ checkExecution,
338
+ checkChoices,
339
+ checkBlocked,
340
+ checkAuthorization,
341
+ checkOwnership,
342
+ checkEffectLedger,
343
+ checkApplied,
344
+ ];
345
+ /**
346
+ * The human projection — DERIVED, never authored beside the data.
347
+ *
348
+ * Every line reads a field of the directive it was given, the same rule
349
+ * `renderReceiptHuman` follows, so the prose cannot contradict the structured
350
+ * form: there is no second source for it to disagree with.
351
+ */
352
+ export function renderDirectiveHuman(directive) {
353
+ return [
354
+ `${directive.flow} (${directive.tranche}) — frontera ${directive.boundary.kind}: ${directive.outcome}`,
355
+ ...boundaryLines(directive),
356
+ ...askLines(directive),
357
+ ...effectLines(directive),
358
+ `continuidad: ${directive.state_digest}`,
359
+ `siguiente: ${directive.next_action}`,
360
+ ].join("\n");
361
+ }
362
+ function boundaryLines(directive) {
363
+ const lines = [];
364
+ if (directive.boundary.transition !== null) {
365
+ const owner = directive.boundary.ownership === null ? "" : ` · ${directive.boundary.ownership}`;
366
+ const title = directive.boundary.title === null ? "" : ` — ${directive.boundary.title}`;
367
+ lines.push(`detenido en ${directive.boundary.transition}${owner}${title}`);
368
+ }
369
+ if (directive.applied.length > 0) {
370
+ const trace = directive.applied
371
+ .map((step) => {
372
+ const base = `${step.transition} (${step.authority} · ${step.ownership}`;
373
+ // The omission carries its cause in the same breath: a step that reads
374
+ // "omitida" and nothing else sends the reader to the registry to find out
375
+ // why the run did not stop where the doctrine says it stops.
376
+ return step.outcome === "skipped"
377
+ ? `${base} · OMITIDA: ${step.reason ?? "sin motivo declarado"})`
378
+ : `${base})`;
379
+ })
380
+ .join(", ");
381
+ lines.push(`pasos de esta invocación: ${trace}`);
382
+ }
383
+ if (directive.pending.length > 0)
384
+ lines.push(`pendientes: ${directive.pending.length}`);
385
+ return lines;
386
+ }
387
+ function askLines(directive) {
388
+ const lines = [];
389
+ if (directive.request !== null) {
390
+ lines.push(`contrato de respuesta: ${directive.request.contract}`);
391
+ lines.push(`read_set visible: ${directive.request.read_set.join(", ") || "ninguno"}`);
392
+ }
393
+ if (directive.action !== null) {
394
+ const call = directive.action.invocation;
395
+ lines.push(`ejecutar: ${[call.program, ...call.args].join(" ")}`);
396
+ lines.push(`en: ${call.target}${call.input === null ? "" : " (con input por stdin)"}`);
397
+ lines.push(`evidencia exigida: ${directive.action.evidence.join(", ")}`);
398
+ lines.push(`si vuelve fallida o parcial: ${directive.action.recovery}`);
399
+ }
400
+ for (const choice of directive.choices) {
401
+ lines.push(`${choice.recommended ? "· (recomendada) " : "· "}${choice.label} — ${choice.consequence}`);
402
+ }
403
+ return lines;
404
+ }
405
+ function effectLines(directive) {
406
+ const lines = [];
407
+ if (directive.authorizations.length > 0) {
408
+ lines.push(`efectos permitidos: ${directive.authorizations.join(", ")}`);
409
+ }
410
+ if (directive.effects.applied.length > 0) {
411
+ lines.push(`efectos aplicados: ${directive.effects.applied.join(", ")}`);
412
+ }
413
+ for (const degradation of directive.degradations) {
414
+ lines.push(`degradación (${degradation.cause}): ${degradation.loss}`);
415
+ }
416
+ if (directive.error !== null) {
417
+ lines.push(`error ${directive.error.code}: ${directive.error.message}`);
418
+ }
419
+ return lines;
420
+ }
421
+ //# sourceMappingURL=directive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directive.js","sourceRoot":"","sources":["../../../src/domain/flow/directive.ts"],"names":[],"mappings":"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"}