human-to-code 0.1.13 → 0.1.14

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 (117) hide show
  1. package/Readme.md +4 -39
  2. package/dist/agents/direct/application.d.ts +7 -0
  3. package/dist/agents/direct/application.d.ts.map +1 -0
  4. package/dist/agents/direct/application.js +30 -0
  5. package/dist/agents/direct/application.js.map +1 -0
  6. package/dist/agents/direct/discovery.d.ts +4 -0
  7. package/dist/agents/direct/discovery.d.ts.map +1 -0
  8. package/dist/agents/direct/discovery.js +101 -0
  9. package/dist/agents/direct/discovery.js.map +1 -0
  10. package/dist/agents/direct/file-memory.d.ts +20 -0
  11. package/dist/agents/direct/file-memory.d.ts.map +1 -0
  12. package/dist/agents/direct/file-memory.js +174 -0
  13. package/dist/agents/direct/file-memory.js.map +1 -0
  14. package/dist/agents/direct/generation-client.d.ts +4 -0
  15. package/dist/agents/direct/generation-client.d.ts.map +1 -0
  16. package/dist/agents/direct/generation-client.js +56 -0
  17. package/dist/agents/direct/generation-client.js.map +1 -0
  18. package/dist/agents/direct/index.d.ts +10 -0
  19. package/dist/agents/direct/index.d.ts.map +1 -0
  20. package/dist/agents/direct/index.js +10 -0
  21. package/dist/agents/direct/index.js.map +1 -0
  22. package/dist/agents/direct/languages.d.ts +5 -0
  23. package/dist/agents/direct/languages.d.ts.map +1 -0
  24. package/dist/agents/direct/languages.js +17 -0
  25. package/dist/agents/direct/languages.js.map +1 -0
  26. package/dist/agents/direct/marker-parser.d.ts +8 -0
  27. package/dist/agents/direct/marker-parser.d.ts.map +1 -0
  28. package/dist/agents/direct/marker-parser.js +68 -0
  29. package/dist/agents/direct/marker-parser.js.map +1 -0
  30. package/dist/agents/direct/presentation.d.ts +4 -0
  31. package/dist/agents/direct/presentation.d.ts.map +1 -0
  32. package/dist/agents/direct/presentation.js +28 -0
  33. package/dist/agents/direct/presentation.js.map +1 -0
  34. package/dist/agents/direct/types.d.ts +74 -0
  35. package/dist/agents/direct/types.d.ts.map +1 -0
  36. package/dist/agents/direct/types.js +2 -0
  37. package/dist/agents/direct/types.js.map +1 -0
  38. package/dist/agents/guided/api-grounding.d.ts +6 -0
  39. package/dist/agents/guided/api-grounding.d.ts.map +1 -0
  40. package/dist/agents/guided/api-grounding.js +158 -0
  41. package/dist/agents/guided/api-grounding.js.map +1 -0
  42. package/dist/agents/guided/index.d.ts +7 -0
  43. package/dist/agents/guided/index.d.ts.map +1 -0
  44. package/dist/agents/guided/index.js +7 -0
  45. package/dist/agents/guided/index.js.map +1 -0
  46. package/dist/agents/guided/patch-diff.d.ts +4 -0
  47. package/dist/agents/guided/patch-diff.d.ts.map +1 -0
  48. package/dist/agents/guided/patch-diff.js +31 -0
  49. package/dist/agents/guided/patch-diff.js.map +1 -0
  50. package/dist/agents/guided/types.d.ts +55 -0
  51. package/dist/agents/guided/types.d.ts.map +1 -0
  52. package/dist/agents/guided/types.js +2 -0
  53. package/dist/agents/guided/types.js.map +1 -0
  54. package/dist/agents/guided/workflow.d.ts +17 -0
  55. package/dist/agents/guided/workflow.d.ts.map +1 -0
  56. package/dist/agents/guided/workflow.js +1360 -0
  57. package/dist/agents/guided/workflow.js.map +1 -0
  58. package/dist/agents/guided/workspace-policy.d.ts +9 -0
  59. package/dist/agents/guided/workspace-policy.d.ts.map +1 -0
  60. package/dist/agents/guided/workspace-policy.js +83 -0
  61. package/dist/agents/guided/workspace-policy.js.map +1 -0
  62. package/dist/cli.d.ts.map +1 -1
  63. package/dist/cli.js +4 -55
  64. package/dist/cli.js.map +1 -1
  65. package/dist/index.d.ts +3 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +4 -1
  68. package/dist/index.js.map +1 -1
  69. package/dist/pipeline/simple.d.ts +3 -160
  70. package/dist/pipeline/simple.d.ts.map +1 -1
  71. package/dist/pipeline/simple.js +3 -502
  72. package/dist/pipeline/simple.js.map +1 -1
  73. package/dist/pipeline/workflow.d.ts +5 -66
  74. package/dist/pipeline/workflow.d.ts.map +1 -1
  75. package/dist/pipeline/workflow.js +5 -1642
  76. package/dist/pipeline/workflow.js.map +1 -1
  77. package/dist/prompts/direct-conversion.d.ts +13 -0
  78. package/dist/prompts/direct-conversion.d.ts.map +1 -0
  79. package/dist/prompts/direct-conversion.js +35 -0
  80. package/dist/prompts/direct-conversion.js.map +1 -0
  81. package/dist/prompts/guided-patch.d.ts +14 -0
  82. package/dist/prompts/guided-patch.d.ts.map +1 -0
  83. package/dist/prompts/guided-patch.js +41 -0
  84. package/dist/prompts/guided-patch.js.map +1 -0
  85. package/dist/prompts/guided-repair.d.ts +12 -0
  86. package/dist/prompts/guided-repair.d.ts.map +1 -0
  87. package/dist/prompts/guided-repair.js +30 -0
  88. package/dist/prompts/guided-repair.js.map +1 -0
  89. package/dist/prompts/index.d.ts +6 -0
  90. package/dist/prompts/index.d.ts.map +1 -0
  91. package/dist/prompts/index.js +6 -0
  92. package/dist/prompts/index.js.map +1 -0
  93. package/dist/prompts/provider-output.d.ts +4 -0
  94. package/dist/prompts/provider-output.d.ts.map +1 -0
  95. package/dist/prompts/provider-output.js +12 -0
  96. package/dist/prompts/provider-output.js.map +1 -0
  97. package/dist/providers/providers.d.ts.map +1 -1
  98. package/dist/providers/providers.js +2 -10
  99. package/dist/providers/providers.js.map +1 -1
  100. package/docs/ARCHITECTURE.md +30 -29
  101. package/docs/MODULES.md +46 -10
  102. package/docs/SCALABILITY.md +10 -9
  103. package/docs/roadmap/README.md +1 -1
  104. package/docs/roadmap/ruby.md +1 -1
  105. package/package.json +1 -6
  106. package/dist/pipeline/agent-tools.d.ts +0 -348
  107. package/dist/pipeline/agent-tools.d.ts.map +0 -1
  108. package/dist/pipeline/agent-tools.js +0 -542
  109. package/dist/pipeline/agent-tools.js.map +0 -1
  110. package/dist/pipeline/agent-tui.d.ts +0 -15
  111. package/dist/pipeline/agent-tui.d.ts.map +0 -1
  112. package/dist/pipeline/agent-tui.js +0 -133
  113. package/dist/pipeline/agent-tui.js.map +0 -1
  114. package/dist/pipeline/deep-agent.d.ts +0 -61
  115. package/dist/pipeline/deep-agent.d.ts.map +0 -1
  116. package/dist/pipeline/deep-agent.js +0 -395
  117. package/dist/pipeline/deep-agent.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/providers/providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/providers/providers.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ provider-generated PatchSetV1 (src/providers)
25
25
 
26
26
  baseline vs candidate in sandbox (src/pipeline/validation.ts)
27
27
 
28
- explicit apply + exact rollback (src/pipeline/patch.ts, workflow.ts)
28
+ explicit apply + exact rollback (src/pipeline/patch.ts, src/agents/guided/workflow.ts)
29
29
  ```
30
30
 
31
31
  Every arrow is a checkpoint: each stage validates its input artifact by exact
@@ -35,9 +35,10 @@ rather than guessing. Only `VERIFIED` is success for a generated run.
35
35
 
36
36
  ## Layers
37
37
 
38
- Source is organized into domain folders that form a strict layering. A module
39
- may import from its own layer or any layer **above** it in this diagram, never
40
- below. `core` imports nothing; `cli` may import anything.
38
+ Source is organized into domain folders and two explicit agent entry points.
39
+ Deterministic layers provide policy and mechanics; prompts only format
40
+ model-facing messages; agents coordinate those pieces. `core` imports nothing,
41
+ and `cli` may import anything.
41
42
 
42
43
  ```mermaid
43
44
  graph TD
@@ -47,7 +48,9 @@ graph TD
47
48
  security["security<br/>secret scanning, pinned HTTPS"]
48
49
  context["context<br/>context selection, documentation, compiler skills/tools"]
49
50
  providers["providers<br/>adapter contract, OpenAI/Ollama, certification, schemas"]
50
- pipeline["pipeline<br/>planner, snapshot, patch, sandbox validation, run store, workflow"]
51
+ prompts["prompts<br/>direct, patch, repair, output-contract messages"]
52
+ pipeline["pipeline<br/>planner, snapshot, patch, sandbox validation, run store"]
53
+ agents["agents<br/>direct conversion and guided lifecycle orchestration"]
51
54
  entry["index.ts / cli.ts<br/>public API and CLI shell"]
52
55
 
53
56
  config --> core
@@ -59,12 +62,19 @@ graph TD
59
62
  providers --> core
60
63
  providers --> context
61
64
  providers --> analysis
65
+ prompts --> core
66
+ prompts --> context
62
67
  pipeline --> core
63
68
  pipeline --> config
64
69
  pipeline --> analysis
65
70
  pipeline --> security
66
71
  pipeline --> context
67
72
  pipeline --> providers
73
+ agents --> prompts
74
+ agents --> pipeline
75
+ agents --> providers
76
+ agents --> context
77
+ entry --> agents
68
78
  entry --> pipeline
69
79
  ```
70
80
 
@@ -76,7 +86,9 @@ graph TD
76
86
  | `src/security/` | `secret-scan.ts`, `pinned-http.ts` | Cross-cutting fail-closed guards: repository-wide credential scanning before any provider access, and a DNS-vetted address-pinned HTTPS client used for any outbound fetch. |
77
87
  | `src/context/` | `context.ts`, `documentation.ts`, `compiler-skills.ts`, `compiler-tools.ts` | Everything the model is allowed to see: provenance-bound context selection, allowlisted exact-version documentation, immutable policy skills, and the bounded read-only context tool executor. |
78
88
  | `src/providers/` | `provider.ts`, `providers.ts`, `certification.ts`, `schemas.ts` | Everything the model is allowed to do: the provider-neutral adapter contract, the bundled OpenAI/Ollama HTTP adapters, the JSON output schemas providers must satisfy, and the evidence-based certification gate that decides whether a provider/model result may ever become `VERIFIED`. |
79
- | `src/pipeline/` | `planner.ts`, `snapshot.ts`, `patch.ts`, `validation.ts`, `run-store.ts`, `workflow.ts`, `file-memory.ts`, `simple.ts`, agent modules | Run orchestration: contract drafting, immutable snapshots, patch safety and atomic apply/rollback, strong-sandbox baseline/candidate validation, the private run store, and the guided workflow that ties the stages together. `file-memory.ts` statically indexes declarations for the default deterministic direct-generation path in `simple.ts`. The opt-in agent engine is split into orchestration (`deep-agent.ts`), project-confined tool execution (`agent-tools.ts`), and the terminal dashboard (`agent-tui.ts`); only the orchestration module imports the LangChain/deep-agent runtime. |
89
+ | `src/prompts/` | `direct-conversion.ts`, `guided-patch.ts`, `guided-repair.ts`, `provider-output.ts` | All model-facing message construction. Prompt builders accept typed inputs and return strings/messages; they perform no I/O, provider calls, or host mutation. |
90
+ | `src/pipeline/` | `planner.ts`, `snapshot.ts`, `patch.ts`, `validation.ts`, `run-store.ts`, `file-memory.ts` | Deterministic execution mechanics: contract drafting, immutable snapshots, patch safety and atomic apply/rollback, strong-sandbox validation, private run storage, and static declaration indexing. `simple.ts` and `workflow.ts` remain compatibility re-exports only. |
91
+ | `src/agents/` | `direct/`, `guided/` | The two model-using application services. `direct/` separates discovery, marker parsing, FileMemory, prompt invocation, presentation, and application. `guided/` owns reviewed-run policy and the auditable generate/validate/apply/rollback lifecycle. |
80
92
  | root | `index.ts`, `cli.ts` | Entry points only. `index.ts` re-exports the stable embedding API grouped by layer; `cli.ts` maps commands, flags, and exit codes onto that same surface. They stay at the source root so the published `dist/index.js` and `dist/cli.js` paths never move. |
81
93
 
82
94
  Two intentional wrinkles in the layering:
@@ -115,19 +127,19 @@ validation `INCONCLUSIVE`; an empty certification registry means no run can be
115
127
  diagnostics, dependency source, and fetched documentation are wrapped as
116
128
  evidence and cannot change policy, commands, scope, tests, or budgets.
117
129
 
118
- **Minimal-dependency host, agent engine aside.** The default deterministic
119
- engine, the guided pipeline, and all host safety code (hashing, patch
120
- validation, sandbox validation, HTTP adapters, secret scanning) use only Node
121
- built-ins their supply-chain surface is Node itself. The opt-in `--agent`
122
- engine is the exception: it runs a LangChain/LangGraph agent and therefore
123
- depends on `langchain`, `@langchain/core`, and `@langchain/openai`. A default
124
- run never loads them. Do not add runtime
125
- dependencies to any layer other than the deep-agent engine
126
- (`pipeline/deep-agent.ts`).
130
+ **Prompts are explicit application artifacts.** Model-facing instructions live
131
+ only in `src/prompts/`. Agent orchestration passes typed, validated inputs into
132
+ pure prompt builders; provider transports do not invent agent policy, and
133
+ pipeline mechanics do not embed prose instructions.
134
+
135
+ **Minimal-dependency host.** The deterministic engine, guided pipeline, and all
136
+ host safety code (hashing, patch validation, sandbox validation, HTTP adapters,
137
+ secret scanning) use only Node built-ins. Their runtime supply-chain surface is
138
+ Node itself.
127
139
 
128
140
  ## The generation paths
129
141
 
130
- 1. **Deterministic engine** (`pipeline/simple.ts`, the default
142
+ 1. **Direct agent** (`agents/direct/`, the default
131
143
  `npx human-to-code .` flow): host code discovers the worklist, and for each
132
144
  unit issues **one plain model completion** (no tool calls), applying the
133
145
  result by exact marker range. It statically indexes declarations into
@@ -137,18 +149,7 @@ dependencies to any layer other than the deep-agent engine
137
149
  security stop aborts the run. This is fast and works with small models that
138
150
  cannot do tool-calling. It shares no state with the guided pipeline and never
139
151
  reaches `VERIFIED`.
140
- 2. **Agent engine** (`pipeline/deep-agent.ts`, `agent-tools.ts`, and
141
- `agent-tui.ts`, selected with `--agent`): a LangChain/LangGraph agent with
142
- explicit todo, project filesystem, bounded shell/background-process, web,
143
- notebook, and stateless subagent tools. The host renders todos beside live
144
- command output and file diffs, detects repeated calls, verifies that the
145
- discovered worklist actually changed, and terminates completed work without
146
- relying on the model to find a graph stop condition. Here the model still
147
- drives scope, edits, commands, and delegation. The filesystem surface is
148
- project-confined and protected paths are denied, but host shell commands are
149
- not a strong sandbox. This remains autonomous direct generation, not the
150
- hash-verified patch pipeline, and never produces `VERIFIED` runs.
151
- 3. **Guided pipeline** (`workflow.ts`, the `guided` subcommand): full
152
+ 2. **Guided agent** (`agents/guided/`, the `guided` subcommand): full
152
153
  contract → grounding → sandbox validation lifecycle described above. This is
153
154
  the production-architecture path and the only one that can reach `VERIFIED`.
154
155
 
@@ -165,7 +166,7 @@ dependencies to any layer other than the deep-agent engine
165
166
  ## Testing shape
166
167
 
167
168
  `test/` mirrors the source modules one-to-one (`analyzer.test.ts`,
168
- `workflow.test.ts`, …) using `node:test` with injected fetch/DNS/clock/exec
169
+ `guided-agent.test.ts`, …) using `node:test` with injected fetch/DNS/clock/exec
169
170
  seams — no real provider, network, or container daemon is required.
170
171
  `test/package-smoke.mjs` packs the tarball, installs it into a clean temp
171
172
  project, imports the public API, and invokes the installed CLI. See
package/docs/MODULES.md CHANGED
@@ -9,7 +9,7 @@ mirror these modules by name.
9
9
  | Module | Purpose |
10
10
  | --- | --- |
11
11
  | `index.ts` | Stable public API for embedding the pipeline. Re-exports each layer's surface, grouped and commented by layer. Published as `dist/index.js`. |
12
- | `cli.ts` | The `human-to-code` binary: guided flow plus `analyze`, `plan`, `context`, `generate`, `validate`, `apply`, `rollback`, `check`, `migrate-config`, `--init`. Owns argument parsing, exit codes (0–6), and human-readable output; all real work is delegated to the layers below. Published as `dist/cli.js`. |
12
+ | `cli.ts` | The `human-to-code` binary: direct conversion plus guided `analyze`, `plan`, `context`, `generate`, `validate`, `apply`, `rollback`, `check`, `migrate-config`, and `--init`. Owns argument parsing, exit codes (0–6), and human-readable output; all real work is delegated to agents and deterministic services. Published as `dist/cli.js`. |
13
13
 
14
14
  ## `src/core/` — shared primitives
15
15
 
@@ -63,7 +63,47 @@ mirror these modules by name.
63
63
  | `certification.ts` | The fail-closed WRITE gate (`evaluateProviderCertification`, `providerProfileId`, `CERTIFIED_EVIDENCE`): a run may become `VERIFIED` only with host-owned, re-scored benchmark evidence for the exact provider/model profile and ecosystem. Ships empty in the preview, so `VERIFIED` is unreachable by design. |
64
64
  | `schemas.ts` | JSON Schema documents for every persisted v1 artifact, including `PATCH_SET_SCHEMA_V1` — the provider-bound wire schema for structured patch output. |
65
65
 
66
- ## `src/pipeline/` — run orchestration
66
+ ## `src/prompts/` — what the model is told
67
+
68
+ All model-facing prose is constructed here by pure functions. Prompt modules
69
+ accept typed, already-reviewed data and perform no I/O or mutation.
70
+
71
+ | Module | Purpose |
72
+ | --- | --- |
73
+ | `direct-conversion.ts` | System and user messages for whole-file and inline direct conversion, including FileMemory rules and examples. |
74
+ | `guided-patch.ts` | Structured patch-generation messages: reviewed contract, target profile, immutable snapshot hash, compiler skills, and wrapped untrusted evidence. |
75
+ | `guided-repair.ts` | Bounded repair messages that freeze contract, snapshot, validation plan, paths, operations, and scope. |
76
+ | `provider-output.ts` | Host-enforced JSON output-contract message used only when a provider lacks native JSON Schema support. |
77
+ | `index.ts` | Prompt-builder export surface. |
78
+
79
+ ## `src/agents/` — model-using application services
80
+
81
+ ### `src/agents/direct/`
82
+
83
+ | Module | Purpose |
84
+ | --- | --- |
85
+ | `types.ts` | Direct-agent request, unit, progress, result, and provider-option types. |
86
+ | `languages.ts` | Language-to-extension and human-readable prompt-label mapping. |
87
+ | `marker-parser.ts` | Lightweight lexical scanner for real `@human` comment markers; quoted and already-commented examples stay inert. |
88
+ | `discovery.ts` | Bounded file walking and conversion-unit creation for `.human` files and inline markers. |
89
+ | `file-memory.ts` | Ephemeral declaration memory, replacement normalization, retry isolation, and sequential per-file generation. |
90
+ | `generation-client.ts` | One direct provider request through OpenAI-compatible chat or Ollama, using the central direct prompt builder. |
91
+ | `presentation.ts` | Stable conversion receipt and code-fence cleanup. |
92
+ | `application.ts` | Exact-range inline replacement and whole-file writes. |
93
+ | `index.ts` | Direct-agent export surface used by the CLI and package entry point. |
94
+
95
+ ### `src/agents/guided/`
96
+
97
+ | Module | Purpose |
98
+ | --- | --- |
99
+ | `types.ts` | Guided run inputs, outputs, certification, and stored-validation options. |
100
+ | `workspace-policy.ts` | Conservative workspace selection, override merging, and validation-plan construction. |
101
+ | `patch-diff.ts` | Stable review-oriented rendering for structured patch operations. |
102
+ | `api-grounding.ts` | Static detection and evidence checks for external APIs introduced by a patch. |
103
+ | `workflow.ts` | Auditable `generateRun`, validate/repair, verified apply, and exact rollback lifecycle. Coordinates deterministic services but contains no prompt prose. |
104
+ | `index.ts` | Guided-agent export surface used by the CLI and package entry point. |
105
+
106
+ ## `src/pipeline/` — deterministic execution mechanics
67
107
 
68
108
  | Module | Purpose |
69
109
  | --- | --- |
@@ -72,12 +112,9 @@ mirror these modules by name.
72
112
  | `patch.ts` | Constrained patch validation and atomic application (`preparePatch`, `applyPatchAtomic`, `PatchSafetyError`, `PatchPolicy`): scope/hash/anchor checks, protected/generated/lockfile refusal, traversal/symlink/binary/collision rejection, per-file atomic writes, rollback artifacts. |
73
113
  | `validation.ts` | Strong container-only validation (`validateBaselineAndCandidate`, `strongSandboxAvailable`): Docker/Podman sandbox with no network, read-only root, scrubbed environment, resource limits; unchanged baseline first, then candidate; secret-scanned output. |
74
114
  | `run-store.ts` | `RunStore`: durable, private, crash-safe run metadata (contracts, patches, reports, rollback artifacts) with recursive secret gating on every write. |
75
- | `workflow.ts` | The guided end-to-end orchestrator (`generateRun` and the apply/rollback/repair flows): ties analysis, certification, secret scan, context, provider, snapshot, validation, run store, and patch together with crash-safe budget checkpoints and at most two diagnostic repairs. |
76
115
  | `file-memory.ts` | Dependency-free static declaration/signature indexing for every language scanned by the direct path. Produces exact line-range evidence without executing project code. |
77
- | `simple.ts` | The default direct-flow engine: deterministic per-marker generation. One plain model completion per unit (no tool calls), applied by exact marker range, with ephemeral FileMemory and few-shot prompting. Per-marker isolation with retry-then-skip; a security stop is the only whole-run abort. Fast and small-model-friendly. Shares no trust with the guided pipeline; cannot produce `VERIFIED`. |
78
- | `deep-agent.ts` | The `--agent` orchestrator: installs the explicit tool surface on a LangChain/LangGraph agent, plus the identity-neutral small-model prompt, stateless subagents, worklist completion checks, repeated-call detection, and bounded graph execution. `buildDeepAgentModel` binds providers through the OpenAI-compatible chat client (Ollama via `/v1`). The only module that imports the LangChain runtime. |
79
- | `agent-tools.ts` | Project-confined implementations for the 16 agent tools: exact file reads/edits/writes with diff events, ripgrep search, bounded foreground/background shell commands, notebook edits, public HTTPS fetch/search, and cleanup. Protected paths and secret-bearing command environment variables are denied. |
80
- | `agent-tui.ts` | Dependency-free ANSI dashboard used by interactive agent mode. Renders todos on the left and rolling tool, command, and git-style diff activity on the right; falls back to compact lines outside a TTY. |
116
+ | `simple.ts` | Deprecated source-compatibility re-export for `agents/direct/`; contains no implementation. |
117
+ | `workflow.ts` | Deprecated source-compatibility re-export for `agents/guided/`; contains no implementation. |
81
118
 
82
119
  ## Test map
83
120
 
@@ -90,8 +127,7 @@ mirror these modules by name.
90
127
  | `test/secret-scan.test.ts` | Repository credential scanning. |
91
128
  | `test/provider.test.ts`, `test/providers.test.ts` | Provider contract, budgets, and HTTP adapters (injected fetch/DNS). |
92
129
  | `test/certification.test.ts`, `test/release-gate.test.ts` | Certification evidence gate and release-status honesty. |
93
- | `test/planner.test.ts`, `test/patch.test.ts`, `test/snapshot.test.ts`, `test/run-store.test.ts`, `test/validation.test.ts`, `test/workflow.test.ts` | The pipeline stage by stage, including apply/rollback and repair limits. |
94
- | `test/simple.test.ts` | Ephemeral FileMemory indexing/normalization and the `--simple` direct path. |
95
- | `test/deep-agent.test.ts`, `test/agent-tools.test.ts`, `test/agent-tui.test.ts` | Agent prompt/model binding, incomplete-run checks, project-confined tools, command guards, and deterministic dashboard rendering (no network). |
130
+ | `test/planner.test.ts`, `test/patch.test.ts`, `test/snapshot.test.ts`, `test/run-store.test.ts`, `test/validation.test.ts`, `test/guided-agent.test.ts` | Guided mechanics and lifecycle stage by stage, including apply/rollback and repair limits. |
131
+ | `test/direct-agent.test.ts` | Lexical marker discovery, FileMemory indexing/normalization, provider prompts, retry isolation, and application. |
96
132
  | `test/cli.test.ts` | Command surface and exit codes. |
97
133
  | `test/package-smoke.mjs` | Packed-tarball install, public import, installed-CLI invocation (`npm run package:check`). |
@@ -11,7 +11,7 @@ Source lives in layered domain folders (see
11
11
  [ARCHITECTURE.md](ARCHITECTURE.md)). The rules:
12
12
 
13
13
  1. **Imports point upward only.** A module may import from its own folder or
14
- a layer above it (`core` at the top, `pipeline` at the bottom, entry points
14
+ a layer above it (`core` at the top, agents near the bottom, entry points
15
15
  below everything). If you need a downward import, the type or helper you
16
16
  want belongs in a higher layer — move it, don't bend the arrow.
17
17
  2. **`core/` stays dependency-free.** Nothing in `core/` imports from any
@@ -26,6 +26,9 @@ Source lives in layered domain folders (see
26
26
  5. **Every module starts with a `/** … */` header** stating what it does and,
27
27
  where relevant, what it deliberately does not do. The headers are the
28
28
  first line of documentation; keep them true when behavior changes.
29
+ 6. **Prompts live in `src/prompts/`.** Agent and provider modules call typed,
30
+ pure prompt builders. Do not embed system/user instruction prose in
31
+ transports, lifecycle orchestration, or pipeline mechanics.
29
32
 
30
33
  ## Extension points
31
34
 
@@ -83,12 +86,10 @@ between releases:
83
86
  - **TypeScript strict, no escape hatches.** `strict` and
84
87
  `noUncheckedIndexedAccess` stay on; avoid `any` and non-null assertions —
85
88
  validate at the boundary and let types flow.
86
- - **Minimal production dependencies.** HTTP, hashing, JSON, and process
87
- handling use Node built-ins. The one exception is the agent orchestrator
88
- (`pipeline/deep-agent.ts`), which depends on the LangChain runtime; those
89
- imports remain confined to that module while its tools and TUI use built-ins.
90
- Adding a runtime dependency anywhere else changes the supply-chain posture
91
- and needs a design discussion first.
89
+ - **Minimal production dependencies.** HTTP, hashing, JSON, process handling,
90
+ provider access, and orchestration use Node built-ins. Adding a runtime
91
+ dependency changes the supply-chain posture and needs a design discussion
92
+ first.
92
93
  - **Errors are typed and named.** Each layer exports its own error classes
93
94
  (`ArtifactValidationError`, `ProviderError`, `PatchSafetyError`, …) so the
94
95
  CLI can map failures to exit codes without string matching. Error messages
@@ -102,8 +103,8 @@ between releases:
102
103
 
103
104
  ## Testing practices
104
105
 
105
- - Every `src/**/x.ts` with behavior has a mirror `test/x.test.ts`; keep the
106
- mirror when adding or moving modules.
106
+ - Every cohesive agent or deterministic service has a focused mirror test;
107
+ keep imports pointed at the primary module rather than compatibility shims.
107
108
  - Tests are deterministic and offline: injected fetch/DNS/environment/clock
108
109
  seams, no real provider, network, or container daemon (the validation tests
109
110
  stub the sandbox probe).
@@ -9,7 +9,7 @@ and a plan graduates out of this folder when its profile ships.
9
9
  Support in human-to-code is layered; "supporting a language" means moving it
10
10
  up this ladder deliberately:
11
11
 
12
- 1. **Direct path** (`src/pipeline/simple.ts`) — the language has an entry in
12
+ 1. **Direct path** (`src/agents/direct/`) — the language has an entry in
13
13
  `LANGUAGE_PROFILES` (output extension + prompt label) and, if it has an
14
14
  inline-comment form, its source extensions are in `SCANNED_EXTENSIONS` for
15
15
  `@human` markers. No grounding, no validation; receipt-and-confirm only.
@@ -38,7 +38,7 @@ elevated-risk. Dynamic requires make import grounding partially opaque —
38
38
  document as an accepted limitation like Python's.
39
39
 
40
40
  ## Checklist
41
- 0. Add `.rb` to `SCANNED_EXTENSIONS` in `pipeline/simple.ts` (independent quick win).
41
+ 0. Add `.rb` to `SCANNED_EXTENSIONS` in `agents/direct/discovery.ts` (independent quick win).
42
42
  1. `Ecosystem` union + `analysis/adapters/ruby.ts`.
43
43
  2. `ruby/gem`, `ruby/rails`, `ruby/rack` at `preview`.
44
44
  3. Register adapter; Ruby/Rails skill pack.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "human-to-code",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "description": "Safely turn reviewed natural-language change contracts into validated code patches.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -52,10 +52,5 @@
52
52
  "devDependencies": {
53
53
  "@types/node": "24.13.3",
54
54
  "typescript": "5.9.3"
55
- },
56
- "dependencies": {
57
- "@langchain/core": "^1.2.3",
58
- "@langchain/openai": "^1.5.5",
59
- "langchain": "^1.5.3"
60
55
  }
61
56
  }