human-to-code 0.1.2 → 0.1.4

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 (184) hide show
  1. package/Readme.md +6 -0
  2. package/dist/analysis/adapters/general.d.ts.map +1 -0
  3. package/dist/analysis/adapters/general.js.map +1 -0
  4. package/dist/analysis/adapters/node.d.ts.map +1 -0
  5. package/dist/{adapters → analysis/adapters}/node.js +6 -0
  6. package/dist/analysis/adapters/node.js.map +1 -0
  7. package/dist/{adapters → analysis/adapters}/python.d.ts +5 -0
  8. package/dist/analysis/adapters/python.d.ts.map +1 -0
  9. package/dist/analysis/adapters/python.js.map +1 -0
  10. package/dist/analysis/adapters/rust.d.ts.map +1 -0
  11. package/dist/{adapters → analysis/adapters}/rust.js +5 -0
  12. package/dist/analysis/adapters/rust.js.map +1 -0
  13. package/dist/analysis/analyzer-types.d.ts.map +1 -0
  14. package/dist/analysis/analyzer-types.js.map +1 -0
  15. package/dist/analysis/analyzer-utils.d.ts.map +1 -0
  16. package/dist/{analyzer-utils.js → analysis/analyzer-utils.js} +5 -0
  17. package/dist/analysis/analyzer-utils.js.map +1 -0
  18. package/dist/analysis/analyzer.d.ts.map +1 -0
  19. package/dist/analysis/analyzer.js.map +1 -0
  20. package/dist/{support-matrix.d.ts → analysis/support-matrix.d.ts} +6 -0
  21. package/dist/analysis/support-matrix.d.ts.map +1 -0
  22. package/dist/analysis/support-matrix.js.map +1 -0
  23. package/dist/cli.d.ts.map +1 -1
  24. package/dist/cli.js +122 -13
  25. package/dist/cli.js.map +1 -1
  26. package/dist/{config.d.ts → config/config.d.ts} +1 -1
  27. package/dist/config/config.d.ts.map +1 -0
  28. package/dist/config/config.js.map +1 -0
  29. package/dist/{discovery.d.ts → config/discovery.d.ts} +1 -1
  30. package/dist/config/discovery.d.ts.map +1 -0
  31. package/dist/config/discovery.js.map +1 -0
  32. package/dist/context/compiler-skills.d.ts.map +1 -0
  33. package/dist/context/compiler-skills.js.map +1 -0
  34. package/dist/{compiler-tools.d.ts → context/compiler-tools.d.ts} +1 -1
  35. package/dist/context/compiler-tools.d.ts.map +1 -0
  36. package/dist/context/compiler-tools.js.map +1 -0
  37. package/dist/context/context.d.ts.map +1 -0
  38. package/dist/{context.js → context/context.js} +1 -1
  39. package/dist/context/context.js.map +1 -0
  40. package/dist/context/documentation.d.ts.map +1 -0
  41. package/dist/{documentation.js → context/documentation.js} +2 -2
  42. package/dist/context/documentation.js.map +1 -0
  43. package/dist/core/contracts.d.ts.map +1 -0
  44. package/dist/core/contracts.js.map +1 -0
  45. package/dist/core/types.d.ts.map +1 -0
  46. package/dist/core/types.js.map +1 -0
  47. package/dist/index.d.ts +27 -22
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +31 -20
  50. package/dist/index.js.map +1 -1
  51. package/dist/{patch.d.ts → pipeline/patch.d.ts} +1 -1
  52. package/dist/pipeline/patch.d.ts.map +1 -0
  53. package/dist/{patch.js → pipeline/patch.js} +1 -1
  54. package/dist/pipeline/patch.js.map +1 -0
  55. package/dist/{planner.d.ts → pipeline/planner.d.ts} +3 -3
  56. package/dist/pipeline/planner.d.ts.map +1 -0
  57. package/dist/{planner.js → pipeline/planner.js} +1 -1
  58. package/dist/pipeline/planner.js.map +1 -0
  59. package/dist/{run-store.d.ts → pipeline/run-store.d.ts} +1 -1
  60. package/dist/pipeline/run-store.d.ts.map +1 -0
  61. package/dist/{run-store.js → pipeline/run-store.js} +2 -2
  62. package/dist/pipeline/run-store.js.map +1 -0
  63. package/dist/pipeline/simple.d.ts +81 -0
  64. package/dist/pipeline/simple.d.ts.map +1 -0
  65. package/dist/pipeline/simple.js +274 -0
  66. package/dist/pipeline/simple.js.map +1 -0
  67. package/dist/pipeline/snapshot.d.ts.map +1 -0
  68. package/dist/{snapshot.js → pipeline/snapshot.js} +1 -1
  69. package/dist/pipeline/snapshot.js.map +1 -0
  70. package/dist/{validation.d.ts → pipeline/validation.d.ts} +1 -1
  71. package/dist/pipeline/validation.d.ts.map +1 -0
  72. package/dist/{validation.js → pipeline/validation.js} +1 -1
  73. package/dist/pipeline/validation.js.map +1 -0
  74. package/dist/{workflow.d.ts → pipeline/workflow.d.ts} +7 -5
  75. package/dist/pipeline/workflow.d.ts.map +1 -0
  76. package/dist/{workflow.js → pipeline/workflow.js} +20 -13
  77. package/dist/pipeline/workflow.js.map +1 -0
  78. package/dist/{certification.d.ts → providers/certification.d.ts} +1 -1
  79. package/dist/providers/certification.d.ts.map +1 -0
  80. package/dist/{certification.js → providers/certification.js} +1 -1
  81. package/dist/providers/certification.js.map +1 -0
  82. package/dist/{provider.d.ts → providers/provider.d.ts} +2 -2
  83. package/dist/providers/provider.d.ts.map +1 -0
  84. package/dist/{provider.js → providers/provider.js} +2 -2
  85. package/dist/providers/provider.js.map +1 -0
  86. package/dist/{providers.d.ts → providers/providers.d.ts} +1 -1
  87. package/dist/providers/providers.d.ts.map +1 -0
  88. package/dist/{providers.js → providers/providers.js} +3 -3
  89. package/dist/providers/providers.js.map +1 -0
  90. package/dist/{schemas.d.ts → providers/schemas.d.ts} +6 -6
  91. package/dist/providers/schemas.d.ts.map +1 -0
  92. package/dist/providers/schemas.js.map +1 -0
  93. package/dist/security/pinned-http.d.ts.map +1 -0
  94. package/dist/security/pinned-http.js.map +1 -0
  95. package/dist/{secret-scan.d.ts → security/secret-scan.d.ts} +1 -1
  96. package/dist/security/secret-scan.d.ts.map +1 -0
  97. package/dist/{secret-scan.js → security/secret-scan.js} +1 -1
  98. package/dist/security/secret-scan.js.map +1 -0
  99. package/docs/ARCHITECTURE.md +150 -0
  100. package/docs/MODULES.md +91 -0
  101. package/docs/SCALABILITY.md +144 -0
  102. package/package.json +2 -1
  103. package/dist/adapters/general.d.ts.map +0 -1
  104. package/dist/adapters/general.js.map +0 -1
  105. package/dist/adapters/node.d.ts.map +0 -1
  106. package/dist/adapters/node.js.map +0 -1
  107. package/dist/adapters/python.d.ts.map +0 -1
  108. package/dist/adapters/python.js.map +0 -1
  109. package/dist/adapters/rust.d.ts.map +0 -1
  110. package/dist/adapters/rust.js.map +0 -1
  111. package/dist/analyzer-types.d.ts.map +0 -1
  112. package/dist/analyzer-types.js.map +0 -1
  113. package/dist/analyzer-utils.d.ts.map +0 -1
  114. package/dist/analyzer-utils.js.map +0 -1
  115. package/dist/analyzer.d.ts.map +0 -1
  116. package/dist/analyzer.js.map +0 -1
  117. package/dist/certification.d.ts.map +0 -1
  118. package/dist/certification.js.map +0 -1
  119. package/dist/compiler-skills.d.ts.map +0 -1
  120. package/dist/compiler-skills.js.map +0 -1
  121. package/dist/compiler-tools.d.ts.map +0 -1
  122. package/dist/compiler-tools.js.map +0 -1
  123. package/dist/config.d.ts.map +0 -1
  124. package/dist/config.js.map +0 -1
  125. package/dist/context.d.ts.map +0 -1
  126. package/dist/context.js.map +0 -1
  127. package/dist/contracts.d.ts.map +0 -1
  128. package/dist/contracts.js.map +0 -1
  129. package/dist/discovery.d.ts.map +0 -1
  130. package/dist/discovery.js.map +0 -1
  131. package/dist/documentation.d.ts.map +0 -1
  132. package/dist/documentation.js.map +0 -1
  133. package/dist/patch.d.ts.map +0 -1
  134. package/dist/patch.js.map +0 -1
  135. package/dist/pinned-http.d.ts.map +0 -1
  136. package/dist/pinned-http.js.map +0 -1
  137. package/dist/planner.d.ts.map +0 -1
  138. package/dist/planner.js.map +0 -1
  139. package/dist/provider.d.ts.map +0 -1
  140. package/dist/provider.js.map +0 -1
  141. package/dist/providers.d.ts.map +0 -1
  142. package/dist/providers.js.map +0 -1
  143. package/dist/run-store.d.ts.map +0 -1
  144. package/dist/run-store.js.map +0 -1
  145. package/dist/schemas.d.ts.map +0 -1
  146. package/dist/schemas.js.map +0 -1
  147. package/dist/secret-scan.d.ts.map +0 -1
  148. package/dist/secret-scan.js.map +0 -1
  149. package/dist/snapshot.d.ts.map +0 -1
  150. package/dist/snapshot.js.map +0 -1
  151. package/dist/support-matrix.d.ts.map +0 -1
  152. package/dist/support-matrix.js.map +0 -1
  153. package/dist/types.d.ts.map +0 -1
  154. package/dist/types.js.map +0 -1
  155. package/dist/validation.d.ts.map +0 -1
  156. package/dist/validation.js.map +0 -1
  157. package/dist/workflow.d.ts.map +0 -1
  158. package/dist/workflow.js.map +0 -1
  159. /package/dist/{adapters → analysis/adapters}/general.d.ts +0 -0
  160. /package/dist/{adapters → analysis/adapters}/general.js +0 -0
  161. /package/dist/{adapters → analysis/adapters}/node.d.ts +0 -0
  162. /package/dist/{adapters → analysis/adapters}/python.js +0 -0
  163. /package/dist/{adapters → analysis/adapters}/rust.d.ts +0 -0
  164. /package/dist/{analyzer-types.d.ts → analysis/analyzer-types.d.ts} +0 -0
  165. /package/dist/{analyzer-types.js → analysis/analyzer-types.js} +0 -0
  166. /package/dist/{analyzer-utils.d.ts → analysis/analyzer-utils.d.ts} +0 -0
  167. /package/dist/{analyzer.d.ts → analysis/analyzer.d.ts} +0 -0
  168. /package/dist/{analyzer.js → analysis/analyzer.js} +0 -0
  169. /package/dist/{support-matrix.js → analysis/support-matrix.js} +0 -0
  170. /package/dist/{config.js → config/config.js} +0 -0
  171. /package/dist/{discovery.js → config/discovery.js} +0 -0
  172. /package/dist/{compiler-skills.d.ts → context/compiler-skills.d.ts} +0 -0
  173. /package/dist/{compiler-skills.js → context/compiler-skills.js} +0 -0
  174. /package/dist/{compiler-tools.js → context/compiler-tools.js} +0 -0
  175. /package/dist/{context.d.ts → context/context.d.ts} +0 -0
  176. /package/dist/{documentation.d.ts → context/documentation.d.ts} +0 -0
  177. /package/dist/{contracts.d.ts → core/contracts.d.ts} +0 -0
  178. /package/dist/{contracts.js → core/contracts.js} +0 -0
  179. /package/dist/{types.d.ts → core/types.d.ts} +0 -0
  180. /package/dist/{types.js → core/types.js} +0 -0
  181. /package/dist/{snapshot.d.ts → pipeline/snapshot.d.ts} +0 -0
  182. /package/dist/{schemas.js → providers/schemas.js} +0 -0
  183. /package/dist/{pinned-http.d.ts → security/pinned-http.d.ts} +0 -0
  184. /package/dist/{pinned-http.js → security/pinned-http.js} +0 -0
@@ -0,0 +1,150 @@
1
+ # Architecture
2
+
3
+ `human-to-code` turns a reviewed natural-language change request into a
4
+ validated, structured code patch. The design goal is not maximum capability —
5
+ it is that every step is **grounded, bounded, auditable, and fail-closed**.
6
+ This document describes how the code is layered, how a run flows through it,
7
+ and the dependency rules that keep the codebase scalable.
8
+
9
+ For per-file detail see [MODULES.md](MODULES.md); for the rules new code must
10
+ follow see [SCALABILITY.md](SCALABILITY.md); for the trust model see
11
+ [../SECURITY.md](../SECURITY.md).
12
+
13
+ ## The pipeline
14
+
15
+ ```text
16
+ static project analysis (src/analysis)
17
+
18
+ reviewed ChangeContractV1 (src/pipeline/planner.ts, src/core/contracts.ts)
19
+
20
+ repository secret scan (src/security/secret-scan.ts)
21
+
22
+ grounded ContextManifestV1 (src/context)
23
+
24
+ provider-generated PatchSetV1 (src/providers)
25
+
26
+ baseline vs candidate in sandbox (src/pipeline/validation.ts)
27
+
28
+ explicit apply + exact rollback (src/pipeline/patch.ts, workflow.ts)
29
+ ```
30
+
31
+ Every arrow is a checkpoint: each stage validates its input artifact by exact
32
+ schema, records provenance hashes, and stops with a typed status
33
+ (`NEEDS_INPUT`, `UNSUPPORTED`, `INCONCLUSIVE`, `FAILED`, `SECURITY_BLOCKED`)
34
+ rather than guessing. Only `VERIFIED` is success for a generated run.
35
+
36
+ ## Layers
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.
41
+
42
+ ```mermaid
43
+ graph TD
44
+ core["core<br/>types, versioned contracts, hashing"]
45
+ config["config<br/>strict config schema, .human discovery"]
46
+ analysis["analysis<br/>static analyzer, support matrix, ecosystem adapters"]
47
+ security["security<br/>secret scanning, pinned HTTPS"]
48
+ context["context<br/>context selection, documentation, compiler skills/tools"]
49
+ providers["providers<br/>adapter contract, OpenAI/Ollama, certification, schemas"]
50
+ pipeline["pipeline<br/>planner, snapshot, patch, sandbox validation, run store, workflow"]
51
+ entry["index.ts / cli.ts<br/>public API and CLI shell"]
52
+
53
+ config --> core
54
+ analysis --> core
55
+ security --> core
56
+ context --> core
57
+ context --> analysis
58
+ context --> security
59
+ providers --> core
60
+ providers --> context
61
+ providers --> analysis
62
+ pipeline --> core
63
+ pipeline --> config
64
+ pipeline --> analysis
65
+ pipeline --> security
66
+ pipeline --> context
67
+ pipeline --> providers
68
+ entry --> pipeline
69
+ ```
70
+
71
+ | Layer | Contents | Why it is separate |
72
+ | --- | --- | --- |
73
+ | `src/core/` | `types.ts`, `contracts.ts` | The versioned artifact vocabulary (`ChangeContractV1`, `PatchSetV1`, `ValidationPlanV1`, `RunRecordV1`, …), exact validators, canonical JSON, and SHA-256 helpers. Everything else speaks in these types, so they must depend on nothing. |
74
+ | `src/config/` | `config.ts`, `discovery.ts` | Operator policy input. Strict schema-versioned JSON (unknown keys rejected, credentials environment-only) and fail-closed discovery of `.human` sources. |
75
+ | `src/analysis/` | `analyzer.ts`, `analyzer-types.ts`, `analyzer-utils.ts`, `support-matrix.ts`, `adapters/` | Read-only static project intelligence. Adapters recognize ecosystems without executing project code; the support matrix declares — never infers — what is supported. |
76
+ | `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
+ | `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
+ | `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`, `simple.ts` | 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. `simple.ts` is the separate lightweight direct-generation path. |
80
+ | 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
+
82
+ Two intentional wrinkles in the layering:
83
+
84
+ - `context/context.ts` exports the `scanSecrets` primitive that `security/`,
85
+ `providers/`, and `pipeline/` reuse at their trust boundaries. The pattern
86
+ library lives once and is imported everywhere a value crosses a boundary.
87
+ - `providers/schemas.ts` lives with providers, not core, because its JSON
88
+ schemas are the provider-facing wire format for `PatchSetV1`, distinct from
89
+ the host-side validators in `core/contracts.ts`.
90
+
91
+ ## Key design decisions
92
+
93
+ **Versioned artifacts, exact validation.** Every hand-off between stages is a
94
+ `*V1` JSON artifact validated with exact-object semantics — unknown fields are
95
+ errors. Changing an artifact's meaning requires a new schema version and an
96
+ explicit migration (see `migrate-config`), never silent reinterpretation.
97
+
98
+ **Provenance by hash.** Contracts bind to the SHA-256 of the `.human` source
99
+ and the project-profile fingerprint; patches carry exact base hashes; apply
100
+ and rollback verify hashes before touching a file. Staleness is detected, not
101
+ tolerated.
102
+
103
+ **Determinism where it belongs.** The LLM writes framework-specific patch
104
+ operations; everything around it — discovery, profiling, contract validation,
105
+ context selection, patch safety checks, validation-plan selection, apply — is
106
+ deterministic host code. The model never chooses its own scope, tools,
107
+ commands, credentials, or acceptance criteria.
108
+
109
+ **Fail-closed everywhere.** Ambiguous analysis returns `NEEDS_INPUT` or
110
+ `UNSUPPORTED`; a partial secret scan is a failure; a missing sandbox makes
111
+ validation `INCONCLUSIVE`; an empty certification registry means no run can be
112
+ `VERIFIED`. There are no bypass flags that turn a failed gate into success.
113
+
114
+ **Untrusted text stays data.** Source comments, READMEs, `.human` text,
115
+ diagnostics, dependency source, and fetched documentation are wrapped as
116
+ evidence and cannot change policy, commands, scope, tests, or budgets.
117
+
118
+ **Zero runtime dependencies.** The package ships with no production
119
+ dependencies; HTTP adapters, hashing, and JSON handling use Node built-ins.
120
+ This keeps the supply-chain surface equal to Node itself.
121
+
122
+ ## The two generation paths
123
+
124
+ 1. **Guided pipeline** (`workflow.ts`, the default `npx human-to-code .`
125
+ flow): full contract → grounding → sandbox validation lifecycle described
126
+ above. This is the production-architecture path.
127
+ 2. **Simple path** (`pipeline/simple.ts`): a deliberately small
128
+ receipt-and-confirm generator for whole `.human` files or inline `@human`
129
+ markers against a local Ollama endpoint. It shares no state with the
130
+ guided pipeline and never gains its trust: it cannot produce `VERIFIED`
131
+ runs, apply patches, or use the run store.
132
+
133
+ ## Where things live at runtime
134
+
135
+ - **Working tree** — never mutated by `generate` or `validate`; only an
136
+ explicit `apply` of a `VERIFIED` run writes to it, atomically per file.
137
+ - **Private run store** (`run-store.ts`, platform cache or
138
+ `HUMAN_TO_CODE_CACHE/runs`) — run records, patches, reports, rollback
139
+ artifacts. Every write is recursively secret-gated.
140
+ - **Snapshots** (`snapshot.ts`) — immutable baseline/candidate copies used
141
+ for generation and sandbox validation, disposed after use.
142
+
143
+ ## Testing shape
144
+
145
+ `test/` mirrors the source modules one-to-one (`analyzer.test.ts`,
146
+ `workflow.test.ts`, …) using `node:test` with injected fetch/DNS/clock/exec
147
+ seams — no real provider, network, or container daemon is required.
148
+ `test/package-smoke.mjs` packs the tarball, installs it into a clean temp
149
+ project, imports the public API, and invokes the installed CLI. See
150
+ [SCALABILITY.md](SCALABILITY.md) for the testing bar new code must meet.
@@ -0,0 +1,91 @@
1
+ # Module guide
2
+
3
+ A per-file map of `src/`, grouped by layer. Layers and dependency rules are
4
+ explained in [ARCHITECTURE.md](ARCHITECTURE.md). Tests live in `test/` and
5
+ mirror these modules by name.
6
+
7
+ ## Entry points (`src/`)
8
+
9
+ | Module | Purpose |
10
+ | --- | --- |
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`. |
13
+
14
+ ## `src/core/` — shared primitives
15
+
16
+ | Module | Purpose |
17
+ | --- | --- |
18
+ | `types.ts` | Small shared types used across the pipeline: `Config`, `ProviderConfig`, `ProviderName`, `SourceFile`, `SourceKind`, `DiscoveryResult`, `TargetLanguage`. |
19
+ | `contracts.ts` | The versioned artifact vocabulary: `ChangeContractV1`, `PatchSetV1` (+ `PatchOperation`), `ValidationPlanV1`, `RunRecordV1`, and friends. Exact-key validators (`validateChangeContractV1`, `validatePatchSetV1`, `validateRunRecordV1`, …), canonical JSON (`canonicalJson`, `hashCanonical`), and hashing helpers (`sha256Text`, `sha256Bytes`). Raises `ArtifactValidationError`. No LLM/SDK dependency by design. |
20
+
21
+ ## `src/config/` — operator policy input
22
+
23
+ | Module | Purpose |
24
+ | --- | --- |
25
+ | `config.ts` | Strict schema-v1 `human-to-code.config.json`: `validateConfig`, `DEFAULT_CONFIG`, `CONFIG_FILENAME`, provider/pricing/privacy/sandbox/budget policy, endpoint trust rules, and explicit alpha-config migration. Unknown keys and credential-like values are rejected; credentials are environment-variable names only. |
26
+ | `discovery.ts` | Fail-closed discovery of `.human` sources and protected secret files (`discover`, `DiscoveryError`, `secretsTrackedError`). Never follows symlinks; never turns a partial scan into an empty success. |
27
+
28
+ ## `src/analysis/` — static project intelligence
29
+
30
+ | Module | Purpose |
31
+ | --- | --- |
32
+ | `analyzer.ts` | `analyzeProject`: deterministic, read-only multi-workspace profiling. Runs every ecosystem adapter over a bounded file inventory and produces a `ProjectProfileV1` with diagnostics; falls back to the ungrounded `general` workspace only when configured. Re-exports the analysis surface consumed by `index.ts`. |
33
+ | `analyzer-types.ts` | Versioned analyzer output types (`ProjectProfileV1`, `WorkspaceProfileV1`, `EcosystemAdapter`, `AnalyzerContext`, evidence/diagnostic/validation-command types) and `PROJECT_PROFILE_SCHEMA_VERSION`. |
34
+ | `analyzer-utils.ts` | Shared adapter infrastructure: bounded repository scanning, hashing, evidence collection, diagnostics, and `finalizeWorkspace`. |
35
+ | `support-matrix.ts` | The declared capability matrix (`SUPPORT_MATRIX`, `SUPPORT_MATRIX_VERSION`, `supportFor`): every recognized ecosystem/variant/version profile and its tier (`certified`/`preview`/`legacy`/…). Support is declared here, never inferred. |
36
+ | `adapters/node.ts` | Static recognition of React (Vite, Next, CRA, libraries, Nx) and NestJS (standalone, CLI monorepo, Nx) workspaces, with version evidence and candidate validation commands. |
37
+ | `adapters/python.ts` | Static recognition of FastAPI applications: environment manager, router/dependency layout, Pydantic, sync/async signals. |
38
+ | `adapters/rust.ts` | Static recognition of Cargo crates/workspaces: edition, toolchain, features, targets, `unsafe`/FFI, build scripts, proc macros, native dependencies. |
39
+ | `adapters/general.ts` | The ungrounded `general` fallback workspace (`buildGeneralWorkspace`). Not a peer adapter: a deliberate lowest-trust last resort with an empty validation plan, pinned to `INCONCLUSIVE`. |
40
+
41
+ ## `src/security/` — fail-closed guards
42
+
43
+ | Module | Purpose |
44
+ | --- | --- |
45
+ | `secret-scan.ts` | Repository-wide first-party credential scan run before any provider access (`scanProjectForSecrets`, `ProjectSecretScanError`). Reports path/line/kind, never the matched value; partial scans fail closed. |
46
+ | `pinned-http.ts` | `pinnedHttpFetch`: dependency-free HTTPS transport whose socket is pinned to a DNS-vetted address while TLS keeps the reviewed hostname. Blocks userinfo, private networks, unsafe redirects, and DNS rebinding. Used for provider and documentation traffic. |
47
+
48
+ ## `src/context/` — what the model may see
49
+
50
+ | Module | Purpose |
51
+ | --- | --- |
52
+ | `context.ts` | Deterministic, secret-aware context selection (`selectContext`, `hashContextManifest`): ranks relevant definitions/tests/config plus dependency evidence into a `ContextManifestV1` where every item records location, range, SHA-256, reason, and redactions. Also home of the `scanSecrets` pattern primitive reused at every trust boundary, and `ContextSecurityError`. |
53
+ | `documentation.ts` | `OfficialDocumentationClient`: allowlisted, exact-version official documentation retrieval (built-in `docs.rs`, operator `officialSources`), with a version-and-content-hash cache, strict offline mode, and safe redirect/DNS revalidation. |
54
+ | `compiler-skills.ts` | `COMPILER_SKILLS` / `skillsForEcosystems`: immutable, non-executable ecosystem policy packs (React, NestJS, FastAPI, Rust, core contract scope) supplied to the compiler agent. Data, not authority. |
55
+ | `compiler-tools.ts` | `CompilerToolExecutor`: the bounded read-only context-request executor advertised only to verified loopback-local providers. At most eight host-validated requests of four kinds; every response is recorded in the final manifest. |
56
+
57
+ ## `src/providers/` — what the model may do
58
+
59
+ | Module | Purpose |
60
+ | --- | --- |
61
+ | `provider.ts` | The provider-neutral contract: `ProviderAdapter`, `JsonSchemaV1`, budget accounting (pessimistic pre-request reservation, usage reconciliation), normalized `ProviderError`s, bounded retries, and the schema gate `generateValidated`. |
62
+ | `providers.ts` | The bundled dependency-free HTTP adapters: `createOpenAIProvider` (Responses API, strict JSON schema) and `createOllamaProvider` (loopback-local native `format`, or Cloud/custom prompt-constrained). Endpoint-bound credentials, manual redirects, bounded response bodies. |
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
+ | `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
+
66
+ ## `src/pipeline/` — run orchestration
67
+
68
+ | Module | Purpose |
69
+ | --- | --- |
70
+ | `planner.ts` | Deterministic creation and loading of reviewed `ChangeContractV1` drafts (`foo.strict.human.json`), bound to source hash and profile fingerprint, with conservative review questions. |
71
+ | `snapshot.ts` | Isolated content-addressed workspace snapshots (`createWorkspaceSnapshot`, `cloneWorkspaceSnapshot`, `disposeWorkspaceSnapshot`) used for generation and baseline/candidate validation. |
72
+ | `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
+ | `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
+ | `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
+ | `simple.ts` | The lightweight direct path: whole-`.human`-file or inline-`@human`-marker generation against local Ollama, with a receipt-and-confirm step. Shares no trust with the guided pipeline; cannot produce `VERIFIED` or apply patches. |
77
+
78
+ ## Test map
79
+
80
+ | Test | Covers |
81
+ | --- | --- |
82
+ | `test/analyzer.test.ts`, `test/general.test.ts` | Static analysis, adapters, and the general fallback. |
83
+ | `test/config.test.ts`, `test/discovery.test.ts` | Config schema/migration and `.human` discovery. |
84
+ | `test/contracts.test.ts` | Artifact validators, canonical JSON, hashing. |
85
+ | `test/context.test.ts`, `test/documentation.test.ts` | Context selection/provenance and documentation retrieval. |
86
+ | `test/secret-scan.test.ts` | Repository credential scanning. |
87
+ | `test/provider.test.ts`, `test/providers.test.ts` | Provider contract, budgets, and HTTP adapters (injected fetch/DNS). |
88
+ | `test/certification.test.ts`, `test/release-gate.test.ts` | Certification evidence gate and release-status honesty. |
89
+ | `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. |
90
+ | `test/cli.test.ts` | Command surface and exit codes. |
91
+ | `test/package-smoke.mjs` | Packed-tarball install, public import, installed-CLI invocation (`npm run package:check`). |
@@ -0,0 +1,144 @@
1
+ # Scalability and engineering practices
2
+
3
+ How to grow this codebase without eroding its guarantees. The safety
4
+ invariants in [CONTRIBUTING.md](../CONTRIBUTING.md#non-negotiable-safety-invariants)
5
+ are the hard floor; this document covers the structural practices that keep
6
+ the code readable and extensible as it scales.
7
+
8
+ ## Layering rules
9
+
10
+ Source lives in layered domain folders (see
11
+ [ARCHITECTURE.md](ARCHITECTURE.md)). The rules:
12
+
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
15
+ below everything). If you need a downward import, the type or helper you
16
+ want belongs in a higher layer — move it, don't bend the arrow.
17
+ 2. **`core/` stays dependency-free.** Nothing in `core/` imports from any
18
+ other folder or from an SDK. It is the shared vocabulary; keeping it leaf
19
+ is what prevents import cycles as the codebase grows.
20
+ 3. **Entry points stay thin.** `cli.ts` parses arguments, maps statuses to
21
+ exit codes, and prints; `index.ts` only re-exports. Behavior belongs in a
22
+ layer, where it is testable without a TTY.
23
+ 4. **One module, one responsibility.** New functionality gets a new file in
24
+ the right folder rather than growing an existing file past its purpose.
25
+ If a file needs a paragraph to describe, it is two files.
26
+ 5. **Every module starts with a `/** … */` header** stating what it does and,
27
+ where relevant, what it deliberately does not do. The headers are the
28
+ first line of documentation; keep them true when behavior changes.
29
+
30
+ ## Extension points
31
+
32
+ The codebase has three designed seams. Extending along them requires no
33
+ changes to the layers above.
34
+
35
+ ### Adding an ecosystem (e.g. Django, Spring)
36
+
37
+ 1. Implement `EcosystemAdapter` (`analysis/analyzer-types.ts`) in a new
38
+ `analysis/adapters/<name>.ts`. Analysis must stay static: inspect only the
39
+ bounded `AnalyzerContext`; never import project modules, evaluate config,
40
+ or spawn tools. Emit version evidence and candidate validation commands.
41
+ 2. Declare the recognized variants/versions in `analysis/support-matrix.ts`,
42
+ starting at `preview` tier. Support is declared, never inferred.
43
+ 3. Register the adapter in `DEFAULT_ECOSYSTEM_ADAPTERS`
44
+ (`analysis/analyzer.ts`).
45
+ 4. Add a skill pack in `context/compiler-skills.ts` for the ecosystem's
46
+ conventions (policy data only — it grants no authority).
47
+ 5. Add positive and adversarial fixtures per the analyzer checklist in
48
+ CONTRIBUTING.md: conflicting lockfiles, ambiguous workspaces, symlinks,
49
+ partial scans, stable ordering and fingerprints.
50
+
51
+ ### Adding a provider (e.g. Anthropic)
52
+
53
+ 1. Implement `ProviderAdapter` (`providers/provider.ts`) in
54
+ `providers/providers.ts` (or a sibling file) using only Node built-ins and
55
+ `security/pinned-http.ts` for transport. No new runtime dependencies.
56
+ 2. Route all output through the existing schema gate (`generateValidated`)
57
+ and budget accounting — pessimistic pre-request reservation, reconciliation
58
+ on provider-reported usage, conservative charge on failure.
59
+ 3. Bind credentials to the endpoint via `apiKeyEnv` only; require reviewed
60
+ pricing bounds for remote endpoints; never advertise context tools to a
61
+ non-loopback destination.
62
+ 4. Wire the name through `config/config.ts` validation and the CLI factory in
63
+ `cli.ts`. No silent fallback of provider, model, or endpoint — ever.
64
+ 5. Test with injected fetch/DNS/clock seams per the provider checklist in
65
+ CONTRIBUTING.md.
66
+
67
+ ### Evolving an artifact schema
68
+
69
+ Artifacts (`*V1` in `core/contracts.ts`) are the contracts between stages and
70
+ between releases:
71
+
72
+ - **Additive and compatible?** Extend the V1 type and its exact validator
73
+ together, plus the JSON Schema in `providers/schemas.ts` if the artifact
74
+ crosses the provider boundary.
75
+ - **Meaning changes?** New version (`*V2`), new validator, explicit migration
76
+ (the `migrate-config` command is the pattern). Never silently reinterpret a
77
+ stored artifact — run records outlive releases.
78
+ - Unknown fields always remain errors. Loosening exact-key validation is a
79
+ design discussion, not a patch.
80
+
81
+ ## Code conventions
82
+
83
+ - **TypeScript strict, no escape hatches.** `strict` and
84
+ `noUncheckedIndexedAccess` stay on; avoid `any` and non-null assertions —
85
+ validate at the boundary and let types flow.
86
+ - **Zero production dependencies.** HTTP, hashing, JSON, and process handling
87
+ use Node built-ins. Adding a runtime dependency changes the supply-chain
88
+ posture and needs a design discussion first.
89
+ - **Errors are typed and named.** Each layer exports its own error classes
90
+ (`ArtifactValidationError`, `ProviderError`, `PatchSafetyError`, …) so the
91
+ CLI can map failures to exit codes without string matching. Error messages
92
+ never contain secret values.
93
+ - **Determinism by default.** Stable ordering for anything hashed, listed, or
94
+ persisted; inject clock/randomness/network/exec as parameters so tests can
95
+ control them.
96
+ - **Statuses, not booleans.** Multi-outcome operations return the typed run
97
+ statuses (`VERIFIED`/`NEEDS_INPUT`/`UNSUPPORTED`/`INCONCLUSIVE`/`FAILED`/
98
+ `SECURITY_BLOCKED`), and only `VERIFIED` is success.
99
+
100
+ ## Testing practices
101
+
102
+ - Every `src/**/x.ts` with behavior has a mirror `test/x.test.ts`; keep the
103
+ mirror when adding or moving modules.
104
+ - Tests are deterministic and offline: injected fetch/DNS/environment/clock
105
+ seams, no real provider, network, or container daemon (the validation tests
106
+ stub the sandbox probe).
107
+ - New behavior ships with its most plausible misuse and failure cases, not
108
+ just the happy path — the per-area checklists in CONTRIBUTING.md are the
109
+ bar.
110
+ - Secret-handling tests use unmistakably synthetic values and assert that raw
111
+ values never appear in errors, reports, or stored artifacts.
112
+ - `npm run typecheck && npm test && npm run build && npm run package:check`
113
+ must pass from a clean install before review; CI runs the same set.
114
+
115
+ ## Documentation practices
116
+
117
+ Documentation is layered like the code — update the layer that owns the fact:
118
+
119
+ | Layer | Owns | Update when |
120
+ | --- | --- | --- |
121
+ | Module headers | What one file does | The file's behavior changes |
122
+ | [docs/MODULES.md](MODULES.md) | The per-file map | A module is added, moved, or repurposed |
123
+ | [docs/ARCHITECTURE.md](ARCHITECTURE.md) | Layers, flow, design decisions | A layer, stage, or invariant-relevant design changes |
124
+ | [Readme.md](../Readme.md) | User-facing behavior and guarantees | CLI behavior, config, statuses, or limitations change |
125
+ | [SECURITY.md](../SECURITY.md) | Trust model | Any trust-boundary change |
126
+ | [CONTRIBUTING.md](../CONTRIBUTING.md) | Invariants and checklists | The engineering bar itself changes |
127
+
128
+ A pull request that changes behavior updates the affected documentation in
129
+ the same change — documentation drift is treated as a defect, and honest
130
+ wording is part of review (never describe a fail-closed limitation as a
131
+ feature gap to be papered over).
132
+
133
+ ## Growth guardrails
134
+
135
+ - **When a folder accumulates unrelated concerns, split the folder**, not
136
+ just the file — the layer list in ARCHITECTURE.md is expected to grow.
137
+ - **New capability starts fail-closed.** Ship recognition at `preview`,
138
+ refuse ambiguity, and let certification evidence — not confidence — promote
139
+ it. This is what keeps adding surface area from multiplying risk.
140
+ - **No bypass flags.** If a gate is inconvenient, the fix is evidence or
141
+ design, never a flag that converts a non-success status into exit 0.
142
+ - **Entry-point stability.** `src/index.ts` and `src/cli.ts` stay at the
143
+ source root so `dist/index.js` and `dist/cli.js` (package `main`/`bin`)
144
+ never move; reorganize beneath them freely.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "human-to-code",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Safely turn reviewed natural-language change contracts into validated code patches.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -19,6 +19,7 @@
19
19
  "files": [
20
20
  "dist",
21
21
  "assets",
22
+ "docs",
22
23
  "Readme.md",
23
24
  "SECURITY.md",
24
25
  "LICENSE"
@@ -1 +0,0 @@
1
- {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/adapters/general.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAKhF,iEAAiE;AACjE,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,MAAM,GACf,kBAAkB,CA0CpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/adapters/general.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,iEAAiE;AACjE,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAClD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACnG,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAwB,EACxB,QAAgB;IAEhB,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAC9D,OAAO,iBAAiB,CAAC;QACvB,aAAa,EAAE,8BAA8B;QAC7C,EAAE,EAAE,WAAW;QACf,YAAY,EAAE,GAAG;QACjB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC;QAC9C,SAAS,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE;QACxC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE;QAChD,OAAO,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC1D,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,CAAC,GAAG,CAAC;QAClB,SAAS,EAAE,EAAE;QACb,cAAc,EAAE,EAAE;QAClB,cAAc,EAAE,EAAE;QAClB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QAChC,aAAa,EAAE,EAAE;QACjB,qBAAqB,EAAE,EAAE;QACzB,aAAa,EAAE,EAAE;QACjB,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC1D,4EAA4E;QAC5E,uEAAuE;QACvE,cAAc,EAAE,EAAE;QAClB,gBAAgB,EAAE;YAChB,gHAAgH;YAChH,+GAA+G;SAChH;QACD,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,4BAA4B;gBAClC,OAAO,EAAE,uDAAuD,kBAAkB,0FAA0F;gBAC5K,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,CAAC,GAAG,CAAC;aACb;SACF;QACD,QAAQ,EAAE,EAAE;KACb,CAAC,CAAC;AACL,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/adapters/node.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EAGf,gBAAgB,EAIhB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AA+pC9B,2EAA2E;AAC3E,qBAAa,oBAAqB,YAAW,gBAAgB;IAG3D,QAAQ,CAAC,SAAS,EAAG,OAAO,CAAU;IAEhC,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAgBvE;AAED,eAAO,MAAM,oBAAoB,sBAA6B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/adapters/node.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../src/adapters/python.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAGf,gBAAgB,EAIhB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AA8nB9B,qBAAa,uBAAwB,YAAW,gBAAgB;IAC9D,QAAQ,CAAC,SAAS,EAAG,SAAS,CAAU;IAElC,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAMvE;AAED,eAAO,MAAM,uBAAuB,yBAAgC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"python.js","sourceRoot":"","sources":["../../src/adapters/python.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../src/adapters/rust.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EAGf,gBAAgB,EAIhB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAiqB9B,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,QAAQ,CAAC,SAAS,EAAG,MAAM,CAAU;IAE/B,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAMvE;AAED,eAAO,MAAM,oBAAoB,sBAA6B,CAAC"}