# Migration Step 7: Slim Scriptorium And Adopt Promptkit ## Status Complete as of 2026-07-28. ## Result Scriptorium is now an application-only consumer of the published `gitea.maximumdirect.net/eric/promptkit v0.1.0` module. The command, CLI and HTTP adapters, restricted artifact reader, and prepared-run formatter use Promptkit's supported public API. The dependency resolves normally to Promptkit commit `9e68a2bbf779545995270c47842048a3bc6c85dc` without a workspace, replacement, vendored copy, or unpublished revision. The Scriptorium module root no longer provides an importable Go package or compatibility facade. The reusable framework packages, embedded built-in profiles, framework contract tests and fixtures, and Go-library example were removed. Architecture tests prevent production imports of the former root facade, removed framework package families, and Promptkit internals. ## Retained Application Boundary Scriptorium owns only its runnable process and application concerns: - command and CLI parsing, assembly, streams, summaries, and exit behavior; - HTTP routes, DTOs, strict decoding, limits, public error mapping, and restricted artifact access; - application configuration discovery, validation, precedence, and transport defaults; - prepared-run text and JSON presentation; - executable examples, operations guidance, and binary packaging. Promptkit owns prompt execution, framework sources and formats, validation, model integration, built-in profiles, and ordinary artifact loading. Scriptorium's permanent documentation reflects that boundary and links to the tagged Promptkit contracts rather than duplicating them. ## Acceptance The completed cutover passed: - module graph and tidiness checks selecting exactly Promptkit `v0.1.0`; - ordinary and race-enabled Scriptorium tests, vet, formatting, whitespace, architecture, and repository-hygiene checks; - temporary native and release-equivalent cross-builds; - maintained offline render workflows with both application configurations; - maintained local and tagged-documentation link checks; - fresh-cache remote dependency resolution, tests, and build with the expected Promptkit origin commit; and - Promptkit's complete documented validation independently at its clean local and remote `v0.1.0` tag. These checks cover the retained CLI, HTTP, configuration, containment, formatting, error-mapping, security, and representative executable behavior. The working trees contain no generated binaries, temporary workspaces, replacement directives, credentials, or migration residue. ## Handoff The Step 7 gate is satisfied. [Step 8](migration.md#step-8-migrate-downstream-consumers-to-promptkit) owns downstream consumer inventory and migration. Step 9 remains responsible for the breaking Scriptorium release and final documentation cutover; neither later gate is complete.