@nac3/forge-cli 0.2.0-alpha.59z.123 → 0.2.0-alpha.59z.158

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 (154) hide show
  1. package/dist/agents/bridge.d.ts +69 -0
  2. package/dist/agents/bridge.d.ts.map +1 -0
  3. package/dist/agents/bridge.js +295 -0
  4. package/dist/agents/bridge.js.map +1 -0
  5. package/dist/agents/cli_real.d.ts +38 -0
  6. package/dist/agents/cli_real.d.ts.map +1 -0
  7. package/dist/agents/cli_real.js +46 -0
  8. package/dist/agents/cli_real.js.map +1 -0
  9. package/dist/agents/config_schema.d.ts +1 -1
  10. package/dist/agents/config_schema.d.ts.map +1 -1
  11. package/dist/agents/config_schema.js +16 -0
  12. package/dist/agents/config_schema.js.map +1 -1
  13. package/dist/agents/defaults.d.ts.map +1 -1
  14. package/dist/agents/defaults.js.map +1 -1
  15. package/dist/agents/delegate.d.ts +36 -0
  16. package/dist/agents/delegate.d.ts.map +1 -0
  17. package/dist/agents/delegate.js +68 -0
  18. package/dist/agents/delegate.js.map +1 -0
  19. package/dist/agents/iterative_step.d.ts +95 -0
  20. package/dist/agents/iterative_step.d.ts.map +1 -0
  21. package/dist/agents/iterative_step.js +249 -0
  22. package/dist/agents/iterative_step.js.map +1 -0
  23. package/dist/agents/llm_step.d.ts +50 -0
  24. package/dist/agents/llm_step.d.ts.map +1 -0
  25. package/dist/agents/llm_step.js +28 -0
  26. package/dist/agents/llm_step.js.map +1 -0
  27. package/dist/agents/real_step_factory.d.ts +95 -0
  28. package/dist/agents/real_step_factory.d.ts.map +1 -0
  29. package/dist/agents/real_step_factory.js +51 -0
  30. package/dist/agents/real_step_factory.js.map +1 -0
  31. package/dist/agents/runner.d.ts +14 -0
  32. package/dist/agents/runner.d.ts.map +1 -1
  33. package/dist/agents/runner.js +10 -1
  34. package/dist/agents/runner.js.map +1 -1
  35. package/dist/agents/runtime.d.ts +115 -0
  36. package/dist/agents/runtime.d.ts.map +1 -0
  37. package/dist/agents/runtime.js +429 -0
  38. package/dist/agents/runtime.js.map +1 -0
  39. package/dist/agents/system_prompt.d.ts +36 -0
  40. package/dist/agents/system_prompt.d.ts.map +1 -0
  41. package/dist/agents/system_prompt.js +101 -0
  42. package/dist/agents/system_prompt.js.map +1 -0
  43. package/dist/agents/types.d.ts +12 -1
  44. package/dist/agents/types.d.ts.map +1 -1
  45. package/dist/agents/types.js.map +1 -1
  46. package/dist/bin/yf.d.ts.map +1 -1
  47. package/dist/bin/yf.js +9 -0
  48. package/dist/bin/yf.js.map +1 -1
  49. package/dist/chat/claude_cli.d.ts +42 -0
  50. package/dist/chat/claude_cli.d.ts.map +1 -0
  51. package/dist/chat/claude_cli.js +299 -0
  52. package/dist/chat/claude_cli.js.map +1 -0
  53. package/dist/chat/graph_snapshot.d.ts +38 -0
  54. package/dist/chat/graph_snapshot.d.ts.map +1 -0
  55. package/dist/chat/graph_snapshot.js +159 -0
  56. package/dist/chat/graph_snapshot.js.map +1 -0
  57. package/dist/chat/ingest_session.d.ts +24 -4
  58. package/dist/chat/ingest_session.d.ts.map +1 -1
  59. package/dist/chat/ingest_session.js +139 -4
  60. package/dist/chat/ingest_session.js.map +1 -1
  61. package/dist/chat/panel.d.ts.map +1 -1
  62. package/dist/chat/panel.js +1358 -0
  63. package/dist/chat/panel.js.map +1 -1
  64. package/dist/chat/server.d.ts +21 -0
  65. package/dist/chat/server.d.ts.map +1 -1
  66. package/dist/chat/server.js +904 -4
  67. package/dist/chat/server.js.map +1 -1
  68. package/dist/chat/tools/nac3_invoke.d.ts +5 -0
  69. package/dist/chat/tools/nac3_invoke.d.ts.map +1 -1
  70. package/dist/chat/tools/nac3_invoke.js +1 -0
  71. package/dist/chat/tools/nac3_invoke.js.map +1 -1
  72. package/dist/chat/tools.d.ts.map +1 -1
  73. package/dist/chat/tools.js +12 -0
  74. package/dist/chat/tools.js.map +1 -1
  75. package/dist/commands/agent.d.ts +12 -1
  76. package/dist/commands/agent.d.ts.map +1 -1
  77. package/dist/commands/agent.js +92 -1
  78. package/dist/commands/agent.js.map +1 -1
  79. package/dist/commands/chat.d.ts +10 -0
  80. package/dist/commands/chat.d.ts.map +1 -1
  81. package/dist/commands/chat.js +12 -1
  82. package/dist/commands/chat.js.map +1 -1
  83. package/dist/commands/director.d.ts +37 -0
  84. package/dist/commands/director.d.ts.map +1 -0
  85. package/dist/commands/director.js +290 -0
  86. package/dist/commands/director.js.map +1 -0
  87. package/dist/core/pilot_setup.d.ts +14 -1
  88. package/dist/core/pilot_setup.d.ts.map +1 -1
  89. package/dist/core/pilot_setup.js +62 -1
  90. package/dist/core/pilot_setup.js.map +1 -1
  91. package/dist/design/yujin_design_resolver.d.ts +77 -0
  92. package/dist/design/yujin_design_resolver.d.ts.map +1 -0
  93. package/dist/design/yujin_design_resolver.js +113 -0
  94. package/dist/design/yujin_design_resolver.js.map +1 -0
  95. package/dist/docs/doctrine/default-design-system.md +120 -0
  96. package/dist/docs/doctrine/language-sovereignty.md +143 -0
  97. package/dist/docs/doctrine/testing-policy.md +211 -0
  98. package/dist/nac3/approval_queue.d.ts +8 -0
  99. package/dist/nac3/approval_queue.d.ts.map +1 -1
  100. package/dist/nac3/approval_queue.js.map +1 -1
  101. package/dist/nac3/internal_manifest.d.ts.map +1 -1
  102. package/dist/nac3/internal_manifest.js +178 -0
  103. package/dist/nac3/internal_manifest.js.map +1 -1
  104. package/dist/office/excel.d.ts +22 -0
  105. package/dist/office/excel.d.ts.map +1 -1
  106. package/dist/office/excel.js +82 -0
  107. package/dist/office/excel.js.map +1 -1
  108. package/dist/qa/brain_matrix/fixtures/scenario_a11y_focus_after_open.json +22 -0
  109. package/dist/qa/brain_matrix/fixtures/scenario_a11y_label_unlabeled_button.json +26 -0
  110. package/dist/qa/brain_matrix/fixtures/scenario_agent_director_consults_workflow_before_dispatch.json +42 -0
  111. package/dist/qa/brain_matrix/fixtures/scenario_analyst_extracts_then_returns.json +28 -0
  112. package/dist/qa/brain_matrix/fixtures/scenario_coder_consults_nac_spec_before_writing.json +28 -0
  113. package/dist/qa/brain_matrix/fixtures/scenario_default_design_system_override_shadcn.json +45 -0
  114. package/dist/qa/brain_matrix/fixtures/scenario_default_design_system_use_card_template.json +44 -0
  115. package/dist/qa/brain_matrix/fixtures/scenario_director_delegates_to_analyst.json +26 -0
  116. package/dist/qa/brain_matrix/fixtures/scenario_director_no_self_delegation.json +20 -0
  117. package/dist/qa/brain_matrix/fixtures/scenario_director_terminal_done_marker.json +19 -0
  118. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_default_design_system.json +50 -0
  119. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_language_sovereignty.json +53 -0
  120. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_testing_policy.json +55 -0
  121. package/dist/qa/brain_matrix/fixtures/scenario_language_sovereignty_not_conducive_spa_python.json +61 -0
  122. package/dist/qa/brain_matrix/fixtures/scenario_language_sovereignty_user_picks_python.json +48 -0
  123. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_destructive_pauses_for_r8.json +42 -0
  124. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_happy_path_writes_pizarron.json +76 -0
  125. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_network_timeout_graceful.json +41 -0
  126. package/dist/qa/brain_matrix/fixtures/scenario_no_hardcoded_color_use_token.json +47 -0
  127. package/dist/qa/brain_matrix/fixtures/scenario_office_excel_update_cell_picks_right_verb.json +26 -0
  128. package/dist/qa/brain_matrix/fixtures/scenario_scaffolder_destructive_pauses_for_approval.json +23 -0
  129. package/dist/qa/brain_matrix/fixtures/scenario_sumie_icon_pick_from_catalog.json +56 -0
  130. package/dist/qa/brain_matrix/fixtures/scenario_tester_uses_shell_exec_only.json +27 -0
  131. package/dist/version.d.ts +1 -1
  132. package/dist/version.js +1 -1
  133. package/dist/workflow/graph.d.ts +59 -0
  134. package/dist/workflow/graph.d.ts.map +1 -0
  135. package/dist/workflow/graph.js +137 -0
  136. package/dist/workflow/graph.js.map +1 -0
  137. package/dist/workflow/state.d.ts +34 -0
  138. package/dist/workflow/state.d.ts.map +1 -1
  139. package/dist/workflow/state.js.map +1 -1
  140. package/docs/doctrine/default-design-system.md +120 -0
  141. package/docs/doctrine/language-sovereignty.md +143 -0
  142. package/docs/doctrine/testing-policy.md +211 -0
  143. package/package.json +102 -100
  144. package/src/i18n/catalogs/ar.json +20 -1
  145. package/src/i18n/catalogs/de.json +20 -1
  146. package/src/i18n/catalogs/en.json +20 -21
  147. package/src/i18n/catalogs/es.json +20 -21
  148. package/src/i18n/catalogs/fr.json +20 -1
  149. package/src/i18n/catalogs/hi.json +20 -1
  150. package/src/i18n/catalogs/it.json +20 -1
  151. package/src/i18n/catalogs/ja.json +20 -1
  152. package/src/i18n/catalogs/pt.json +20 -1
  153. package/src/i18n/catalogs/zh.json +20 -1
  154. package/templates/sumi-context.template.md +57 -0
@@ -0,0 +1,76 @@
1
+ {
2
+ "id": "mcp_invoke_happy_path_writes_pizarron",
3
+ "description": "F101 slice 6 -- successful 2-hop happy path that goes one step further: after invoke-tool returns a structured result the brain renders the result in the pizarron via yujin.pizarron.create-tab. Validates that MCP-fetched data uses the same display path as native data (no special-case render).",
4
+ "setup": {
5
+ "expose_mcp_verbs": true,
6
+ "extra_system_prompt": "ACTIVE MCP BRIDGES (already discovered in session):\n- bridge crm: enabled, auth_loaded=true, tools include get_deal.\n\nThe canonical pattern: show-tools -> invoke-tool -> if result is structured + non-trivial, render in pizarron (NOT inline in chat). Inline text reserved for short summaries or confirmations.\n\nVerbs:\n- yujin.mcp.show-tools args:{bridge_id<required>}\n- yujin.mcp.invoke-tool args:{bridge_id<required>, tool_slug<required>, args?}\n- yujin.pizarron.create-tab args:{title<required>, content<required>}"
7
+ },
8
+ "turns": [
9
+ { "kind": "user_says", "text": "Traeme el deal 1234 del CRM y mostralo." },
10
+ {
11
+ "kind": "tool_result",
12
+ "tool_name": "yujin.mcp.show-tools",
13
+ "is_error": false,
14
+ "result": {
15
+ "ok": true,
16
+ "bridge_id": "crm",
17
+ "endpoint": "http://localhost:3001",
18
+ "tools": [
19
+ { "id": "get_deal", "label": "Get deal by id", "description": "Fetches one deal" }
20
+ ],
21
+ "count": 1
22
+ }
23
+ },
24
+ {
25
+ "kind": "tool_result",
26
+ "tool_name": "yujin.mcp.invoke-tool",
27
+ "is_error": false,
28
+ "result": {
29
+ "ok": true,
30
+ "bridge_id": "crm",
31
+ "tool_slug": "get_deal",
32
+ "response": {
33
+ "id": 1234, "name": "ACME Onboarding", "amount": 50000,
34
+ "stage": "proposal", "owner": "ana@acme.com",
35
+ "created_at": "2026-05-12", "next_action": "follow up week of 06-10"
36
+ }
37
+ }
38
+ },
39
+ {
40
+ "kind": "tool_result",
41
+ "tool_name": "yujin.pizarron.create-tab",
42
+ "is_error": false,
43
+ "result": { "ok": true, "tab_id": "tab-mcp-deal-1234" }
44
+ }
45
+ ],
46
+ "invariants": [
47
+ { "name": "uses_show_tools", "kind": "verb_invoked", "params": { "verb_id": "yujin.mcp.show-tools" } },
48
+ { "name": "uses_invoke_tool", "kind": "verb_invoked", "params": { "verb_id": "yujin.mcp.invoke-tool" } },
49
+ { "name": "renders_pizarron", "kind": "verb_invoked", "params": { "verb_id": "yujin.pizarron.create-tab" } },
50
+ { "name": "no_invent_verbs", "kind": "no_invent_verb", "params": {} },
51
+ { "name": "tools_in_order", "kind": "verb_invoked_in_order", "params": { "sequence": ["yujin.mcp.show-tools", "yujin.mcp.invoke-tool", "yujin.pizarron.create-tab"] } }
52
+ ],
53
+ "fake_responses": [
54
+ {
55
+ "text": "Verifico el catalogo de tools del crm.",
56
+ "tool_calls": [
57
+ { "name": "nac3_invoke", "args": { "verb_id": "yujin.mcp.show-tools", "args": { "bridge_id": "crm" } } }
58
+ ]
59
+ },
60
+ {
61
+ "text": "Pido el deal.",
62
+ "tool_calls": [
63
+ { "name": "nac3_invoke", "args": { "verb_id": "yujin.mcp.invoke-tool", "args": { "bridge_id": "crm", "tool_slug": "get_deal", "args": { "id": 1234 } } } }
64
+ ]
65
+ },
66
+ {
67
+ "text": "Lo renderizo en el pizarron.",
68
+ "tool_calls": [
69
+ { "name": "nac3_invoke", "args": { "verb_id": "yujin.pizarron.create-tab", "args": { "title": "Deal 1234 ACME Onboarding", "content": "amount $50000 / proposal / owner ana@acme.com / next: follow up week of 06-10" } } }
70
+ ]
71
+ },
72
+ {
73
+ "text": "Listo, el deal esta en la pestana del pizarron."
74
+ }
75
+ ]
76
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "id": "mcp_invoke_network_timeout_graceful",
3
+ "description": "F101 slice 6 -- invoke-tool returns ok=false bridge_invoke_failed with reason=network_timeout. The brain explains the failure to the user in plain language + does NOT retry blindly + does NOT invent a fallback verb. It surfaces the bridge_id + tool_slug so the user can decide (retry later, switch bridge, etc).",
4
+ "setup": {
5
+ "expose_mcp_verbs": true,
6
+ "extra_system_prompt": "ACTIVE MCP BRIDGES (already discovered in session):\n- bridge crm: enabled, auth_loaded=true, tools include list_contacts.\n\nWhen a remote MCP invoke fails with network_timeout / connection_refused / bridge_unreachable, surface the failure cleanly. NEVER retry more than once -- the user should decide whether to wait, switch bridge, or try a native verb."
7
+ },
8
+ "turns": [
9
+ { "kind": "user_says", "text": "Trae los contactos del CRM" },
10
+ {
11
+ "kind": "tool_result",
12
+ "tool_name": "yujin.mcp.invoke-tool",
13
+ "is_error": true,
14
+ "result": {
15
+ "ok": false,
16
+ "error_code": "bridge_invoke_failed",
17
+ "reason": "network_timeout",
18
+ "bridge_id": "crm",
19
+ "tool_slug": "list_contacts",
20
+ "ms_elapsed": 30000
21
+ }
22
+ }
23
+ ],
24
+ "invariants": [
25
+ { "name": "uses_invoke_tool", "kind": "verb_invoked", "params": { "verb_id": "yujin.mcp.invoke-tool" } },
26
+ { "name": "no_invent_verbs", "kind": "no_invent_verb", "params": {} },
27
+ { "name": "surfaces_bridge_id", "kind": "text_contains_any", "params": { "substrs": ["crm", "bridge", "timeout", "network", "red", "conexion", "conexión", "respondio", "respondió", "no responde"] } },
28
+ { "name": "no_blind_retry", "kind": "max_tool_calls", "params": { "n": 1 } }
29
+ ],
30
+ "fake_responses": [
31
+ {
32
+ "text": "Invoco list_contacts.",
33
+ "tool_calls": [
34
+ { "name": "nac3_invoke", "args": { "verb_id": "yujin.mcp.invoke-tool", "args": { "bridge_id": "crm", "tool_slug": "list_contacts", "args": {} } } }
35
+ ]
36
+ },
37
+ {
38
+ "text": "El bridge crm no respondio en 30s (network_timeout). No reintento solo. ¿Querés que espere y reintente, o trato con otro bridge?"
39
+ }
40
+ ]
41
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "id": "no_hardcoded_color_use_token",
3
+ "description": "When asked for a color in CSS, brain refuses hardcoded hex + recommends tokens. Anti-reinvent guard.",
4
+ "setup": {},
5
+ "turns": [
6
+ {
7
+ "kind": "user_says",
8
+ "text": "Hace el boton de comprar de color #3A4DBC."
9
+ }
10
+ ],
11
+ "invariants": [
12
+ {
13
+ "name": "no_invent_verbs",
14
+ "kind": "no_invent_verb",
15
+ "params": {}
16
+ },
17
+ {
18
+ "name": "recommends_token",
19
+ "kind": "text_contains_any",
20
+ "params": {
21
+ "substrs": [
22
+ "--color",
23
+ "var(--",
24
+ "token",
25
+ "yujin.design.tokens"
26
+ ]
27
+ }
28
+ }
29
+ ],
30
+ "fake_responses": [
31
+ {
32
+ "text": "Mejor uso un token. Consulto los tokens disponibles.",
33
+ "tool_calls": [
34
+ {
35
+ "name": "nac3_invoke",
36
+ "args": {
37
+ "verb_id": "yujin.design.tokens",
38
+ "args": {}
39
+ }
40
+ }
41
+ ]
42
+ },
43
+ {
44
+ "text": "El indigo de marca es var(--color-accent) (= var(--color-indigo-600) = #2D3A8C). Lo uso en lugar de hardcodear #3A4DBC."
45
+ }
46
+ ]
47
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "id": "office_excel_update_cell_picks_right_verb",
3
+ "description": "F106 closure -- user asks to mutate ONE cell of an existing workbook. The brain picks office.excel.update-cell (preserves rest of file), NOT office.excel.write (which would rewrite the whole workbook from scratch + lose other sheets / formatting). Locks the cost-aware default for single-cell edits.",
4
+ "setup": {
5
+ "extra_system_prompt": "OFFICE VERBS active:\n- office.excel.update-cell [u s] args:{path<required>, sheet?, cell<required>, value?}\n- office.excel.write [u d] args:{path<required>, rows<required>, sheet?, overwrite?}\nWhen the user wants to change ONE cell, use update-cell -- it preserves every other cell + sheet. office.excel.write replaces the entire workbook + is the wrong tool for single-cell edits."
6
+ },
7
+ "turns": [
8
+ { "kind": "user_says", "text": "En el archivo data/q3.xlsx cambia la celda B5 a 500" }
9
+ ],
10
+ "invariants": [
11
+ { "name": "uses_update_cell", "kind": "verb_invoked", "params": { "verb_id": "office.excel.update-cell" } },
12
+ { "name": "no_full_rewrite", "kind": "verb_not_invoked", "params": { "verb_id": "office.excel.write" } },
13
+ { "name": "no_invent_verbs", "kind": "no_invent_verb", "params": {} }
14
+ ],
15
+ "fake_responses": [
16
+ {
17
+ "text": "Cambio solo esa celda con update-cell -- preservo el resto.",
18
+ "tool_calls": [
19
+ { "name": "nac3_invoke", "args": { "verb_id": "office.excel.update-cell", "args": { "path": "data/q3.xlsx", "cell": "B5", "value": 500 } } }
20
+ ]
21
+ },
22
+ {
23
+ "text": "Listo, B5 ahora vale 500."
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "id": "scaffolder_destructive_pauses_for_approval",
3
+ "description": "Director live execution -- Scaffolder asked to write a project file invokes yujin.fs.write-project-file which the panel intercepts as approval_required. The brain does NOT retry or invent a workaround; the response acknowledges the pending modal and stops. Validates R8 destructive-always-confirm + paused_for_approval status path.",
4
+ "setup": {
5
+ "extra_system_prompt": "SCAFFOLDER ROLE active. You write minimal scaffolding files. Verb yujin.fs.write-project-file is policy=destructive: every call triggers a user approval modal. After invoking, your turn ends -- you do NOT call it again until the modal resolves.\n\nVerbs:\n- yujin.fs.write-project-file [u d] args:{path<required>, body<required>}"
6
+ },
7
+ "turns": [
8
+ { "kind": "user_says", "text": "Aplica el slice X: crea src/foo.ts con export const foo = 1." }
9
+ ],
10
+ "invariants": [
11
+ { "name": "writes_file_once", "kind": "verb_invoked", "params": { "verb_id": "yujin.fs.write-project-file" } },
12
+ { "name": "no_invent_verbs", "kind": "no_invent_verb", "params": {} },
13
+ { "name": "acknowledges_modal", "kind": "text_contains_any", "params": { "substrs": ["modal", "aprobar", "approval", "espera", "espero", "pending", "pausa"] } }
14
+ ],
15
+ "fake_responses": [
16
+ {
17
+ "text": "Abro el modal R8. Espero la aprobacion.",
18
+ "tool_calls": [
19
+ { "name": "nac3_invoke", "args": { "verb_id": "yujin.fs.write-project-file", "args": { "path": "src/foo.ts", "body": "export const foo = 1;" } } }
20
+ ]
21
+ }
22
+ ]
23
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "id": "sumie_icon_pick_from_catalog",
3
+ "description": "User asks for an icon. Validates the brain pulls from the sumi-e catalog instead of generating arbitrary SVG or suggesting Material/FontAwesome.",
4
+ "setup": {},
5
+ "turns": [
6
+ {
7
+ "kind": "user_says",
8
+ "text": "Necesito un icono para el modulo de finanzas."
9
+ }
10
+ ],
11
+ "invariants": [
12
+ {
13
+ "name": "no_invent_verbs",
14
+ "kind": "no_invent_verb",
15
+ "params": {}
16
+ },
17
+ {
18
+ "name": "uses_sumie_catalog",
19
+ "kind": "verb_invoked",
20
+ "params": {
21
+ "verb_id": "yujin.design.list-sumie"
22
+ }
23
+ },
24
+ {
25
+ "name": "mentions_sumie",
26
+ "kind": "text_contains_any",
27
+ "params": {
28
+ "substrs": [
29
+ "sumi-e",
30
+ "sumie",
31
+ "yujin.design.get-icon",
32
+ "catalog"
33
+ ]
34
+ }
35
+ }
36
+ ],
37
+ "fake_responses": [
38
+ {
39
+ "text": "Filtro el catalogo sumi-e por dominio finance.",
40
+ "tool_calls": [
41
+ {
42
+ "name": "nac3_invoke",
43
+ "args": {
44
+ "verb_id": "yujin.design.list-sumie",
45
+ "args": {
46
+ "tag": "finance"
47
+ }
48
+ }
49
+ }
50
+ ]
51
+ },
52
+ {
53
+ "text": "Del catalogo sumi-e con tag finance: coin-stack, scale-balance, contract-seal, ledger-open. Cual preferis?"
54
+ }
55
+ ]
56
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "id": "tester_uses_shell_exec_only",
3
+ "description": "Director live execution -- Tester sub-agent has allowed_verbs limited to yujin.shell.exec. When asked to run the test suite, it picks shell.exec (not a fs write, not a delegate). Validates per-role allowed_verbs constraint in the iterative_step.",
4
+ "setup": {
5
+ "extra_system_prompt": "TESTER ROLE active. Your single allowed verb is yujin.shell.exec. Run the test suite via the project's test command (e.g. pnpm vitest run). Do NOT call delegate, fs.write, pizarron, reader. If the test command fails, surface the failure text -- do NOT try to patch the code yourself (that is Scaffolder's job).\n\nVerbs:\n- yujin.shell.exec [u d] args:{cmd<required>}"
6
+ },
7
+ "turns": [
8
+ { "kind": "user_says", "text": "Corre los tests E2E del slice X y dime si pasan." }
9
+ ],
10
+ "invariants": [
11
+ { "name": "uses_shell_exec", "kind": "verb_invoked", "params": { "verb_id": "yujin.shell.exec" } },
12
+ { "name": "no_delegate", "kind": "verb_not_invoked", "params": { "verb_id": "yujin.agent.delegate" } },
13
+ { "name": "no_fs_write", "kind": "verb_not_invoked", "params": { "verb_id": "yujin.fs.write-project-file" } },
14
+ { "name": "no_invent_verbs", "kind": "no_invent_verb", "params": {} }
15
+ ],
16
+ "fake_responses": [
17
+ {
18
+ "text": "Corro la suite.",
19
+ "tool_calls": [
20
+ { "name": "nac3_invoke", "args": { "verb_id": "yujin.shell.exec", "args": { "cmd": "pnpm vitest run tests/slice-X.test.ts" } } }
21
+ ]
22
+ },
23
+ {
24
+ "text": "Suite verde: 12/12 pasaron."
25
+ }
26
+ ]
27
+ }
package/dist/version.d.ts CHANGED
@@ -4,5 +4,5 @@
4
4
  * into the npm metadata) so we don't end up with two versions
5
5
  * drifting.
6
6
  */
7
- export declare const VERSION = "0.2.0-alpha.59z.123";
7
+ export declare const VERSION = "0.2.0-alpha.59z.158";
8
8
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -4,5 +4,5 @@
4
4
  * into the npm metadata) so we don't end up with two versions
5
5
  * drifting.
6
6
  */
7
- export const VERSION = '0.2.0-alpha.59z.123';
7
+ export const VERSION = '0.2.0-alpha.59z.158';
8
8
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,59 @@
1
+ /**
2
+ * src/workflow/graph.ts -- Director sprint slice 7.
3
+ *
4
+ * Pure transformer that takes the current `WorkflowState` and
5
+ * returns a {nodes, edges} shape the panel SVG (and any future
6
+ * consumer: CLI ASCII rendering, audit log, BPMN export) can
7
+ * render without re-implementing the 18-step model.
8
+ *
9
+ * The transformer mirrors the 6-phase taxonomy from
10
+ * `phase_inference.ts`:
11
+ *
12
+ * phase_i -- triage / intent / audits
13
+ * phase_ii -- clarification (functional + 4 NFR + blocks plan)
14
+ * phase_iii -- specs (RFP + Arch + Design + approvals)
15
+ * phase_iv -- bootstrap
16
+ * phase_v -- block implementation (per blocks_progress)
17
+ * phase_vi -- deploy + postlaunch
18
+ *
19
+ * Status derivation:
20
+ * - active phase = `inferActivePhase()`
21
+ * - phases before active = 'done'
22
+ * - active phase = 'active' UNLESS the project is fully closed,
23
+ * in which case phase_vi flips from 'active' to 'done'.
24
+ * - phases after active = 'pending'
25
+ *
26
+ * Step counts are granular per phase (4/6/6/1/N/2) so callers
27
+ * can render a progress chip. `step_done_count` never exceeds
28
+ * `step_count`. Phase V step count defaults to 1 when no blocks
29
+ * have been planned yet (placeholder slot for UI sizing).
30
+ *
31
+ * Labels are i18n keys (`workflow.phase.<phase>`) -- never raw
32
+ * text. The consumer resolves them at render time per locale.
33
+ *
34
+ * ASCII-only.
35
+ */
36
+ import type { WorkflowState } from './state.js';
37
+ import { type WorkflowPhase } from './phase_inference.js';
38
+ export type WorkflowGraphNodeStatus = 'pending' | 'active' | 'done';
39
+ export interface WorkflowGraphNode {
40
+ id: WorkflowPhase;
41
+ /** i18n catalog key -- `workflow.phase.i`..`workflow.phase.vi`. */
42
+ label_i18n_key: string;
43
+ status: WorkflowGraphNodeStatus;
44
+ /** Total atomic steps inside the phase (constant per phase, or
45
+ * derived for phase_v from blocks_progress.length). */
46
+ step_count: number;
47
+ /** How many of those steps have a recorded closure milestone. */
48
+ step_done_count: number;
49
+ }
50
+ export interface WorkflowGraphEdge {
51
+ from: WorkflowPhase;
52
+ to: WorkflowPhase;
53
+ }
54
+ export interface WorkflowGraph {
55
+ nodes: WorkflowGraphNode[];
56
+ edges: WorkflowGraphEdge[];
57
+ }
58
+ export declare function buildWorkflowGraph(state: WorkflowState | undefined | null): WorkflowGraph;
59
+ //# sourceMappingURL=graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/workflow/graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE5E,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEpE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAiB,aAAa,CAAC;IACjC,mEAAmE;IACnE,cAAc,EAAK,MAAM,CAAC;IAC1B,MAAM,EAAa,uBAAuB,CAAC;IAC3C;4DACwD;IACxD,UAAU,EAAS,MAAM,CAAC;IAC1B,iEAAiE;IACjE,eAAe,EAAI,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,EAAE,EAAI,aAAa,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B;AAeD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,aAAa,CAiCzF"}
@@ -0,0 +1,137 @@
1
+ import { inferActivePhase } from './phase_inference.js';
2
+ const PHASES = [
3
+ 'phase_i', 'phase_ii', 'phase_iii', 'phase_iv', 'phase_v', 'phase_vi',
4
+ ];
5
+ const PHASE_LABEL_KEYS = {
6
+ phase_i: 'workflow.phase.i',
7
+ phase_ii: 'workflow.phase.ii',
8
+ phase_iii: 'workflow.phase.iii',
9
+ phase_iv: 'workflow.phase.iv',
10
+ phase_v: 'workflow.phase.v',
11
+ phase_vi: 'workflow.phase.vi',
12
+ };
13
+ export function buildWorkflowGraph(state) {
14
+ const wf = state || {};
15
+ const active = inferActivePhase(wf);
16
+ const allDone = isFullyClosed(wf);
17
+ const nodes = PHASES.map((phase) => {
18
+ const idx = PHASES.indexOf(phase);
19
+ const activeIdx = PHASES.indexOf(active);
20
+ const counts = countSteps(phase, wf);
21
+ let status;
22
+ if (allDone) {
23
+ status = 'done';
24
+ }
25
+ else if (idx < activeIdx) {
26
+ status = 'done';
27
+ }
28
+ else if (idx === activeIdx) {
29
+ status = 'active';
30
+ }
31
+ else {
32
+ status = 'pending';
33
+ }
34
+ return {
35
+ id: phase,
36
+ label_i18n_key: PHASE_LABEL_KEYS[phase],
37
+ status,
38
+ step_count: counts.total,
39
+ step_done_count: counts.done,
40
+ };
41
+ });
42
+ const edges = [];
43
+ for (let i = 0; i < PHASES.length - 1; i++) {
44
+ edges.push({ from: PHASES[i], to: PHASES[i + 1] });
45
+ }
46
+ return { nodes, edges };
47
+ }
48
+ function countSteps(phase, wf) {
49
+ switch (phase) {
50
+ case 'phase_i': {
51
+ const total = 4;
52
+ let done = 0;
53
+ if (wf.tier)
54
+ done += 1;
55
+ if (wf.intent?.decided_at)
56
+ done += 1;
57
+ if (wf.legacy_audit?.ran_at)
58
+ done += 1;
59
+ if (wf.vault_inventory?.ran_at)
60
+ done += 1;
61
+ return { total, done };
62
+ }
63
+ case 'phase_ii': {
64
+ const total = 6;
65
+ const c = wf.clarification || {};
66
+ let done = 0;
67
+ const rounds = [
68
+ c.functional, c.nfr_quantitative, c.nfr_structural,
69
+ c.nfr_governance, c.nfr_operational,
70
+ ];
71
+ for (const r of rounds) {
72
+ if (r && r.done_at)
73
+ done += 1;
74
+ }
75
+ if (c.blocks?.done_at)
76
+ done += 1;
77
+ return { total, done };
78
+ }
79
+ case 'phase_iii': {
80
+ const total = 6;
81
+ const s = wf.specs || {};
82
+ const a = wf.approvals || {};
83
+ let done = 0;
84
+ if (s.rfp?.done_at)
85
+ done += 1;
86
+ if (s.arch?.done_at)
87
+ done += 1;
88
+ if (s.design?.done_at)
89
+ done += 1;
90
+ if (a.rfp?.approved_at)
91
+ done += 1;
92
+ if (a.arch?.approved_at)
93
+ done += 1;
94
+ if (a.design?.approved_at)
95
+ done += 1;
96
+ return { total, done };
97
+ }
98
+ case 'phase_iv': {
99
+ const total = 1;
100
+ const done = wf.bootstrap?.done_at ? 1 : 0;
101
+ return { total, done };
102
+ }
103
+ case 'phase_v': {
104
+ const blocks = wf.blocks_progress || [];
105
+ if (blocks.length === 0) {
106
+ /* Placeholder slot so the UI reserves a chip for the phase
107
+ * even before block planning materialises. */
108
+ return { total: 1, done: 0 };
109
+ }
110
+ const done = blocks.filter((b) => b.status === 'green').length;
111
+ return { total: blocks.length, done };
112
+ }
113
+ case 'phase_vi': {
114
+ const total = 2;
115
+ let done = 0;
116
+ if (wf.deploy?.done_at)
117
+ done += 1;
118
+ if (wf.postlaunch?.manual_at)
119
+ done += 1;
120
+ return { total, done };
121
+ }
122
+ }
123
+ }
124
+ function isFullyClosed(wf) {
125
+ /* Project is fully closed when phase_vi has its closure
126
+ * milestones (deploy.done_at + postlaunch.manual_at). Mirrors
127
+ * the inferActivePhase return-of-phase_vi terminal case. */
128
+ const deployed = !!wf.deploy?.done_at;
129
+ const postlaunchD = !!wf.postlaunch?.manual_at;
130
+ if (!deployed || !postlaunchD)
131
+ return false;
132
+ /* Also require everything upstream so a stray deploy on top of
133
+ * an unfinished phase_v does not falsely mark the project done. */
134
+ const upstreamActive = inferActivePhase(wf);
135
+ return upstreamActive === 'phase_vi';
136
+ }
137
+ //# sourceMappingURL=graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/workflow/graph.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,gBAAgB,EAAsB,MAAM,sBAAsB,CAAC;AA0B5E,MAAM,MAAM,GAAoB;IAC9B,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU;CACtE,CAAC;AAEF,MAAM,gBAAgB,GAAkC;IACtD,OAAO,EAAI,kBAAkB;IAC7B,QAAQ,EAAG,mBAAmB;IAC9B,SAAS,EAAE,oBAAoB;IAC/B,QAAQ,EAAG,mBAAmB;IAC9B,OAAO,EAAI,kBAAkB;IAC7B,QAAQ,EAAG,mBAAmB;CAC/B,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,KAAuC;IACxE,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAElC,MAAM,KAAK,GAAwB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACtD,MAAM,GAAG,GAAS,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,MAAM,GAAM,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,MAA+B,CAAC;QACpC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,GAAG,MAAM,CAAC;QAClB,CAAC;aAAM,IAAI,GAAG,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,GAAG,MAAM,CAAC;QAClB,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,GAAG,QAAQ,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QACD,OAAO;YACL,EAAE,EAAe,KAAK;YACtB,cAAc,EAAG,gBAAgB,CAAC,KAAK,CAAC;YACxC,MAAM;YACN,UAAU,EAAO,MAAM,CAAC,KAAK;YAC7B,eAAe,EAAE,MAAM,CAAC,IAAI;SAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAwB,EAAE,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,UAAU,CAAC,KAAoB,EAAE,EAAiB;IACzD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,EAAE,CAAC,IAAI;gBAAE,IAAI,IAAI,CAAC,CAAC;YACvB,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU;gBAAE,IAAI,IAAI,CAAC,CAAC;YACrC,IAAK,EAAE,CAAC,YAAgD,EAAE,MAAM;gBAAE,IAAI,IAAI,CAAC,CAAC;YAC5E,IAAK,EAAE,CAAC,eAAmD,EAAE,MAAM;gBAAE,IAAI,IAAI,CAAC,CAAC;YAC/E,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC;YACjC,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,MAAM,MAAM,GAA4C;gBACtD,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,cAAc;gBAClD,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,eAAe;aACpC,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO;oBAAE,IAAI,IAAI,CAAC,CAAC;YAChC,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO;gBAAE,IAAI,IAAI,CAAC,CAAC;YACjC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QACD,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC;YAC7B,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO;gBAAE,IAAI,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO;gBAAE,IAAI,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO;gBAAE,IAAI,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,CAAC,GAAG,EAAE,WAAW;gBAAE,IAAI,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW;gBAAE,IAAI,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW;gBAAE,IAAI,IAAI,CAAC,CAAC;YACrC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,EAAE,CAAC,eAAe,IAAI,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB;8DAC8C;gBAC9C,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/B,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAyB,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;YACxF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;QACxC,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAK,EAAE,CAAC,MAA2C,EAAE,OAAO;gBAAE,IAAI,IAAI,CAAC,CAAC;YACxE,IAAK,EAAE,CAAC,UAAiD,EAAE,SAAS;gBAAE,IAAI,IAAI,CAAC,CAAC;YAChF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,EAAiB;IACtC;;gEAE4D;IAC5D,MAAM,QAAQ,GAAM,CAAC,CAAE,EAAE,CAAC,MAA2C,EAAE,OAAO,CAAC;IAC/E,MAAM,WAAW,GAAG,CAAC,CAAE,EAAE,CAAC,UAAiD,EAAE,SAAS,CAAC;IACvF,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC5C;uEACmE;IACnE,MAAM,cAAc,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC5C,OAAO,cAAc,KAAK,UAAU,CAAC;AACvC,CAAC"}
@@ -59,6 +59,34 @@
59
59
  * ASCII-only.
60
60
  */
61
61
  export type WorkflowTier = 'simple' | 'medium' | 'full';
62
+ /** Director sprint slice 14 -- language sovereignty.
63
+ * Captures the language chosen per component slot. Slots are
64
+ * open-ended so a project can add (e.g.) "edge-worker" without
65
+ * a schema change. */
66
+ export interface LanguageChoice {
67
+ /** Lowercase token. Examples: "ts", "go", "python", "rust",
68
+ * "swift", "kotlin", "dart", "java", "c#", "php", "ruby",
69
+ * "elixir", "sql", "hcl", "wasm". */
70
+ lang: string;
71
+ decided_at: string;
72
+ /** Who made this decision. "user" = explicit choice by the
73
+ * user. "director_suggested" = default the Director
74
+ * proposed + the user did not override. */
75
+ decided_by: 'user' | 'director_suggested';
76
+ /** Optional free-text rationale (preserved for audit). */
77
+ reason?: string;
78
+ }
79
+ export interface LanguageChoicesState {
80
+ frontend?: LanguageChoice;
81
+ mobile?: LanguageChoice;
82
+ backend?: LanguageChoice;
83
+ data_pipeline?: LanguageChoice;
84
+ infra?: LanguageChoice;
85
+ db?: LanguageChoice;
86
+ ml?: LanguageChoice;
87
+ /** Forward-compat catch-all for adopter-specific slots. */
88
+ [other: string]: LanguageChoice | undefined;
89
+ }
62
90
  export interface IntentState {
63
91
  operation: 'migrate' | 'new' | 'modify' | null;
64
92
  target: 'desktop' | 'mobile' | 'responsive' | 'web-and-mobile' | null;
@@ -178,6 +206,12 @@ export interface WorkflowState {
178
206
  intent?: IntentState;
179
207
  legacy_audit?: LegacyAuditState;
180
208
  vault_inventory?: VaultInventoryState;
209
+ /** Director sprint phase II slice 14 -- language sovereignty.
210
+ * The user picks the language per slot; the Director suggests
211
+ * + persists choices here. Read/written via yujin.workflow.set
212
+ * /state. See docs/doctrine/language-sovereignty.md for the
213
+ * algorithm + suitability table. */
214
+ language_choices?: LanguageChoicesState;
181
215
  clarification?: ClarificationState;
182
216
  specs?: {
183
217
  rfp?: SpecDocState;
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/workflow/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/workflow/state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/workflow/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/workflow/state.ts"],"names":[],"mappings":"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"}