Add transform resolver wiring

This commit is contained in:
2026-05-31 03:30:08 +00:00
parent be4a61fbe6
commit f2ec7bd11e
7 changed files with 113 additions and 8 deletions

View File

@@ -6,7 +6,7 @@
## Inputs and outputs
Inputs are a source bundle, source backend, destination backend, pipeline id, destination id, publish policy, transfer policy, destination bundle path, and existing destination state.
Inputs are a source bundle, source backend, destination backend, pipeline id, destination id, publish policy, transform policy, transformer resolver, transfer policy, destination bundle path, and existing destination state.
Output is a plan with an action, reason, and selected source or generated outputs. Execution writes selected source files, generated files, and `.distributor.json` for publish or replacement actions.
@@ -18,7 +18,7 @@ Supported actions are publish new, replace older destination, skip same source,
The current implementation publishes source files and Markdown-to-HTML sidecar outputs. Remote backend execution is not implemented.
The package uses `internal/state` for destination comparison, `internal/storage` for IO, and the shared `internal/config` publish/transform policy helper for request validation. It does not parse CLI flags or load config files.
The package uses `internal/state` for destination comparison, `internal/storage` for IO, and the shared `internal/config` publish/transform policy helper for request validation. It resolves transforms through a narrow resolver supplied by the caller; concrete transform registration is owned by the app layer. It does not parse CLI flags or load config files.
## Safety

View File

@@ -18,6 +18,8 @@ Generated HTML is deterministic for the same source content and transform config
Transforms do not publish files, mutate source bundles, or write destination state. Publish planning selects and writes transform outputs.
The app layer owns default transform registration. The transform package does not import concrete transform implementations.
## Tests
Before changing transform behavior, inspect tests under `internal/transform`.