human-to-code 0.1.13 → 0.1.16

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 (133) hide show
  1. package/Readme.md +21 -43
  2. package/SECURITY.md +16 -1
  3. package/dist/agents/direct/application.d.ts +10 -0
  4. package/dist/agents/direct/application.d.ts.map +1 -0
  5. package/dist/agents/direct/application.js +51 -0
  6. package/dist/agents/direct/application.js.map +1 -0
  7. package/dist/agents/direct/candidate-validation.d.ts +8 -0
  8. package/dist/agents/direct/candidate-validation.d.ts.map +1 -0
  9. package/dist/agents/direct/candidate-validation.js +125 -0
  10. package/dist/agents/direct/candidate-validation.js.map +1 -0
  11. package/dist/agents/direct/declarations.d.ts +3 -0
  12. package/dist/agents/direct/declarations.d.ts.map +1 -0
  13. package/dist/agents/direct/declarations.js +36 -0
  14. package/dist/agents/direct/declarations.js.map +1 -0
  15. package/dist/agents/direct/discovery.d.ts +6 -0
  16. package/dist/agents/direct/discovery.d.ts.map +1 -0
  17. package/dist/agents/direct/discovery.js +144 -0
  18. package/dist/agents/direct/discovery.js.map +1 -0
  19. package/dist/agents/direct/file-memory.d.ts +20 -0
  20. package/dist/agents/direct/file-memory.d.ts.map +1 -0
  21. package/dist/agents/direct/file-memory.js +170 -0
  22. package/dist/agents/direct/file-memory.js.map +1 -0
  23. package/dist/agents/direct/generation-client.d.ts +4 -0
  24. package/dist/agents/direct/generation-client.d.ts.map +1 -0
  25. package/dist/agents/direct/generation-client.js +56 -0
  26. package/dist/agents/direct/generation-client.js.map +1 -0
  27. package/dist/agents/direct/index.d.ts +13 -0
  28. package/dist/agents/direct/index.d.ts.map +1 -0
  29. package/dist/agents/direct/index.js +13 -0
  30. package/dist/agents/direct/index.js.map +1 -0
  31. package/dist/agents/direct/languages.d.ts +5 -0
  32. package/dist/agents/direct/languages.d.ts.map +1 -0
  33. package/dist/agents/direct/languages.js +17 -0
  34. package/dist/agents/direct/languages.js.map +1 -0
  35. package/dist/agents/direct/marker-parser.d.ts +8 -0
  36. package/dist/agents/direct/marker-parser.d.ts.map +1 -0
  37. package/dist/agents/direct/marker-parser.js +83 -0
  38. package/dist/agents/direct/marker-parser.js.map +1 -0
  39. package/dist/agents/direct/presentation.d.ts +7 -0
  40. package/dist/agents/direct/presentation.d.ts.map +1 -0
  41. package/dist/agents/direct/presentation.js +42 -0
  42. package/dist/agents/direct/presentation.js.map +1 -0
  43. package/dist/agents/direct/replacement.d.ts +10 -0
  44. package/dist/agents/direct/replacement.d.ts.map +1 -0
  45. package/dist/agents/direct/replacement.js +19 -0
  46. package/dist/agents/direct/replacement.js.map +1 -0
  47. package/dist/agents/direct/types.d.ts +87 -0
  48. package/dist/agents/direct/types.d.ts.map +1 -0
  49. package/dist/agents/direct/types.js +2 -0
  50. package/dist/agents/direct/types.js.map +1 -0
  51. package/dist/agents/guided/api-grounding.d.ts +6 -0
  52. package/dist/agents/guided/api-grounding.d.ts.map +1 -0
  53. package/dist/agents/guided/api-grounding.js +158 -0
  54. package/dist/agents/guided/api-grounding.js.map +1 -0
  55. package/dist/agents/guided/index.d.ts +7 -0
  56. package/dist/agents/guided/index.d.ts.map +1 -0
  57. package/dist/agents/guided/index.js +7 -0
  58. package/dist/agents/guided/index.js.map +1 -0
  59. package/dist/agents/guided/patch-diff.d.ts +4 -0
  60. package/dist/agents/guided/patch-diff.d.ts.map +1 -0
  61. package/dist/agents/guided/patch-diff.js +31 -0
  62. package/dist/agents/guided/patch-diff.js.map +1 -0
  63. package/dist/agents/guided/types.d.ts +55 -0
  64. package/dist/agents/guided/types.d.ts.map +1 -0
  65. package/dist/agents/guided/types.js +2 -0
  66. package/dist/agents/guided/types.js.map +1 -0
  67. package/dist/agents/guided/workflow.d.ts +17 -0
  68. package/dist/agents/guided/workflow.d.ts.map +1 -0
  69. package/dist/agents/guided/workflow.js +1360 -0
  70. package/dist/agents/guided/workflow.js.map +1 -0
  71. package/dist/agents/guided/workspace-policy.d.ts +9 -0
  72. package/dist/agents/guided/workspace-policy.d.ts.map +1 -0
  73. package/dist/agents/guided/workspace-policy.js +83 -0
  74. package/dist/agents/guided/workspace-policy.js.map +1 -0
  75. package/dist/cli.d.ts.map +1 -1
  76. package/dist/cli.js +22 -61
  77. package/dist/cli.js.map +1 -1
  78. package/dist/index.d.ts +3 -1
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +4 -1
  81. package/dist/index.js.map +1 -1
  82. package/dist/pipeline/file-memory.d.ts.map +1 -1
  83. package/dist/pipeline/file-memory.js +42 -1
  84. package/dist/pipeline/file-memory.js.map +1 -1
  85. package/dist/pipeline/simple.d.ts +3 -160
  86. package/dist/pipeline/simple.d.ts.map +1 -1
  87. package/dist/pipeline/simple.js +3 -502
  88. package/dist/pipeline/simple.js.map +1 -1
  89. package/dist/pipeline/workflow.d.ts +5 -66
  90. package/dist/pipeline/workflow.d.ts.map +1 -1
  91. package/dist/pipeline/workflow.js +5 -1642
  92. package/dist/pipeline/workflow.js.map +1 -1
  93. package/dist/prompts/direct-conversion.d.ts +13 -0
  94. package/dist/prompts/direct-conversion.d.ts.map +1 -0
  95. package/dist/prompts/direct-conversion.js +35 -0
  96. package/dist/prompts/direct-conversion.js.map +1 -0
  97. package/dist/prompts/guided-patch.d.ts +14 -0
  98. package/dist/prompts/guided-patch.d.ts.map +1 -0
  99. package/dist/prompts/guided-patch.js +41 -0
  100. package/dist/prompts/guided-patch.js.map +1 -0
  101. package/dist/prompts/guided-repair.d.ts +12 -0
  102. package/dist/prompts/guided-repair.d.ts.map +1 -0
  103. package/dist/prompts/guided-repair.js +30 -0
  104. package/dist/prompts/guided-repair.js.map +1 -0
  105. package/dist/prompts/index.d.ts +6 -0
  106. package/dist/prompts/index.d.ts.map +1 -0
  107. package/dist/prompts/index.js +6 -0
  108. package/dist/prompts/index.js.map +1 -0
  109. package/dist/prompts/provider-output.d.ts +4 -0
  110. package/dist/prompts/provider-output.d.ts.map +1 -0
  111. package/dist/prompts/provider-output.js +12 -0
  112. package/dist/prompts/provider-output.js.map +1 -0
  113. package/dist/providers/providers.d.ts.map +1 -1
  114. package/dist/providers/providers.js +2 -10
  115. package/dist/providers/providers.js.map +1 -1
  116. package/docs/ARCHITECTURE.md +42 -35
  117. package/docs/MODULES.md +51 -11
  118. package/docs/SCALABILITY.md +11 -9
  119. package/docs/roadmap/README.md +3 -2
  120. package/docs/roadmap/ruby.md +3 -4
  121. package/package.json +5 -8
  122. package/dist/pipeline/agent-tools.d.ts +0 -348
  123. package/dist/pipeline/agent-tools.d.ts.map +0 -1
  124. package/dist/pipeline/agent-tools.js +0 -542
  125. package/dist/pipeline/agent-tools.js.map +0 -1
  126. package/dist/pipeline/agent-tui.d.ts +0 -15
  127. package/dist/pipeline/agent-tui.d.ts.map +0 -1
  128. package/dist/pipeline/agent-tui.js +0 -133
  129. package/dist/pipeline/agent-tui.js.map +0 -1
  130. package/dist/pipeline/deep-agent.d.ts +0 -61
  131. package/dist/pipeline/deep-agent.d.ts.map +0 -1
  132. package/dist/pipeline/deep-agent.js +0 -395
  133. 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,40 +127,35 @@ 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 guided pipeline and host safety code (hashing,
136
+ patch validation, sandbox validation, HTTP adapters, secret scanning) use Node
137
+ built-ins. The direct agent has one deliberate runtime parser dependency:
138
+ TypeScript, used to reject malformed JavaScript/TypeScript candidates before
139
+ they reach the working tree. Other direct languages use host-owned structural
140
+ checks; adding another runtime dependency still requires design review.
127
141
 
128
142
  ## The generation paths
129
143
 
130
- 1. **Deterministic engine** (`pipeline/simple.ts`, the default
144
+ 1. **Direct agent** (`agents/direct/`, the default
131
145
  `npx human-to-code .` flow): host code discovers the worklist, and for each
132
146
  unit issues **one plain model completion** (no tool calls), applying the
133
- result by exact marker range. It statically indexes declarations into
147
+ result only after output normalization and candidate syntax validation. It
148
+ statically indexes declarations into
134
149
  ephemeral FileMemory (with few-shot prompting) so the model reuses rather
135
- than re-declares symbols. Each marker is isolated — a bad or failing unit is
136
- retried, then skipped with a reason, and the rest still convert; only a
137
- security stop aborts the run. This is fast and works with small models that
138
- cannot do tool-calling. It shares no state with the guided pipeline and never
139
- 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
150
+ than re-declares symbols. Exclusive whole-file creation prevents sibling
151
+ overwrite, while exact marker-byte checks and shared indentation formatting
152
+ make inline application stale-safe. Each marker is isolated a bad or
153
+ failing unit is retried, then skipped with a reason, and the rest still
154
+ convert; only a security stop aborts the run. This is fast and works with
155
+ small models that cannot do tool-calling. Its syntax checks are not project
156
+ builds, semantic verification, or sandbox execution. It shares no state with
157
+ the guided pipeline and never reaches `VERIFIED`.
158
+ 2. **Guided agent** (`agents/guided/`, the `guided` subcommand): full
152
159
  contract → grounding → sandbox validation lifecycle described above. This is
153
160
  the production-architecture path and the only one that can reach `VERIFIED`.
154
161
 
@@ -165,7 +172,7 @@ dependencies to any layer other than the deep-agent engine
165
172
  ## Testing shape
166
173
 
167
174
  `test/` mirrors the source modules one-to-one (`analyzer.test.ts`,
168
- `workflow.test.ts`, …) using `node:test` with injected fetch/DNS/clock/exec
175
+ `guided-agent.test.ts`, …) using `node:test` with injected fetch/DNS/clock/exec
169
176
  seams — no real provider, network, or container daemon is required.
170
177
  `test/package-smoke.mjs` packs the tarball, installs it into a clean temp
171
178
  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,50 @@ 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 line, block, and JSDoc `@human` comment markers; quoted and already-commented examples stay inert. |
88
+ | `discovery.ts` | Bounded file walking and conversion-unit creation, including existing-target and unsupported-marker notices. |
89
+ | `declarations.ts` | Language-aware declared-identifier extraction, including type-led C, C++, C#, and Java declarations. |
90
+ | `replacement.ts` | Exact inline-marker byte verification plus newline-preserving indentation formatting shared by memory and application. |
91
+ | `candidate-validation.ts` | Pre-write syntax gate: TypeScript parser diagnostics for JS/TS and deterministic structure checks for other direct languages. It does not claim semantic or sandbox verification. |
92
+ | `file-memory.ts` | Ephemeral declaration memory, replacement normalization, candidate-validation retry isolation, and sequential per-file generation. |
93
+ | `generation-client.ts` | One direct provider request through OpenAI-compatible chat or Ollama, using the central direct prompt builder. |
94
+ | `presentation.ts` | Stable conversion receipt and unambiguous single-code-block extraction; rejects multiple or unterminated fences. |
95
+ | `application.ts` | Stale-safe inline replacement and exclusive whole-file creation that never overwrites a sibling. |
96
+ | `index.ts` | Direct-agent export surface used by the CLI and package entry point. |
97
+
98
+ ### `src/agents/guided/`
99
+
100
+ | Module | Purpose |
101
+ | --- | --- |
102
+ | `types.ts` | Guided run inputs, outputs, certification, and stored-validation options. |
103
+ | `workspace-policy.ts` | Conservative workspace selection, override merging, and validation-plan construction. |
104
+ | `patch-diff.ts` | Stable review-oriented rendering for structured patch operations. |
105
+ | `api-grounding.ts` | Static detection and evidence checks for external APIs introduced by a patch. |
106
+ | `workflow.ts` | Auditable `generateRun`, validate/repair, verified apply, and exact rollback lifecycle. Coordinates deterministic services but contains no prompt prose. |
107
+ | `index.ts` | Guided-agent export surface used by the CLI and package entry point. |
108
+
109
+ ## `src/pipeline/` — deterministic execution mechanics
67
110
 
68
111
  | Module | Purpose |
69
112
  | --- | --- |
@@ -72,12 +115,9 @@ mirror these modules by name.
72
115
  | `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
116
  | `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
117
  | `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
- | `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. |
118
+ | `file-memory.ts` | Dependency-free static declaration/signature indexing for every language scanned by the direct path, including JavaScript regex-literal awareness. Produces exact line-range evidence without executing project code. |
119
+ | `simple.ts` | Deprecated source-compatibility re-export for `agents/direct/`; contains no implementation. |
120
+ | `workflow.ts` | Deprecated source-compatibility re-export for `agents/guided/`; contains no implementation. |
81
121
 
82
122
  ## Test map
83
123
 
@@ -90,8 +130,8 @@ mirror these modules by name.
90
130
  | `test/secret-scan.test.ts` | Repository credential scanning. |
91
131
  | `test/provider.test.ts`, `test/providers.test.ts` | Provider contract, budgets, and HTTP adapters (injected fetch/DNS). |
92
132
  | `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). |
133
+ | `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. |
134
+ | `test/direct-agent.test.ts` | Lexical marker discovery, FileMemory indexing/normalization, provider prompts, retry isolation, and application. |
135
+ | `test/direct-reliability.test.ts` | Regression coverage for direct issues 02 and 04–11: JSDoc, output cleanup, validation, overwrite/staleness/indent guards, regex memory, C-family declarations, and discovery notices. |
96
136
  | `test/cli.test.ts` | Command surface and exit codes. |
97
137
  | `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,11 @@ 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. TypeScript is the one
91
+ deliberate runtime parser dependency for direct JS/TS candidate validation.
92
+ Adding another runtime dependency changes the supply-chain posture and needs
93
+ a design discussion first.
92
94
  - **Errors are typed and named.** Each layer exports its own error classes
93
95
  (`ArtifactValidationError`, `ProviderError`, `PatchSafetyError`, …) so the
94
96
  CLI can map failures to exit codes without string matching. Error messages
@@ -102,8 +104,8 @@ between releases:
102
104
 
103
105
  ## Testing practices
104
106
 
105
- - Every `src/**/x.ts` with behavior has a mirror `test/x.test.ts`; keep the
106
- mirror when adding or moving modules.
107
+ - Every cohesive agent or deterministic service has a focused mirror test;
108
+ keep imports pointed at the primary module rather than compatibility shims.
107
109
  - Tests are deterministic and offline: injected fetch/DNS/environment/clock
108
110
  seams, no real provider, network, or container daemon (the validation tests
109
111
  stub the sandbox probe).
@@ -9,10 +9,11 @@ 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
- `@human` markers. No grounding, no validation; receipt-and-confirm only.
15
+ `@human` markers. This path has pre-write syntax/structure checks, but no API
16
+ grounding, project build/test execution, sandbox, or `VERIFIED` status.
16
17
  *Today: TypeScript, JavaScript, Python, Rust, Go, Java, Ruby, C#, C++, C.*
17
18
  2. **General fallback** (`src/analysis/adapters/general.ts`) — any declared
18
19
  language can flow through the guided pipeline ungrounded, permanently
@@ -1,9 +1,9 @@
1
1
  # Ruby support plan
2
2
 
3
3
  ## Status today
4
- Level 1: `LANGUAGE_PROFILES` has `ruby` (`.rb`); `.rb` is **not** yet in
5
- `SCANNED_EXTENSIONS`, so inline `# @human` markers in Ruby files are not
6
- discovered adding it is a one-line prerequisite worth shipping early.
4
+ Level 1: `LANGUAGE_PROFILES` has `ruby` (`.rb`) and `.rb` is in
5
+ `SCANNED_EXTENSIONS`, so whole-file `.human` and inline `# @human` markers
6
+ work through the direct path. No grounded profile exists yet.
7
7
 
8
8
  ## Target profile
9
9
  - `Ecosystem`: `ruby`.
@@ -38,7 +38,6 @@ 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).
42
41
  1. `Ecosystem` union + `analysis/adapters/ruby.ts`.
43
42
  2. `ruby/gem`, `ruby/rails`, `ruby/rack` at `preview`.
44
43
  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.16",
4
4
  "description": "Safely turn reviewed natural-language change contracts into validated code patches.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -28,6 +28,9 @@
28
28
  "engines": {
29
29
  "node": ">=24.0.0"
30
30
  },
31
+ "dependencies": {
32
+ "typescript": "5.9.3"
33
+ },
31
34
  "scripts": {
32
35
  "build": "tsc -p tsconfig.json",
33
36
  "clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
@@ -50,12 +53,6 @@
50
53
  "access": "public"
51
54
  },
52
55
  "devDependencies": {
53
- "@types/node": "24.13.3",
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"
56
+ "@types/node": "24.13.3"
60
57
  }
61
58
  }