@tacuchi/agent-workflow-cli 21.17.0 → 22.0.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 (208) hide show
  1. package/README.md +4 -16
  2. package/dist/adapters/git-cli.js +66 -5
  3. package/dist/adapters/git-cli.js.map +1 -1
  4. package/dist/adapters/node-process.js +25 -5
  5. package/dist/adapters/node-process.js.map +1 -1
  6. package/dist/application/capability/design-handler.js +67 -21
  7. package/dist/application/capability/design-handler.js.map +1 -1
  8. package/dist/application/capability/dispatcher.js +1 -1
  9. package/dist/application/capability/dispatcher.js.map +1 -1
  10. package/dist/application/capability/durable-effect.js +1 -1
  11. package/dist/application/capability/durable-effect.js.map +1 -1
  12. package/dist/application/check-branch-service.js +1 -0
  13. package/dist/application/check-branch-service.js.map +1 -1
  14. package/dist/application/checkpoint-service.js +4 -3
  15. package/dist/application/checkpoint-service.js.map +1 -1
  16. package/dist/application/design/consumer-document.js +179 -0
  17. package/dist/application/design/consumer-document.js.map +1 -0
  18. package/dist/application/design/design-gate-service.js +18 -1
  19. package/dist/application/design/design-gate-service.js.map +1 -1
  20. package/dist/application/design/design-index-service.js +22 -3
  21. package/dist/application/design/design-index-service.js.map +1 -1
  22. package/dist/application/design/design-publish-service.js +27 -6
  23. package/dist/application/design/design-publish-service.js.map +1 -1
  24. package/dist/application/design/design-simple-service.js +34 -22
  25. package/dist/application/design/design-simple-service.js.map +1 -1
  26. package/dist/application/dev-only-services.js +19 -12
  27. package/dist/application/dev-only-services.js.map +1 -1
  28. package/dist/application/docs-canon-service.js +79 -5
  29. package/dist/application/docs-canon-service.js.map +1 -1
  30. package/dist/application/dsn-reader-service.js +12 -47
  31. package/dist/application/dsn-reader-service.js.map +1 -1
  32. package/dist/application/export-service.js +20 -11
  33. package/dist/application/export-service.js.map +1 -1
  34. package/dist/application/flow/flow-service.js +25 -0
  35. package/dist/application/flow/flow-service.js.map +1 -1
  36. package/dist/application/flow/internal-actions.js +5 -0
  37. package/dist/application/flow/internal-actions.js.map +1 -1
  38. package/dist/application/flow/submit.js +156 -22
  39. package/dist/application/flow/submit.js.map +1 -1
  40. package/dist/application/history-table.js +82 -44
  41. package/dist/application/history-table.js.map +1 -1
  42. package/dist/application/history-update-service.js +19 -9
  43. package/dist/application/history-update-service.js.map +1 -1
  44. package/dist/application/hook-git-commit-advisor.js +5 -4
  45. package/dist/application/hook-git-commit-advisor.js.map +1 -1
  46. package/dist/application/hook-sql-mutation-guard.js +1 -1
  47. package/dist/application/hook-sql-mutation-guard.js.map +1 -1
  48. package/dist/application/lifecycle-target.js +1 -0
  49. package/dist/application/lifecycle-target.js.map +1 -1
  50. package/dist/application/local-proposal.js +47 -23
  51. package/dist/application/local-proposal.js.map +1 -1
  52. package/dist/application/mcp-connections-service.js +37 -2
  53. package/dist/application/mcp-connections-service.js.map +1 -1
  54. package/dist/application/mcp-dbhub-launcher.js +22 -50
  55. package/dist/application/mcp-dbhub-launcher.js.map +1 -1
  56. package/dist/application/mcp-doctor-service.js +14 -23
  57. package/dist/application/mcp-doctor-service.js.map +1 -1
  58. package/dist/application/mcp-remove-service.js +3 -3
  59. package/dist/application/mcp-remove-service.js.map +1 -1
  60. package/dist/application/mcp-setup-service.js +4 -4
  61. package/dist/application/mcp-setup-service.js.map +1 -1
  62. package/dist/application/mcp-test-connection-service.js +9 -9
  63. package/dist/application/mcp-test-connection-service.js.map +1 -1
  64. package/dist/application/parsers/phases.js +17 -5
  65. package/dist/application/parsers/phases.js.map +1 -1
  66. package/dist/application/parsers/project-block.js +5 -11
  67. package/dist/application/parsers/project-block.js.map +1 -1
  68. package/dist/application/parsers/sessions-csv.js +16 -14
  69. package/dist/application/parsers/sessions-csv.js.map +1 -1
  70. package/dist/application/parsers/spec-relation.js +15 -11
  71. package/dist/application/parsers/spec-relation.js.map +1 -1
  72. package/dist/application/parsers/tasks.js +25 -1
  73. package/dist/application/parsers/tasks.js.map +1 -1
  74. package/dist/application/persist-service.js +67 -29
  75. package/dist/application/persist-service.js.map +1 -1
  76. package/dist/application/plugin-doctor/skills.js +1 -40
  77. package/dist/application/plugin-doctor/skills.js.map +1 -1
  78. package/dist/application/plugin-doctor-service.js +1 -3
  79. package/dist/application/plugin-doctor-service.js.map +1 -1
  80. package/dist/application/release-data/artifacts.js +1 -0
  81. package/dist/application/release-data/artifacts.js.map +1 -1
  82. package/dist/application/release-data/bundles.js +15 -6
  83. package/dist/application/release-data/bundles.js.map +1 -1
  84. package/dist/application/release-data/common.js +16 -7
  85. package/dist/application/release-data/common.js.map +1 -1
  86. package/dist/application/release-data/sessions.js +36 -8
  87. package/dist/application/release-data/sessions.js.map +1 -1
  88. package/dist/application/render/project-block.js +2 -2
  89. package/dist/application/render/project-block.js.map +1 -1
  90. package/dist/application/resume-service.js +9 -1
  91. package/dist/application/resume-service.js.map +1 -1
  92. package/dist/application/retirement/graph.js +14 -13
  93. package/dist/application/retirement/graph.js.map +1 -1
  94. package/dist/application/retirement/prepare.js +15 -2
  95. package/dist/application/retirement/prepare.js.map +1 -1
  96. package/dist/application/retirement/resolve.js.map +1 -1
  97. package/dist/application/self/clean-legacy.js +2 -4
  98. package/dist/application/self/clean-legacy.js.map +1 -1
  99. package/dist/application/self/install-plugin-skills-git.js +8 -4
  100. package/dist/application/self/install-plugin-skills-git.js.map +1 -1
  101. package/dist/application/self/mcp-config.js +8 -9
  102. package/dist/application/self/mcp-config.js.map +1 -1
  103. package/dist/application/session-close-service.js +8 -2
  104. package/dist/application/session-close-service.js.map +1 -1
  105. package/dist/application/session-create-service.js +26 -14
  106. package/dist/application/session-create-service.js.map +1 -1
  107. package/dist/application/session-resolver.js +80 -34
  108. package/dist/application/session-resolver.js.map +1 -1
  109. package/dist/application/session-resume-service.js +4 -3
  110. package/dist/application/session-resume-service.js.map +1 -1
  111. package/dist/application/source-boundary-policy.js +504 -0
  112. package/dist/application/source-boundary-policy.js.map +1 -0
  113. package/dist/application/status-service.js +1 -0
  114. package/dist/application/status-service.js.map +1 -1
  115. package/dist/application/workline-index-service.js +42 -20
  116. package/dist/application/workline-index-service.js.map +1 -1
  117. package/dist/application/workspace-migrate/apply.js +2 -4
  118. package/dist/application/workspace-migrate/apply.js.map +1 -1
  119. package/dist/application/workspace-migrate/plan.js +9 -6
  120. package/dist/application/workspace-migrate/plan.js.map +1 -1
  121. package/dist/application/workspace-migrate/preview.js +3 -3
  122. package/dist/application/workspace-migrate/preview.js.map +1 -1
  123. package/dist/application/worktree-service.js +3 -0
  124. package/dist/application/worktree-service.js.map +1 -1
  125. package/dist/cli/commands/capability.js +89 -5
  126. package/dist/cli/commands/capability.js.map +1 -1
  127. package/dist/cli/commands/designs.js +2 -6
  128. package/dist/cli/commands/designs.js.map +1 -1
  129. package/dist/cli/commands/dev-only.js +1 -1
  130. package/dist/cli/commands/dev-only.js.map +1 -1
  131. package/dist/cli/commands/flow.js +3 -1
  132. package/dist/cli/commands/flow.js.map +1 -1
  133. package/dist/cli/commands/index.js +0 -2
  134. package/dist/cli/commands/index.js.map +1 -1
  135. package/dist/cli/commands/mcp.js +53 -55
  136. package/dist/cli/commands/mcp.js.map +1 -1
  137. package/dist/cli/commands/persist.js +27 -21
  138. package/dist/cli/commands/persist.js.map +1 -1
  139. package/dist/cli/commands/resume.js +2 -2
  140. package/dist/cli/commands/resume.js.map +1 -1
  141. package/dist/cli/commands/session-create.js +2 -1
  142. package/dist/cli/commands/session-create.js.map +1 -1
  143. package/dist/cli/help-groups.js +0 -1
  144. package/dist/cli/help-groups.js.map +1 -1
  145. package/dist/cli/main.js +0 -0
  146. package/dist/cli/main.js.map +1 -1
  147. package/dist/cli/parser.js +1 -0
  148. package/dist/cli/parser.js.map +1 -1
  149. package/dist/cli/tui/data/recommended-skills.js +2 -2
  150. package/dist/cli/tui/data/recommended-skills.js.map +1 -1
  151. package/dist/cli/tui/tabs/mcp-tab-helpers.js +1 -1
  152. package/dist/cli/tui/tabs/mcp-tab.js +2 -2
  153. package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
  154. package/dist/domain/capability/protocol.js.map +1 -1
  155. package/dist/domain/correlative.js +121 -0
  156. package/dist/domain/correlative.js.map +1 -0
  157. package/dist/domain/design/capability.js +18 -0
  158. package/dist/domain/design/capability.js.map +1 -1
  159. package/dist/domain/docs-canon.js +31 -0
  160. package/dist/domain/docs-canon.js.map +1 -0
  161. package/dist/domain/flow/answer.js +57 -1
  162. package/dist/domain/flow/answer.js.map +1 -1
  163. package/dist/domain/flow/authority.js +28 -29
  164. package/dist/domain/flow/authority.js.map +1 -1
  165. package/dist/domain/flow/execution-result.js +13 -1
  166. package/dist/domain/flow/execution-result.js.map +1 -1
  167. package/dist/domain/flow/run-state.js.map +1 -1
  168. package/dist/domain/mcp-entry.js +7 -12
  169. package/dist/domain/mcp-entry.js.map +1 -1
  170. package/dist/domain/retirement/selector.js +16 -14
  171. package/dist/domain/retirement/selector.js.map +1 -1
  172. package/dist/domain/source-boundary.js +3 -0
  173. package/dist/domain/source-boundary.js.map +1 -0
  174. package/dist/domain/workline-node.js +12 -5
  175. package/dist/domain/workline-node.js.map +1 -1
  176. package/dist/runtime/namespace-resolver.js +0 -3
  177. package/dist/runtime/namespace-resolver.js.map +1 -1
  178. package/package.json +5 -5
  179. package/skills/w/SKILL.md +2 -2
  180. package/skills/w/artifacts/artifacts-core/SCRIPTS.sql +14 -9
  181. package/skills/w/artifacts/artifacts-research/CONCLUSIONS.md +7 -0
  182. package/skills/w/commands/export-scripts.md +8 -2
  183. package/skills/w/commands/plan-new.md +1 -0
  184. package/skills/w/context/MANIFEST.json +2 -9
  185. package/skills/w/exports/export-scripts/EXPORT.md +13 -9
  186. package/skills/w/loops/CHASSIS.md +1 -1
  187. package/skills/w/loops/plan-exec-loop/LOOP.md +14 -10
  188. package/skills/w/loops/plan-new-loop/LOOP.md +16 -16
  189. package/skills/w/loops/plan-refine-loop/LOOP.md +6 -1
  190. package/skills/w/loops/quick-loop/LOOP.md +2 -2
  191. package/skills/w/loops/spec-refine-loop/LOOP.md +4 -0
  192. package/skills/w/modules/DB-RESEARCH-RULE.md +5 -5
  193. package/skills/w/modules/DB-SCRIPTS-ONLY.md +5 -6
  194. package/skills/w/modules/EXEC-DB-POLICY.md +2 -2
  195. package/skills/w/modules/PLAN-INPUT.md +11 -9
  196. package/skills/w/roles/sql/ROLE.md +9 -9
  197. package/dist/application/decisiones-service.js +0 -31
  198. package/dist/application/decisiones-service.js.map +0 -1
  199. package/dist/application/dev-bootstrap-dsn-service.js +0 -76
  200. package/dist/application/dev-bootstrap-dsn-service.js.map +0 -1
  201. package/dist/application/profile/profile-service.js +0 -199
  202. package/dist/application/profile/profile-service.js.map +0 -1
  203. package/dist/application/tasks-service.js +0 -45
  204. package/dist/application/tasks-service.js.map +0 -1
  205. package/dist/cli/commands/bootstrap-dsn.js +0 -16
  206. package/dist/cli/commands/bootstrap-dsn.js.map +0 -1
  207. package/dist/cli/tui/components/process-list.js +0 -43
  208. package/dist/cli/tui/components/process-list.js.map +0 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @tacuchi/agent-workflow-cli
2
2
 
3
- Agnostic runtime CLI for **Workline** — the **stages + loops + artifacts** system for agent work. Bundles the universal **`w`** skill set (`w` = *workline*) and pairs with optional company-specific plugins for multi-empresa parametrization.
3
+ Agnostic runtime CLI for **Workline** — the **stages + loops + artifacts** system for agent work. Bundles the universal **`w`** skill set (`w` = *workline*) and supports optional plugins without making them a core dependency.
4
4
 
5
5
  The CLI exposes two binaries: `agent-workflow` (canonical) and `aw` (short alias).
6
6
 
@@ -32,7 +32,7 @@ Workline has three layers plus a permanent `docs/` zone:
32
32
 
33
33
  A `### Fn` phase is a **verifiable state of the system**, not a batch of technical tasks. It answers one question: *what can the system do or demonstrate at the end that it could not at the start?* The contract is defined **once** in `skills/w/loops/plan-new-loop/LOOP.md` (§ *Phase contract*); the other two plan loops reference it and never redefine it.
34
34
 
35
- - **Phase shape** — required always: `Resultado` · `Trabajo` · `Validación de fase` · `Condición de salida`. Conditional, each only when its condition holds: `Estado inicial`, `Recorrido afectado`, `Dependencias`, `Límite de simulación` and `Diferido`. A conditional block is **never written empty** — no `no aplica` placeholders. Granularity is semantic: a task is a unit of purpose that may touch several files, never an edit operation ("create class X").
35
+ - **Phase shape** — required always: `Resultado` · `Trabajo` · `Validación de fase` · `Condición de salida` and `> Fuentes:`. The plan also declares `> Límite de ejecución: checkout`; every task names a non-empty subset of its phase sources with `_(fuentes: …)_`. Conditional, each only when its condition holds: `Estado inicial`, `Recorrido afectado`, `Dependencias`, `Límite de simulación` and `Diferido`. A conditional block is **never written empty** — no `no aplica` placeholders. Granularity is semantic: a task is a unit of purpose that may touch several files, never an edit operation ("create class X").
36
36
  - **Phase state** — one `> Estado:` line per phase (`pendiente` | `en ejecución` | `bloqueada` | `validada`), machine state that `aw status` parses. A phase reaches `validada` only with its proof green, its exit condition true and the closing review gate passed — **never** because its checkboxes are ticked. A `bloqueada` phase states what it waits on in its own `> Bloqueo:` line.
37
37
  - **Plan state** — one `> Estado:` line under the title (`open` | `done`), plus a `> Cierre: YYYY-MM-DD · sesión NNN` line on close. It is the third axis, not a summary of the other two: every phase validated with no closure is a plan still `open`, awaiting its **final validation**.
38
38
  - **Temporary simulation** — **only when the change carries one**, and then planned with a lifecycle: where it is born, how it moves (`antes → después`), which phase retires it, and what prevents it from being selected in a production runtime. A change with no temporary behavior declares no boundary and no gate asks for one. A stub still live on the main path with no declared removal is a review finding.
@@ -99,7 +99,7 @@ Opt-out flags: `--skill-only`, `--no-commands`, `--no-hooks`. Override the sourc
99
99
 
100
100
  **official** — Claude Code, Codex, Warp, Gemini/Antigravity, Kimi Code. **best-effort** — Oz, OpenCode, Crush. `agents` is a shared destination, not a host, and never counts as one.
101
101
 
102
- The difference is what gets *checked*, not what gets installed: `npm run smoke:hosts` probes every host's runtime and version, and for the official ones it additionally installs into a throwaway `HOME` and verifies that the artifacts on disk are the ones this table promises bundle, command surface, hooks then uninstalls and verifies they are gone. Its result is written to `src/domain/host-verification.ts`, and that file is the **only** source of a "verified" claim anywhere in the CLI: a host no run has covered is shown as `unverified`, never as verified. `npm run smoke:hosts -- --check` runs the same checks without writing the ledger.
102
+ The difference is what gets *checked*, not what gets installed: local fixtures verify the artifacts this checkout generates. `npm run smoke:hosts` remains an optional operator observation of installed runtimes; it never closes a Workline phase or substitutes checkout proof. Any host state recorded by an operator is informational, and a host without that observation remains `unverified`.
103
103
 
104
104
  Re-verify when a release touches a host. A host marked **pre-1.0** (Kimi Code, Crush, Oz) can change its surface between its own releases faster than we re-check — Kimi Code ships roughly twice a week — so the table states the version a run actually proved and the date it proved it. It is a claim about that version, not a promise about the next one.
105
105
 
@@ -124,22 +124,10 @@ Running `agent-workflow` (or `aw`) with no arguments opens the tab-based TUI:
124
124
  | **Status** | Doctor dashboard: CLI / hosts / hooks / MCP tiles + daily operational logs. The hosts tile jumps to [Workline]. |
125
125
  | **Workline** | Per-host administration of the bundled `w` SKILL (install / reinstall / uninstall, `hooks armed` state) plus a compact flows overview. |
126
126
  | **Project** | Workspace sources, branches and git-flow actions. |
127
- | **MCP** | dbhub connections. **Install writes the host's user-scope config** (e.g. `~/.claude.json`, `~/.codex/config.toml`) — never the project `.mcp.json`; install once, use it in every project. `aw mcp setup` remains the workspace-capable CLI path (workspace by default; `--workspace <dir>` / `--global --force`). |
127
+ | **MCP** | dbhub connections. `mcp-connections.json` is the only authority for connection names and exact DSN variables: register with `aw self mcp use-env --name alpha --dsn-var ALPHA_DATABASE_URL`. Direct MCP operations select the sole connection, require `--instance <name>` when several exist, or use an explicit `--all-connections` fan-out. **Install writes the host's user-scope config** (e.g. `~/.claude.json`, `~/.codex/config.toml`) — never the project `.mcp.json`; `aw mcp setup` remains the workspace-capable path (workspace by default; `--workspace <dir>` / `--global --force`). |
128
128
  | **Skills** | Standalone third-party skills manager (skills.sh model): register from `owner/repo`, a git URL (`#ref` supported) or an absolute local path; install materializes a canonical copy in `~/.agents/skills/<name>` (the open-standard dir every non-Claude host scans) plus a symlink replica in `~/.claude/skills/<name>` (copy fallback where symlinks are unavailable). Seeded with the recommended external skills from the companion marketplace README — keep both lists in sync. |
129
129
  | **Config** | Namespace, host-targeting preferences, and the workspace branch defaults (written to the WORKSPACE block). |
130
130
 
131
- ## Multi-empresa via profile.json
132
-
133
- A `profile.json` parametrizes the bundled skills for a company (namespace, lexicon, MCP databases, custom anchors). Resolution cascade (highest precedence first):
134
-
135
- 1. `--profile <path>` flag
136
- 2. `AW_PROFILE` env var
137
- 3. `~/.config/agent-workflow/profile.json` (user-level)
138
- 4. `<cwd>/.<namespace>/profile.json` (workspace-level)
139
- 5. Embedded `DEFAULT_PROFILE` (agnostic defaults)
140
-
141
- Companion plugins package this profile + optional custom skills.
142
-
143
131
  ## Namespace resolution
144
132
 
145
133
  Workspace artifacts live under `.<namespace>/`. Resolution order (first match wins):
@@ -1,9 +1,12 @@
1
+ import { createHash } from "node:crypto";
1
2
  /**
2
3
  * Non-interactive git env: `GIT_TERMINAL_PROMPT=0` makes git FAIL FAST instead of
3
4
  * blocking on a terminal credential prompt (a push against a repo needing creds
4
5
  * would otherwise hang the TUI, recoverable only with Ctrl+C). Applied to every
5
6
  * git command — harmless for local ops, essential for the network ones.
6
7
  */
8
+ /** Stands in for the blob id of an untracked path git cannot hash; never a real one. */
9
+ const UNHASHABLE_BLOB = "unhashable";
7
10
  function nonInteractiveGitEnv() {
8
11
  const env = {};
9
12
  for (const [key, value] of Object.entries(process.env)) {
@@ -22,11 +25,22 @@ export class GitCliAdapter {
22
25
  opts(repoPath, extra = {}) {
23
26
  return { cwd: repoPath, env: nonInteractiveGitEnv(), ...extra };
24
27
  }
28
+ failed(label, repoPath, stderr) {
29
+ return new Error(`git ${label} failed in ${repoPath}: ${stderr.trim()}`);
30
+ }
25
31
  /** Run git, throwing `git <label> failed in <repo>: <stderr>` on non-zero exit. */
26
32
  async mustRun(label, args, repoPath) {
27
33
  const result = await this.process.run("git", args, this.opts(repoPath));
28
34
  if (result.code !== 0) {
29
- throw new Error(`git ${label} failed in ${repoPath}: ${result.stderr.trim()}`);
35
+ throw this.failed(label, repoPath, result.stderr);
36
+ }
37
+ return result;
38
+ }
39
+ /** `mustRun` for output that must not be decoded (see `ProcessPort.runBinary`). */
40
+ async mustRunBinary(label, args, repoPath) {
41
+ const result = await this.process.runBinary("git", args, this.opts(repoPath));
42
+ if (result.code !== 0) {
43
+ throw this.failed(label, repoPath, result.stderr.toString("utf8"));
30
44
  }
31
45
  return result;
32
46
  }
@@ -62,6 +76,49 @@ export class GitCliAdapter {
62
76
  .map((line) => line.slice(3).trim())
63
77
  .filter((path) => path.length > 0);
64
78
  }
79
+ /**
80
+ * A content-sensitive fingerprint for checkout-bound proof.
81
+ *
82
+ * Git's porcelain status deliberately omits the bytes of a modified file, so
83
+ * it cannot distinguish two edits to the same already-dirty path. The patch
84
+ * covers tracked content and mode changes; porcelain v2 preserves status and
85
+ * submodule facts; untracked files need their own blob ids because `git diff
86
+ * HEAD` does not include them. The value never leaves the checkout and is
87
+ * only used as an opaque component of `CheckoutProof.checkout_digest`.
88
+ *
89
+ * Git's output is hashed as BYTES and never decoded: a digest that has to be
90
+ * reproducible cannot depend on a text encoding it does not need.
91
+ */
92
+ async checkoutFingerprint(repoPath) {
93
+ const [patch, status, untracked] = await Promise.all([
94
+ this.mustRunBinary("diff for checkout fingerprint", ["diff", "--binary", "--full-index", "--no-ext-diff", "HEAD", "--"], repoPath),
95
+ this.mustRunBinary("status for checkout fingerprint", ["status", "--porcelain=v2", "-z"], repoPath),
96
+ this.mustRunBinary("untracked files for checkout fingerprint", ["ls-files", "--others", "--exclude-standard", "-z"], repoPath),
97
+ ]);
98
+ const hash = createHash("sha256");
99
+ hash.update("patch\0", "utf8");
100
+ hash.update(patch.stdout);
101
+ hash.update("status\0", "utf8");
102
+ hash.update(status.stdout);
103
+ const paths = untracked.stdout
104
+ .toString("utf8")
105
+ .split("\0")
106
+ .filter((path) => path.length > 0)
107
+ .sort();
108
+ for (const path of paths) {
109
+ const blob = await this.process.run("git", ["hash-object", "--no-filters", "--", path], this.opts(repoPath));
110
+ hash.update("untracked\0", "utf8");
111
+ hash.update(path, "utf8");
112
+ hash.update("\0", "utf8");
113
+ // A dangling symlink, a link to a directory, or a file git cannot open has
114
+ // no blob id, and it is recorded as such. Failing here dropped the WHOLE
115
+ // source from the eligible set — one unhashable entry left a readable tree
116
+ // with no way to prove itself, rejected for a source that does exist.
117
+ hash.update(blob.code === 0 ? blob.stdout.trim() : UNHASHABLE_BLOB, "utf8");
118
+ hash.update("\0", "utf8");
119
+ }
120
+ return `sha256:${hash.digest("hex")}`;
121
+ }
65
122
  async diffNumstat(repoPath) {
66
123
  try {
67
124
  const result = await this.process.run("git", ["diff", "--numstat", "HEAD"], this.opts(repoPath, { timeoutMs: 5000 }));
@@ -154,13 +211,17 @@ export class GitCliAdapter {
154
211
  async readStage(repoPath, hash) {
155
212
  if (hash === undefined)
156
213
  return { hash: null, content: null, bytes: 0 };
157
- const result = await this.process.run("git", ["cat-file", "-p", hash], this.opts(repoPath));
214
+ const result = await this.process.runBinary("git", ["cat-file", "-p", hash], this.opts(repoPath));
158
215
  if (result.code !== 0)
159
216
  return { hash, content: null, bytes: 0 };
160
- const bytes = Buffer.byteLength(result.stdout, "utf8");
161
217
  // A NUL byte is the same heuristic git itself uses to call a blob binary.
162
- const content = result.stdout.includes("\u0000") ? null : result.stdout;
163
- return { hash, content, bytes };
218
+ const binary = result.stdout.includes(0);
219
+ // The size is the bytes git stored, which a decoded blob no longer measures.
220
+ return {
221
+ hash,
222
+ content: binary ? null : result.stdout.toString("utf8"),
223
+ bytes: result.stdout.length,
224
+ };
164
225
  }
165
226
  async stagePath(repoPath, path) {
166
227
  await this.mustRun(`add ${path}`, ["add", "--", path], repoPath);
@@ -1 +1 @@
1
- {"version":3,"file":"git-cli.js","sourceRoot":"","sources":["../../src/adapters/git-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-cli.js","sourceRoot":"","sources":["../../src/adapters/git-cli.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,22 @@ export class NodeProcess {
42
42
  this.pidfilePollMs = pidfilePollMs;
43
43
  }
44
44
  async run(cmd, args, opts = {}) {
45
+ const result = await this.runBinary(cmd, args, opts);
46
+ return {
47
+ code: result.code,
48
+ stdout: result.stdout.toString("utf8"),
49
+ stderr: result.stderr.toString("utf8"),
50
+ };
51
+ }
52
+ /**
53
+ * Chunks are kept as bytes and joined before anyone decodes them.
54
+ *
55
+ * Decoding chunk by chunk turns every multibyte sequence that straddles a
56
+ * chunk boundary into replacement characters, and where a pipe splits is not
57
+ * stable between runs — so the same command over the same tree returned a
58
+ * different string each time.
59
+ */
60
+ async runBinary(cmd, args, opts = {}) {
45
61
  const useShell = this.platform === "win32" && needsWinShell(cmd);
46
62
  return new Promise((resolve, reject) => {
47
63
  const child = spawn(cmd, args, {
@@ -50,14 +66,14 @@ export class NodeProcess {
50
66
  stdio: ["pipe", "pipe", "pipe"],
51
67
  shell: useShell,
52
68
  });
53
- let stdout = "";
54
- let stderr = "";
69
+ const stdout = [];
70
+ const stderr = [];
55
71
  let timer;
56
72
  child.stdout.on("data", (chunk) => {
57
- stdout += chunk.toString();
73
+ stdout.push(chunk);
58
74
  });
59
75
  child.stderr.on("data", (chunk) => {
60
- stderr += chunk.toString();
76
+ stderr.push(chunk);
61
77
  });
62
78
  child.on("error", (err) => {
63
79
  if (timer)
@@ -67,7 +83,11 @@ export class NodeProcess {
67
83
  child.on("close", (code) => {
68
84
  if (timer)
69
85
  clearTimeout(timer);
70
- resolve({ code: code ?? 0, stdout, stderr });
86
+ resolve({
87
+ code: code ?? 0,
88
+ stdout: Buffer.concat(stdout),
89
+ stderr: Buffer.concat(stderr),
90
+ });
71
91
  });
72
92
  if (opts.timeoutMs && opts.timeoutMs > 0) {
73
93
  timer = setTimeout(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"node-process.js","sourceRoot":"","sources":["../../src/adapters/node-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-process.js","sourceRoot":"","sources":["../../src/adapters/node-process.ts"],"names":[],"mappings":"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"}
@@ -24,13 +24,15 @@ import { PROJECTIONS } from "../../domain/design/naming.js";
24
24
  import { DESIGN_ADAPTERS } from "../../domain/design/profiles.js";
25
25
  import { SIMPLE_CORE_SECTIONS, SIMPLE_DESIGN_FILE, SIMPLE_SECTIONS, designFolder, designSlug, nextPackageId, simpleMaturity, validateSimpleDesign, } from "../../domain/design/simple.js";
26
26
  import { classifySource, reportSources, } from "../../domain/design/sources.js";
27
- import { baseDigest } from "../../domain/proposal.js";
27
+ import { DEFAULT_CORE_DOCS_CANON } from "../../domain/docs-canon.js";
28
28
  import { localDateIso } from "../dates.js";
29
+ import { readConsumerDocument } from "../design/consumer-document.js";
29
30
  import { currentEntries, gatePackageContent } from "../design/design-content-gate-service.js";
30
31
  import { readDesignIndex, resolveDesignPackage, } from "../design/design-index-service.js";
31
32
  import { buildPackageCandidate, } from "../design/design-publish-service.js";
32
33
  import { checkRecordPrecondition } from "../design/design-record-service.js";
33
34
  import { buildSimpleProposal, resolveSimpleTarget, } from "../design/design-simple-service.js";
35
+ import { resolveCoreDocsCanon } from "../docs-canon-service.js";
34
36
  import { buildSemanticRequest, parseSemanticResponse } from "../semantic-operation/protocol.js";
35
37
  import { registerCapability } from "./dispatcher.js";
36
38
  /** Artefact ceilings for one authored revision. Generous, and still a ceiling. */
@@ -184,6 +186,40 @@ async function authoring(ctx) {
184
186
  };
185
187
  }
186
188
  const workspace = ctx.workspace;
189
+ const consumerInput = inputOf(ctx, "consumer_document");
190
+ let docsCanon = DEFAULT_CORE_DOCS_CANON;
191
+ // A compound design publication changes a spec or plan in the same durable
192
+ // effect. Resolve the shared documentary roots only when this operation has a
193
+ // consumer (or is required to carry one), so a package-only design remains
194
+ // independent while a consumer can never use a layout custody/retirement do
195
+ // not share.
196
+ if (consumerInput !== undefined || requiresConsumerDocument(ctx)) {
197
+ const resolved = await resolveCoreDocsCanon(ctx.fs, ctx.paths);
198
+ if (!resolved.ok) {
199
+ return {
200
+ kind: "blocked",
201
+ failure: {
202
+ code: "DOCS_CANON_INVALID",
203
+ message: resolved.error,
204
+ action: "corregí [docs] para conservar el layout documental canónico antes de publicar",
205
+ },
206
+ };
207
+ }
208
+ docsCanon = resolved.canon;
209
+ }
210
+ const consumer = readConsumerDocument(consumerInput, docsCanon);
211
+ if (!consumer.ok)
212
+ return { kind: "blocked", failure: consumer.failure };
213
+ if (requiresConsumerDocument(ctx) && consumer.value === null) {
214
+ return {
215
+ kind: "blocked",
216
+ failure: {
217
+ code: "DESIGN_CONSUMER_REQUIRED",
218
+ message: "esta publicación compuesta fija un baseline nuevo y necesita el documento consumidor final",
219
+ action: "pasá 'consumer_document' como attachment con los bytes finales, su path de spec/plan y el digest base",
220
+ },
221
+ };
222
+ }
187
223
  const precondition = await operationPrecondition(ctx);
188
224
  if (precondition !== null)
189
225
  return { kind: "blocked", failure: precondition };
@@ -244,10 +280,10 @@ async function authoring(ctx) {
244
280
  const answered = parsed.value.artifacts ?? [];
245
281
  const { target } = route.value;
246
282
  if (target.mode === "simple") {
247
- return simpleProposal(ctx, workspace, report, route.value, target.simple, answered);
283
+ return simpleProposal(ctx, workspace, report, route.value, target.simple, answered, consumer.value, docsCanon);
248
284
  }
249
285
  if (target.mode === "package") {
250
- return packageProposal(ctx, workspace, report, route.value, target.package, answered);
286
+ return packageProposal(ctx, workspace, report, route.value, target.package, answered, consumer.value, docsCanon);
251
287
  }
252
288
  return projectionProposal(ctx, workspace, report, route.value, target.projection, answered);
253
289
  }
@@ -452,6 +488,7 @@ function mintPackageTarget(ctx, index, root) {
452
488
  path: designFolder(root.root, packageId, designSlug(title)),
453
489
  revision: 1,
454
490
  manifest: initialPackageManifest(packageId, title, localDateIso(new Date())),
491
+ manifest_base: null,
455
492
  },
456
493
  };
457
494
  }
@@ -550,6 +587,7 @@ function continuePackageTarget(ctx, index) {
550
587
  path: found.path,
551
588
  revision: (current?.revision ?? 0) + 1,
552
589
  manifest,
590
+ manifest_base: found.manifest_base,
553
591
  },
554
592
  };
555
593
  }
@@ -575,7 +613,7 @@ function initialPackageManifest(packageId, title, created) {
575
613
  };
576
614
  }
577
615
  /** The simple route's durable step: one authored document, everything else derived. */
578
- async function simpleProposal(ctx, workspace, report, route, target, answered) {
616
+ async function simpleProposal(ctx, workspace, report, route, target, answered, consumer, docsCanon) {
579
617
  const documentPath = `${target.path}/${SIMPLE_DESIGN_FILE}`;
580
618
  const document = answered.find((a) => a.path === documentPath);
581
619
  if (answered.length !== 1 || document === undefined) {
@@ -592,6 +630,8 @@ async function simpleProposal(ctx, workspace, report, route, target, answered) {
592
630
  target,
593
631
  document: document.content,
594
632
  published: localDateIso(new Date()),
633
+ consumer_document: consumer,
634
+ docs_canon: docsCanon,
595
635
  });
596
636
  if (!built.ok) {
597
637
  const first = built.failures[0];
@@ -637,7 +677,7 @@ async function simpleProposal(ctx, workspace, report, route, target, answered) {
637
677
  reference: null,
638
678
  completeness: "partial",
639
679
  },
640
- base: built.value.base,
680
+ bases: proposalBases(built.value.base, consumer?.base ?? null),
641
681
  };
642
682
  }
643
683
  /**
@@ -648,7 +688,7 @@ async function simpleProposal(ctx, workspace, report, route, target, answered) {
648
688
  * publishes, so the gate verdict runs NOW, inside `validate`, and an invalid
649
689
  * tree is blocked before the first byte moves.
650
690
  */
651
- async function packageProposal(ctx, workspace, report, route, target, answered) {
691
+ async function packageProposal(ctx, workspace, report, route, target, answered, consumer, docsCanon) {
652
692
  // From workspace-relative to package-relative, which is the vocabulary the
653
693
  // candidate builder speaks. The destination check already confined every
654
694
  // answer to the package folder, so the prefix always strips.
@@ -673,6 +713,8 @@ async function packageProposal(ctx, workspace, report, route, target, answered)
673
713
  packagePath: target.path,
674
714
  files,
675
715
  published: localDateIso(new Date()),
716
+ consumer_document: consumer,
717
+ docs_canon: docsCanon,
676
718
  });
677
719
  if (!candidate.ok) {
678
720
  // The gate's own verdict, with its real code and next action: this is where
@@ -720,7 +762,10 @@ async function packageProposal(ctx, workspace, report, route, target, answered)
720
762
  // `complete` here would let a gate accept a proposal as a package.
721
763
  completeness: "partial",
722
764
  },
723
- base: await packageManifestBase(ctx, workspace, target),
765
+ // `target.manifest_base` was captured with the exact bytes parsed into
766
+ // `target.manifest`. A concurrent change therefore fails at apply instead
767
+ // of being accidentally adopted as this candidate's CAS base.
768
+ bases: proposalBases(target.manifest_base, consumer?.base ?? null),
724
769
  };
725
770
  }
726
771
  /**
@@ -795,7 +840,7 @@ async function projectionProposal(ctx, workspace, report, route, target, answere
795
840
  },
796
841
  // Nothing to compare and swap: this publication reads no manifest to derive
797
842
  // its output, so there is no state it could have been computed against.
798
- base: null,
843
+ bases: [],
799
844
  };
800
845
  }
801
846
  /**
@@ -883,18 +928,6 @@ async function publishedMaturity(fs, workspace, entry) {
883
928
  const verdict = simpleMaturity(parsed.value);
884
929
  return { attained: verdict.attained, reasons: verdict.reasons };
885
930
  }
886
- /**
887
- * The compare-and-swap base of a package proposal: the manifest as it stood
888
- * when the candidate was computed. Null when there is nothing on disk to have
889
- * moved — a create is protected by its destinations not existing.
890
- */
891
- async function packageManifestBase(ctx, workspace, target) {
892
- const path = `${target.path}/${DESIGN_MANIFEST_FILE}`;
893
- const absolute = join(workspace, path);
894
- if (!(await ctx.fs.exists(absolute)))
895
- return null;
896
- return { path, digest: baseDigest(await ctx.fs.readText(absolute)) };
897
- }
898
931
  /** The verdict as the receipt states it: mode, signals and the one-line cause. */
899
932
  function routeOf(verdict) {
900
933
  return { mode: verdict.mode, signals: verdict.fired, cause: verdict.cause };
@@ -1050,8 +1083,21 @@ function projectionContract(operation, target) {
1050
1083
  .join(" ")
1051
1084
  .trim();
1052
1085
  }
1086
+ function inputOf(ctx, name) {
1087
+ return ctx.request.inputs.find((i) => i.name === name);
1088
+ }
1053
1089
  function inputValue(ctx, name) {
1054
- return ctx.request.inputs.find((i) => i.name === name)?.value;
1090
+ return inputOf(ctx, name)?.value;
1091
+ }
1092
+ /** A composed refine replaces its consumer in the same approved publication. */
1093
+ function requiresConsumerDocument(ctx) {
1094
+ return (AUTHORING_OPERATIONS.includes(ctx.operation.name) &&
1095
+ ctx.request.caller.route === "compose" &&
1096
+ (ctx.request.caller.flow === "spec-refine" || ctx.request.caller.flow === "plan-refine"));
1097
+ }
1098
+ /** One proposal owns every non-null compare-and-swap base it depends on. */
1099
+ function proposalBases(...candidates) {
1100
+ return candidates.filter((candidate) => candidate !== null);
1055
1101
  }
1056
1102
  /** The five operations this floor answers — the descriptor's, not a second list. */
1057
1103
  export const DESIGN_FLOOR_OPERATIONS = DESIGN_OPERATIONS;