2026-07-26 14:06:55 +00:00
# Internal Component Overview
2026-07-28 14:21:19 +00:00
This is the complete inventory of Scriptorium's implemented Go components.
The [architecture policy ](../policy/architecture.md ) owns normative boundaries;
public behavior belongs in the linked contracts.
2026-07-26 14:06:55 +00:00
| Component | Implemented responsibility | References |
| --- | --- | --- |
2026-07-28 14:21:19 +00:00
| `cmd/scriptorium` | Process entrypoint that delegates arguments and streams to the CLI adapter. | [CLI contract ](../cli.md ), [adapter internals ](adapters.md ) |
| `internal/adapter/cli` | Parses commands, resolves application settings, constructs Promptkit engines, maps requests, and owns process output and exit behavior. | [CLI contract ](../cli.md ), [adapter internals ](adapters.md ) |
| `internal/adapter/http` | Owns routes, DTOs, strict decoding, limits, Promptkit request/result mapping, public error mapping, and restricted HTTP artifact reading. | [HTTP API ](../api.md ), [adapter internals ](adapters.md ), [source internals ](sources.md ) |
| `internal/config` | Discovers and strictly decodes application configuration and applies built-in and CLI precedence. | [configuration contract ](../config.md ), [adapter internals ](adapters.md ) |
| `internal/defaults` | Holds Scriptorium-owned application and HTTP defaults. | [configuration contract ](../config.md ) |
2026-08-29 15:16:25 +00:00
| `internal/format` | Formats Promptkit prepared-run and prompt/profile inspection values for CLI text or JSON output. | [CLI contract ](../cli.md ), [adapter internals ](adapters.md ) |
2026-09-26 15:41:54 +00:00
| `internal/report` | Projects one terminal Promptkit observation into Scriptorium-owned execution metadata. | [adapter internals ](adapters.md ) |
2026-07-28 14:21:19 +00:00
Framework implementation packages are provided by
2026-09-26 15:24:55 +00:00
[Promptkit v0.11.0 ](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.11.0/docs/consumers/pkg-promptkit.md )
2026-07-28 14:21:19 +00:00
and are not part of this repository.