@tacuchi/agent-workflow-cli 21.6.0 → 21.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/dist/application/artifacts-service.js +10 -0
  2. package/dist/application/artifacts-service.js.map +1 -1
  3. package/dist/application/capability/design-handler.js +532 -22
  4. package/dist/application/capability/design-handler.js.map +1 -1
  5. package/dist/application/capability/dispatcher.js +20 -6
  6. package/dist/application/capability/dispatcher.js.map +1 -1
  7. package/dist/application/capability/durable-effect.js +23 -157
  8. package/dist/application/capability/durable-effect.js.map +1 -1
  9. package/dist/application/checkpoint-service.js +49 -3
  10. package/dist/application/checkpoint-service.js.map +1 -1
  11. package/dist/application/checkpoint-write-service.js +5 -0
  12. package/dist/application/checkpoint-write-service.js.map +1 -1
  13. package/dist/application/design/design-content-gate-service.js +134 -0
  14. package/dist/application/design/design-content-gate-service.js.map +1 -0
  15. package/dist/application/design/design-gate-service.js +18 -0
  16. package/dist/application/design/design-gate-service.js.map +1 -1
  17. package/dist/application/design/design-index-service.js +2 -0
  18. package/dist/application/design/design-index-service.js.map +1 -1
  19. package/dist/application/design/design-publish-service.js +91 -19
  20. package/dist/application/design/design-publish-service.js.map +1 -1
  21. package/dist/application/design/design-resolver-service.js +18 -1
  22. package/dist/application/design/design-resolver-service.js.map +1 -1
  23. package/dist/application/design/design-simple-service.js +217 -0
  24. package/dist/application/design/design-simple-service.js.map +1 -0
  25. package/dist/application/flow/advance.js +96 -11
  26. package/dist/application/flow/advance.js.map +1 -1
  27. package/dist/application/flow/flow-service.js +12 -1
  28. package/dist/application/flow/flow-service.js.map +1 -1
  29. package/dist/application/flow/internal-actions.js +221 -0
  30. package/dist/application/flow/internal-actions.js.map +1 -0
  31. package/dist/application/flow/internal-drive.js +293 -0
  32. package/dist/application/flow/internal-drive.js.map +1 -0
  33. package/dist/application/flow/submit.js +242 -84
  34. package/dist/application/flow/submit.js.map +1 -1
  35. package/dist/application/local-proposal.js +171 -0
  36. package/dist/application/local-proposal.js.map +1 -0
  37. package/dist/application/parsers/decisiones.js +13 -0
  38. package/dist/application/parsers/decisiones.js.map +1 -1
  39. package/dist/application/paths-service.js +11 -1
  40. package/dist/application/paths-service.js.map +1 -1
  41. package/dist/application/resume-service.js +22 -26
  42. package/dist/application/resume-service.js.map +1 -1
  43. package/dist/application/semantic-operation/protocol.js +14 -4
  44. package/dist/application/semantic-operation/protocol.js.map +1 -1
  45. package/dist/application/session-artifacts.js +53 -0
  46. package/dist/application/session-artifacts.js.map +1 -1
  47. package/dist/application/session-close-service.js +5 -0
  48. package/dist/application/session-close-service.js.map +1 -1
  49. package/dist/application/session-narrative.js +294 -0
  50. package/dist/application/session-narrative.js.map +1 -0
  51. package/dist/application/status-service.js +1 -0
  52. package/dist/application/status-service.js.map +1 -1
  53. package/dist/application/workline-index-service.js +2 -0
  54. package/dist/application/workline-index-service.js.map +1 -1
  55. package/dist/cli/commands/capability.js +1 -1
  56. package/dist/cli/commands/capability.js.map +1 -1
  57. package/dist/cli/commands/designs.js +29 -5
  58. package/dist/cli/commands/designs.js.map +1 -1
  59. package/dist/cli/commands/flow.js +14 -0
  60. package/dist/cli/commands/flow.js.map +1 -1
  61. package/dist/cli/commands/session-artifacts.js +55 -2
  62. package/dist/cli/commands/session-artifacts.js.map +1 -1
  63. package/dist/cli/parser.js +1 -0
  64. package/dist/cli/parser.js.map +1 -1
  65. package/dist/domain/design/capability.js +35 -4
  66. package/dist/domain/design/capability.js.map +1 -1
  67. package/dist/domain/design/direct.js.map +1 -1
  68. package/dist/domain/design/expansion.js +137 -0
  69. package/dist/domain/design/expansion.js.map +1 -0
  70. package/dist/domain/design/manifest.js +61 -8
  71. package/dist/domain/design/manifest.js.map +1 -1
  72. package/dist/domain/design/reference.js +57 -10
  73. package/dist/domain/design/reference.js.map +1 -1
  74. package/dist/domain/design/simple.js +164 -0
  75. package/dist/domain/design/simple.js.map +1 -0
  76. package/dist/domain/flow/answer.js +90 -12
  77. package/dist/domain/flow/answer.js.map +1 -1
  78. package/dist/domain/flow/authority.js +266 -60
  79. package/dist/domain/flow/authority.js.map +1 -1
  80. package/dist/domain/flow/authorization.js +36 -15
  81. package/dist/domain/flow/authorization.js.map +1 -1
  82. package/dist/domain/flow/directive.js +10 -6
  83. package/dist/domain/flow/directive.js.map +1 -1
  84. package/dist/domain/flow/execution-result.js +72 -0
  85. package/dist/domain/flow/execution-result.js.map +1 -0
  86. package/dist/domain/flow/run-state.js +165 -13
  87. package/dist/domain/flow/run-state.js.map +1 -1
  88. package/dist/domain/host-verification.js +8 -8
  89. package/dist/domain/host-verification.js.map +1 -1
  90. package/dist/domain/proposal.js +91 -0
  91. package/dist/domain/proposal.js.map +1 -0
  92. package/dist/domain/session/narrative.js +126 -0
  93. package/dist/domain/session/narrative.js.map +1 -0
  94. package/package.json +1 -1
  95. package/skills/w/SKILL.md +1 -1
  96. package/skills/w/loops/CHASSIS.md +1 -1
  97. package/skills/w/loops/plan-new-loop/LOOP.md +5 -6
  98. package/skills/w/loops/plan-refine-loop/LOOP.md +7 -7
  99. package/skills/w/loops/spec-refine-loop/LOOP.md +6 -4
  100. package/skills/w/modules/DESIGN-REFERENCES.md +50 -56
  101. package/skills/w/roles/design/CONTRACT.md +73 -6
  102. package/skills/w/roles/design/ROLE.md +21 -3
  103. package/skills/w/schemas/design/design-manifest.v1.schema.json +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/cli/commands/flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAA0B,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAC7F,OAAO,EAAyB,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAErF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAGzE;;;;;;;;;;;;;GAaG;AAEH,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAU,CAAC;AAE7C,MAAM,CAAC,MAAM,WAAW,GAA8B;IACpD,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,8GAA8G,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,6KAA6K;IAEtT,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CACT,cAAc,EACd,uBAAuB,aAAa,0CAA0C,CAC/C,CAAC;QACpC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAE,KAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,OAAO,IAAI,CACT,cAAc,EACd,gBAAgB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,mEAAmE,CACrE,CAAC;QACpC,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS,IAAI,CAAE,cAAoC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAChF,OAAO,IAAI,CACT,cAAc,EACd,uBAAuB,IAAI,qBAAqB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5C,CAAC;QACpC,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG;YACd,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;QAEF,6EAA6E;QAC7E,0EAA0E;QAC1E,uDAAuD;QACvD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC7C,OAAO,OAAO,CACZ,MAAM,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE;gBAClC,GAAG,OAAO;gBACV,GAAG,EAAE,MAAM,iBAAiB,EAAE;gBAC9B,QAAQ,EAAE,QAAQ,IAAI,IAAI;aAC3B,CAAC,CACH,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CACZ,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE;YACnC,GAAG,OAAO;YACV,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;SACjC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,MAAoC;QAC9C,+EAA+E;QAC/E,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACzC,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IAClD,CAAC;CACF,CAAC;AAEF,SAAS,OAAO,CAAC,MAA4C;IAC3D,IAAI,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACxE,IAAI,SAAS,IAAI,MAAM;QACrB,OAAO,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAiC,CAAC;IAC/E,OAAO,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/cli/commands/flow.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { runArtifactsCommand } from "../../application/artifacts-service.js";
1
+ import { runArtifactsCommand, } from "../../application/artifacts-service.js";
2
2
  import { readSessionArtifacts } from "../../application/release-data/artifacts.js";
3
3
  import { readContextId } from "../context-id.js";
4
4
  import { fail, failSessionResolution } from "../render.js";
@@ -14,7 +14,7 @@ const DUMP_KINDS = new Set([
14
14
  export const sessionArtifactsCommand = {
15
15
  name: "session-artifacts",
16
16
  describe: "Consolidated view of a session's artifacts. Default: counts + presence flags. " +
17
- "Usage: aw session-artifacts --code <NNN> [--verbose] " +
17
+ "Usage: aw session-artifacts --code <NNN> [--verbose] [--detail] [--no-narrative] " +
18
18
  "[--dump [objetivo,decisiones,conclusiones,tasks,checkpoint,backlog,scripts]] — " +
19
19
  "--dump devuelve {path, content, size} por artefacto (sin CSV: todos).",
20
20
  async execute(args, ctx) {
@@ -46,6 +46,8 @@ export const sessionArtifactsCommand = {
46
46
  input.code = code;
47
47
  if (args.flags.has("--verbose"))
48
48
  input.verbose = true;
49
+ if (args.flags.has("--no-narrative"))
50
+ input.noNarrative = true;
49
51
  const contextId = readContextId(ctx.env);
50
52
  if (contextId !== undefined)
51
53
  input.contextId = contextId;
@@ -54,5 +56,56 @@ export const sessionArtifactsCommand = {
54
56
  return failSessionResolution(data.sessionError);
55
57
  return { ok: true, data, exitCode: 0 };
56
58
  },
59
+ /**
60
+ * The human view is the RECORRIDO; the counts are the detail underneath it.
61
+ *
62
+ * A person asking about a session wants what it set out to do, what happened and
63
+ * what is next — not five presence booleans. Those stay, at the bottom and in
64
+ * the JSON, because they answer a real question too: which artifacts exist. What
65
+ * changed is which of the two comes first.
66
+ */
67
+ renderHuman(result, context) {
68
+ const data = result.data;
69
+ if (data === undefined)
70
+ return "";
71
+ const narrative = data.narrative;
72
+ if (narrative === undefined)
73
+ return `${JSON.stringify(data, null, 2)}\n`;
74
+ // Jargon waits to be asked for: ids, digests and transition names are real
75
+ // and stay reachable with `--detail`, but a normal reading is the sentence.
76
+ const detail = context.detail === true;
77
+ const lines = [`${narrative.session} · ${narrative.phase}`];
78
+ if (narrative.objective !== null)
79
+ lines.push(`Objetivo: ${narrative.objective.text}`);
80
+ if (narrative.next !== null)
81
+ lines.push(`Siguiente: ${narrative.next.text}`);
82
+ block(lines, "Qué pasó", narrative.sequence, detail);
83
+ block(lines, "Tareas", narrative.tasks, detail);
84
+ block(lines, "Decisiones", narrative.decisions, detail);
85
+ block(lines, "Resultados", narrative.results, detail);
86
+ block(lines, "Evidencia", narrative.evidence, detail);
87
+ block(lines, "Pendiente", narrative.pending, detail);
88
+ if (narrative.links.length > 0) {
89
+ lines.push("", `Detalle: ${narrative.links.map((link) => link.label).join(" · ")}`);
90
+ }
91
+ return `${lines.join("\n")}\n`;
92
+ },
57
93
  };
94
+ /** One section, with each fact's state and the artifact it came from. */
95
+ function block(lines, title, facts, detail) {
96
+ if (facts.length === 0)
97
+ return;
98
+ lines.push("", `${title}:`);
99
+ for (const fact of facts) {
100
+ if (!detail) {
101
+ lines.push(` · ${fact.text} [${fact.state} · ${fact.source.artifact}]`);
102
+ continue;
103
+ }
104
+ const where = fact.source.locator === null
105
+ ? fact.source.artifact
106
+ : `${fact.source.artifact} › ${fact.source.locator}`;
107
+ const technical = fact.detail === null ? "" : ` · ${fact.detail}`;
108
+ lines.push(` · ${fact.text} [${fact.state} · ${where}${technical}]`);
109
+ }
110
+ }
58
111
  //# sourceMappingURL=session-artifacts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-artifacts.js","sourceRoot":"","sources":["../../../src/cli/commands/session-artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-artifacts.js","sourceRoot":"","sources":["../../../src/cli/commands/session-artifacts.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,7 @@ const BOOLEAN_FLAGS = new Set([
43
43
  "all",
44
44
  "verbose",
45
45
  "dry-run",
46
+ "deep",
46
47
  "force",
47
48
  "strict",
48
49
  "init",
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAgB,EAAE,IAAY;IACtD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,4EAA4E;AAC5E,4EAA4E;AAC5E,oCAAoC;AACpC,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,mDAAmD;AACnD,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IACrD,QAAQ;IACR,QAAQ;IACR,gBAAgB;IAChB,WAAW;IACX,2EAA2E;IAC3E,MAAM;IACN,SAAS;IACT,8EAA8E;IAC9E,kFAAkF;IAClF,QAAQ;IACR,YAAY;IACZ,4EAA4E;IAC5E,4EAA4E;IAC5E,OAAO;CACR,CAAC,CAAC;AAEH,6EAA6E;AAC7E,iFAAiF;AACjF,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,4EAA4E;AAC5E,+BAA+B;AAC/B,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC;IACjD,KAAK;IACL,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,OAAO;IACP,KAAK;IACL,SAAS;IACT,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,SAAS;IACT,UAAU;IACV,QAAQ;IACR,WAAW;IACX,aAAa;IACb,YAAY;IACZ,mBAAmB;IACnB,gBAAgB;IAChB,uBAAuB;IACvB,WAAW;IACX,2EAA2E;IAC3E,gEAAgE;IAChE,OAAO;IACP,6EAA6E;IAC7E,8EAA8E;IAC9E,mEAAmE;IACnE,MAAM;IACN,QAAQ;IACR,cAAc;IACd,cAAc;IACd,eAAe;IACf,aAAa;IACb,kBAAkB;IAClB,aAAa;IACb,YAAY;IACZ,WAAW;IACX,SAAS;IACT,gBAAgB;CACjB,CAAC,CAAC;AAEH,wEAAwE;AACxE,yEAAyE;AACzE,6EAA6E;AAC7E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAA2B;IACzD,CAAC,eAAe,EAAE,YAAY,CAAC;IAC/B,CAAC,kBAAkB,EAAE,eAAe,CAAC;IACrC,CAAC,UAAU,EAAE,QAAQ,CAAC;CACvB,CAAC,CAAC;AAaH,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,MAAM,KAAK,GAAe;QACxB,IAAI;QACJ,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,MAAM,EAAE,IAAI,GAAG,EAAE;QACjB,WAAW,EAAE,IAAI,GAAG,EAAE;QACtB,IAAI,EAAE,EAAE;KACT,CAAC;IAEF,OAAO,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACjC,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAiB,EAAE,GAAW,EAAE,KAAa;IAC7D,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;YAC9B,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,YAAY,CAAC,KAAiB;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACjB,OAAO;IACT,CAAC;IAED,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,OAAO;IAC5C,IAAI,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,OAAO;IAChD,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,OAAO;IAE5C,4EAA4E;IAC5E,4EAA4E;IAC5E,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACjB,OAAO;IACT,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAiB,EAAE,KAAa;IACzD,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,mBAAmB,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC1B,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IACjB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAiB,EAAE,KAAa;IAC7D,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACvE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IACjB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAiB,EAAE,KAAa;IACzD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACzD,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACzC,IACE,IAAI,KAAK,SAAS;QAClB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACrB,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;QAC5B,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EACxB,CAAC;QACD,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IACjB,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAgB,EAAE,IAAY;IACtD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,4EAA4E;AAC5E,4EAA4E;AAC5E,oCAAoC;AACpC,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,mDAAmD;AACnD,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IACrD,QAAQ;IACR,QAAQ;IACR,gBAAgB;IAChB,WAAW;IACX,2EAA2E;IAC3E,MAAM;IACN,SAAS;IACT,8EAA8E;IAC9E,kFAAkF;IAClF,QAAQ;IACR,YAAY;IACZ,4EAA4E;IAC5E,4EAA4E;IAC5E,OAAO;CACR,CAAC,CAAC;AAEH,6EAA6E;AAC7E,iFAAiF;AACjF,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,4EAA4E;AAC5E,+BAA+B;AAC/B,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC;IACjD,KAAK;IACL,SAAS;IACT,SAAS;IACT,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,OAAO;IACP,KAAK;IACL,SAAS;IACT,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,SAAS;IACT,UAAU;IACV,QAAQ;IACR,WAAW;IACX,aAAa;IACb,YAAY;IACZ,mBAAmB;IACnB,gBAAgB;IAChB,uBAAuB;IACvB,WAAW;IACX,2EAA2E;IAC3E,gEAAgE;IAChE,OAAO;IACP,6EAA6E;IAC7E,8EAA8E;IAC9E,mEAAmE;IACnE,MAAM;IACN,QAAQ;IACR,cAAc;IACd,cAAc;IACd,eAAe;IACf,aAAa;IACb,kBAAkB;IAClB,aAAa;IACb,YAAY;IACZ,WAAW;IACX,SAAS;IACT,gBAAgB;CACjB,CAAC,CAAC;AAEH,wEAAwE;AACxE,yEAAyE;AACzE,6EAA6E;AAC7E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAA2B;IACzD,CAAC,eAAe,EAAE,YAAY,CAAC;IAC/B,CAAC,kBAAkB,EAAE,eAAe,CAAC;IACrC,CAAC,UAAU,EAAE,QAAQ,CAAC;CACvB,CAAC,CAAC;AAaH,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,MAAM,KAAK,GAAe;QACxB,IAAI;QACJ,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,MAAM,EAAE,IAAI,GAAG,EAAE;QACjB,WAAW,EAAE,IAAI,GAAG,EAAE;QACtB,IAAI,EAAE,EAAE;KACT,CAAC;IAEF,OAAO,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACjC,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAiB,EAAE,GAAW,EAAE,KAAa;IAC7D,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;YAC9B,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,YAAY,CAAC,KAAiB;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACjB,OAAO;IACT,CAAC;IAED,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,OAAO;IAC5C,IAAI,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,OAAO;IAChD,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,OAAO;IAE5C,4EAA4E;IAC5E,4EAA4E;IAC5E,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACjB,OAAO;IACT,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAiB,EAAE,KAAa;IACzD,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,mBAAmB,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC1B,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IACjB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAiB,EAAE,KAAa;IAC7D,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACvE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IACjB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAiB,EAAE,KAAa;IACzD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACzD,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACzC,IACE,IAAI,KAAK,SAAS;QAClB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACrB,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;QAC5B,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EACxB,CAAC;QACD,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IACjB,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -75,7 +75,7 @@ export const CANONICAL_SCHEMAS = {
75
75
  export const DESIGN_DESCRIPTOR = {
76
76
  contract_version: CAPABILITY_CONTRACT_VERSION,
77
77
  name: DESIGN_CAPABILITY,
78
- purpose: "producir, actualizar, juzgar, proyectar y sellar un UI Design Package v1 sobre un contrato único",
78
+ purpose: "producir, actualizar, juzgar, proyectar y sellar un diseño sobre un contrato único: un DESIGN.md legible por defecto, el UI Design Package v1 cuando una señal observable lo pide",
79
79
  exposure: ["direct", "compose"],
80
80
  default_operation: null,
81
81
  operations: [
@@ -95,7 +95,14 @@ export const DESIGN_DESCRIPTOR = {
95
95
  inputs: [
96
96
  { name: "title", kind: "text", required: true, sensitivity: "public", schema: null },
97
97
  { name: "sources", kind: "reference", required: true, sensitivity: "public", schema: null },
98
- { name: "target", kind: "text", required: true, sensitivity: "public", schema: null },
98
+ // NOT required, and the `workspace: "optional"` note below is why: inside
99
+ // a workspace the destination IS `docs/designs/`, and on the simple route
100
+ // the CLI derives the exact folder from the title. Demanding it anyway
101
+ // made the documented default unreachable through the contract that
102
+ // documents it, and asked the caller to administer a path the CLI knows.
103
+ // `resolveOutputRoot` is the real gate: outside a workspace, no root
104
+ // declared still means nothing written.
105
+ { name: "target", kind: "text", required: false, sensitivity: "public", schema: null },
99
106
  {
100
107
  name: "profile",
101
108
  kind: "selection",
@@ -106,7 +113,8 @@ export const DESIGN_DESCRIPTOR = {
106
113
  { name: "context", kind: "text", required: false, sensitivity: "public", schema: null },
107
114
  // The maturity the caller ASKS FOR. Declared as an input because the
108
115
  // answer "you got `outline`, not `handoff`" only means something
109
- // against something that was requested.
116
+ // against something that was requested. It belongs to the expanded route:
117
+ // a simple design has no ladder, and asking for one there answers null.
110
118
  {
111
119
  name: "maturity",
112
120
  kind: "selection",
@@ -114,6 +122,16 @@ export const DESIGN_DESCRIPTOR = {
114
122
  sensitivity: "public",
115
123
  schema: null,
116
124
  },
125
+ // The SEMANTIC half of the expansion vocabulary. Optional because simple
126
+ // is the default: an invocation that declares nothing gets one readable
127
+ // document, which is the whole point of the route.
128
+ {
129
+ name: "expansion",
130
+ kind: "selection",
131
+ required: false,
132
+ sensitivity: "public",
133
+ schema: null,
134
+ },
117
135
  ],
118
136
  output: {
119
137
  kind: "value_and_reference",
@@ -139,7 +157,13 @@ export const DESIGN_DESCRIPTOR = {
139
157
  interaction: "needs_input",
140
158
  inputs: [
141
159
  { name: "package", kind: "reference", required: true, sensitivity: "public", schema: null },
142
- { name: "base", kind: "reference", required: true, sensitivity: "public", schema: null },
160
+ // Required by the ROUTE, not by the envelope. On the expanded route the
161
+ // compare-and-swap base is the caller's claim and the handler refuses an
162
+ // update without it. On the simple route the CLI re-reads the manifest
163
+ // and seals its digest itself — a stronger check than a declared string,
164
+ // and one the caller cannot get wrong — so demanding it here would only
165
+ // ask somebody to administer a revision the route exists to derive.
166
+ { name: "base", kind: "reference", required: false, sensitivity: "public", schema: null },
143
167
  {
144
168
  name: "sources",
145
169
  kind: "reference",
@@ -155,6 +179,13 @@ export const DESIGN_DESCRIPTOR = {
155
179
  sensitivity: "public",
156
180
  schema: null,
157
181
  },
182
+ {
183
+ name: "expansion",
184
+ kind: "selection",
185
+ required: false,
186
+ sensitivity: "public",
187
+ schema: null,
188
+ },
158
189
  ],
159
190
  output: {
160
191
  kind: "value_and_reference",
@@ -1 +1 @@
1
- {"version":3,"file":"capability.js","sourceRoot":"","sources":["../../../src/domain/design/capability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability.js","sourceRoot":"","sources":["../../../src/domain/design/capability.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"direct.js","sourceRoot":"","sources":["../../../src/domain/design/direct.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"direct.js","sourceRoot":"","sources":["../../../src/domain/design/direct.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Why a design would stop being one document — the closed list, and who may say
3
+ * each one.
4
+ *
5
+ * The default route is a single readable `DESIGN.md`. The package — manifest,
6
+ * catalog, screens, flows, maturity ladder, governance — is the EXCEPTION, and an
7
+ * exception nobody can name a cause for is just the old default wearing a new
8
+ * word. So the causes are enumerated here, once, and every extra stage or
9
+ * artifact points back at the one that produced it.
10
+ *
11
+ * The frontier is the same one the flow registry draws between an `agent` row and
12
+ * a `condition.threshold`: recognizing a signal is judgment, counting them is a
13
+ * rule. Three of the five are semantic — only somebody who read the material can
14
+ * say whether two outcomes are independent, whether a decision is functionally
15
+ * blocked, or whether one document has stopped being clear. Two are STRUCTURAL:
16
+ * they are facts the CLI already holds about the invocation, so asking anyone to
17
+ * declare them would be asking for a claim that can disagree with the evidence.
18
+ *
19
+ * A signal outside this vocabulary never expands anything.
20
+ */
21
+ /**
22
+ * The five causes, and nothing else.
23
+ *
24
+ * `as const` plus the lookup below is what makes it closed in practice and not
25
+ * only in prose: an id that is not here has no entry to read, so it cannot carry
26
+ * a meaning into a receipt.
27
+ */
28
+ export const DESIGN_EXPANSION_SIGNALS = [
29
+ {
30
+ id: "design.independent-outcomes",
31
+ origin: "semantic",
32
+ means: "el trabajo produce dos o más resultados que valen por separado",
33
+ },
34
+ {
35
+ id: "design.functional-blocking",
36
+ origin: "semantic",
37
+ means: "una decisión funcional sin cerrar bloquea el diseño y hay que resolverla aparte",
38
+ },
39
+ {
40
+ id: "design.clarity-lost",
41
+ origin: "semantic",
42
+ means: "un solo documento dejaría de entenderse: el material ya no cabe legible",
43
+ },
44
+ {
45
+ id: "design.governance-or-system-reuse",
46
+ origin: "structural",
47
+ means: "el trabajo continúa un package que ya lleva decisiones de gobierno o varias revisiones publicadas",
48
+ },
49
+ {
50
+ id: "design.special-source-or-effect",
51
+ origin: "structural",
52
+ means: "hay una fuente sensible, una transmisión externa o una fuente declarada que no llegó a usarse",
53
+ },
54
+ ];
55
+ const BY_ID = new Map(DESIGN_EXPANSION_SIGNALS.map((s) => [s.id, s]));
56
+ /** The signal an id names, or null when it is outside the vocabulary. */
57
+ export function expansionSignal(id) {
58
+ return BY_ID.get(id) ?? null;
59
+ }
60
+ /** The ids the AGENT may declare — the structural ones are never declared. */
61
+ export const SEMANTIC_EXPANSION_SIGNALS = DESIGN_EXPANSION_SIGNALS.filter((s) => s.origin === "semantic").map((s) => s.id);
62
+ /**
63
+ * How many distinct signals expand the route.
64
+ *
65
+ * One. Each of the five is on its own sufficient — the spec enumerates them as
66
+ * alternatives, not as evidence to accumulate — and a threshold of two would mean
67
+ * a design with a genuinely blocking functional decision stayed simple because
68
+ * nothing else was wrong with it.
69
+ */
70
+ export const EXPANSION_THRESHOLD = 1;
71
+ /**
72
+ * The structural signals these facts really support.
73
+ *
74
+ * Derived and never declared: the two members it can emit are the two the CLI can
75
+ * be held to, which is why an agent that "declares" one of them is refused rather
76
+ * than believed.
77
+ */
78
+ export function deriveStructuralSignals(facts) {
79
+ const fired = [];
80
+ if (facts.governanceRecords > 0 || facts.publishedRevisions > 1) {
81
+ fired.push("design.governance-or-system-reuse");
82
+ }
83
+ if (facts.sensitiveSources ||
84
+ facts.externalTransmission ||
85
+ facts.sources.some((s) => s.disposition !== "used")) {
86
+ fired.push("design.special-source-or-effect");
87
+ }
88
+ return fired;
89
+ }
90
+ /**
91
+ * The verdict: which route, which signals fired, and why.
92
+ *
93
+ * Rejections are REPORTED rather than thrown away. An agent that declared
94
+ * `design.special-source-or-effect` is trying to expand on a fact the CLI already
95
+ * checks, and one that declared an invented id is asking for a route nobody can
96
+ * explain later; both deserve to see the answer instead of watching the signal
97
+ * disappear.
98
+ */
99
+ export function judgeExpansion(declared, structural) {
100
+ const rejected = [];
101
+ const accepted = new Set(structural);
102
+ for (const id of declared) {
103
+ const signal = expansionSignal(id);
104
+ if (signal === null) {
105
+ rejected.push({
106
+ id,
107
+ why: `'${id}' no pertenece al vocabulario de expansión: ${DESIGN_EXPANSION_SIGNALS.map((s) => s.id).join(", ")}`,
108
+ });
109
+ continue;
110
+ }
111
+ if (signal.origin === "structural") {
112
+ rejected.push({
113
+ id,
114
+ why: `'${id}' lo deriva el CLI de la invocación: declararlo no lo hace verdadero`,
115
+ });
116
+ continue;
117
+ }
118
+ accepted.add(id);
119
+ }
120
+ // Vocabulary order, not arrival order: the cause a receipt shows has to read
121
+ // the same way for two runs that observed the same things.
122
+ const fired = DESIGN_EXPANSION_SIGNALS.filter((s) => accepted.has(s.id)).map((s) => ({
123
+ id: s.id,
124
+ origin: s.origin,
125
+ means: s.means,
126
+ }));
127
+ if (fired.length < EXPANSION_THRESHOLD) {
128
+ return { mode: "simple", fired, cause: null, rejected };
129
+ }
130
+ return {
131
+ mode: "package",
132
+ fired,
133
+ cause: fired.map((s) => `${s.id}: ${s.means}`).join(" · "),
134
+ rejected,
135
+ };
136
+ }
137
+ //# sourceMappingURL=expansion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expansion.js","sourceRoot":"","sources":["../../../src/domain/design/expansion.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { CANONICAL_SCHEMAS } from "./capability.js";
3
3
  import { ARTIFACT_PREFIX, GRAMMAR, isArtifactId, isAssetFilename, isDigest, isPackageId, isRevision, parseArtifactRef, parseBaselineRef, } from "./identity.js";
4
4
  import { baselinePath, checkGovernanceNaming, checkNaming } from "./naming.js";
5
5
  import { secretFailures } from "./secrets.js";
6
+ import { SIMPLE_DESIGN_FILE, archivedDesignPath } from "./simple.js";
6
7
  import { Reader, eachRecord, isNonEmptyString, isRecord, } from "./validation.js";
7
8
  /**
8
9
  * `design-manifest.json` — the package's MUTABLE index.
@@ -32,6 +33,7 @@ export const ALLOWED_KEYS = {
32
33
  "": [
33
34
  "schema",
34
35
  "id",
36
+ "mode",
35
37
  "title",
36
38
  "created",
37
39
  "derived_from",
@@ -87,6 +89,10 @@ export function validateDesignManifest(raw, artifact = DESIGN_MANIFEST_FILE) {
87
89
  if (!isPackageId(id)) {
88
90
  r.invalid(artifact, `'id' no es un identificador de package: ${JSON.stringify(id)}`, "usá la forma DES-NNN (tres dígitos o más), independiente del slug y del path");
89
91
  }
92
+ // Read BEFORE the baselines and the catalog: both of them are judged by rules
93
+ // this answer selects, and reading them first would apply the package rules to
94
+ // a simple design and then blame it for obeying its own contract.
95
+ const mode = readMode(r, raw, artifact);
90
96
  const title = r.read(raw, "title");
91
97
  if (!isNonEmptyString(title)) {
92
98
  r.invalid(artifact, "'title' es obligatorio y no puede estar vacío", "poné el nombre humano del package");
@@ -105,9 +111,11 @@ export function validateDesignManifest(raw, artifact = DESIGN_MANIFEST_FILE) {
105
111
  // divergencia: es la línea de baselines, que ya tiene su propio mecanismo.
106
112
  r.fail("DESIGN_RELATION_BROKEN", artifact, `'derived_from' apunta a ${String(derivedFrom)}, que es este mismo package`, "una divergencia deriva de OTRO package; dentro del propio, la línea se encadena con 'parent_baseline'");
107
113
  }
108
- const baselines = readBaselines(r, raw, artifact, id);
114
+ const baselines = readBaselines(r, raw, artifact, id, mode);
109
115
  const currentBaseline = readCurrentBaseline(r, raw, artifact, baselines);
110
116
  const catalog = readCatalog(r, raw, artifact);
117
+ if (mode === "simple")
118
+ checkSimpleShape(r, artifact, catalog);
111
119
  const currentness = readCurrentness(r, raw, artifact, id, catalog);
112
120
  checkSupersedesIntegrity(r, artifact, id, catalog);
113
121
  const governance = readGovernance(r, raw, artifact, baselines, id);
@@ -119,6 +127,7 @@ export function validateDesignManifest(raw, artifact = DESIGN_MANIFEST_FILE) {
119
127
  return done(r, {
120
128
  schema: DESIGN_MANIFEST_SCHEMA_ID,
121
129
  id: id,
130
+ mode,
122
131
  title: title,
123
132
  created: created,
124
133
  derived_from: derivedFrom,
@@ -130,17 +139,64 @@ export function validateDesignManifest(raw, artifact = DESIGN_MANIFEST_FILE) {
130
139
  relations,
131
140
  });
132
141
  }
133
- function readBaselines(r, raw, artifact, packageId) {
142
+ /**
143
+ * The route this package runs on. Absent is `package`, and the default is what
144
+ * makes the field additive: nothing already published has to be rewritten.
145
+ */
146
+ function readMode(r, raw, artifact) {
147
+ const value = r.read(raw, "mode");
148
+ if (value === undefined || value === null)
149
+ return "package";
150
+ if (value === "simple" || value === "package")
151
+ return value;
152
+ r.invalid(artifact, `'mode' no es un modo conocido: ${JSON.stringify(value)}`, "usá 'simple' para un diseño de un solo DESIGN.md, 'package' para el dossier completo, o quitá la clave");
153
+ return "package";
154
+ }
155
+ /**
156
+ * What `simple` costs: nothing in the catalog.
157
+ *
158
+ * A simple design has one authored document and derives the rest. The moment it
159
+ * catalogs a screen or a flow it has artifacts, revisions and a maturity ladder —
160
+ * it IS a package, and calling it simple would make every consumer read it under
161
+ * rules its content does not obey.
162
+ */
163
+ function checkSimpleShape(r, artifact, catalog) {
164
+ const populated = Object.entries(catalog)
165
+ .filter(([, list]) => Array.isArray(list) && list.length > 0)
166
+ .map(([key]) => key);
167
+ if (populated.length === 0)
168
+ return;
169
+ r.fail("DESIGN_FIELD_INVALID", artifact, `un package en modo 'simple' no cataloga artefactos y este declara: ${populated.join(", ")}`, "vacialo, o declará 'mode': 'package' — un diseño con catálogo ya es el recorrido ampliado");
170
+ }
171
+ function readBaselines(r, raw, artifact, packageId, mode) {
134
172
  const out = [];
135
173
  const seen = new Set();
136
174
  for (const entry of eachRecord(r, raw, "baselines", artifact, " (vacío si el package todavía no publicó)")) {
137
- const parsed = readBaselineEntry(r, entry, artifact, seen, packageId);
175
+ const parsed = readBaselineEntry(r, entry, artifact, seen, packageId, mode);
138
176
  if (parsed !== null)
139
177
  out.push(parsed);
140
178
  }
141
179
  return out;
142
180
  }
143
- function readBaselineEntry(r, entry, artifact, seen, packageId) {
181
+ /**
182
+ * Where a revision's bytes have to live, and it depends on the route.
183
+ *
184
+ * In `package` mode the baseline is a sealing document of its own and its name
185
+ * carries the revision. In `simple` mode there IS no such document: the revision
186
+ * seals the bytes of the design itself, so the path is the design — `DESIGN.md`
187
+ * while it is current, the archived copy once a newer one supersedes it.
188
+ */
189
+ function checkBaselinePathName(r, artifact, label, path, packageId, revision, mode) {
190
+ const expected = mode === "simple"
191
+ ? [SIMPLE_DESIGN_FILE, archivedDesignPath(revision)]
192
+ : [baselinePath(packageId, revision)];
193
+ if (expected.includes(path))
194
+ return;
195
+ r.invalid(artifact, `${label}: '${path}' no es el nombre de esa revisión`, mode === "simple"
196
+ ? `apuntá a '${SIMPLE_DESIGN_FILE}' si es la vigente, o a '${archivedDesignPath(revision)}' si ya la superó otra`
197
+ : `renombralo a '${expected[0]}': la revisión va en el path para que publicar la siguiente no pise esta`);
198
+ }
199
+ function readBaselineEntry(r, entry, artifact, seen, packageId, mode) {
144
200
  const revision = r.read(entry, "baselines[].revision");
145
201
  const path = r.read(entry, "baselines[].path");
146
202
  const digest = r.read(entry, "baselines[].digest");
@@ -157,10 +213,7 @@ function readBaselineEntry(r, entry, artifact, seen, packageId) {
157
213
  }
158
214
  seen.add(revision);
159
215
  if (checkPackagePath(r, artifact, `${label}.path`, path) && isPackageId(packageId)) {
160
- const expected = baselinePath(packageId, revision);
161
- if (path !== expected) {
162
- r.invalid(artifact, `${label}: '${String(path)}' no es el nombre de esa revisión`, `renombralo a '${expected}': la revisión va en el path para que publicar la siguiente no pise esta`);
163
- }
216
+ checkBaselinePathName(r, artifact, label, String(path), packageId, revision, mode);
164
217
  }
165
218
  if (!isDigest(digest)) {
166
219
  r.invalid(artifact, `${label}: 'digest' debe ser 'sha256:' + 64 hex`, "recalculá el digest del baseline");