Complete step 5 of the migration plan and clean up the implemented roadmap

This commit is contained in:
2026-07-27 22:51:11 -05:00
parent 68cd90c657
commit 532c31c09a
3 changed files with 2 additions and 188 deletions

View File

@@ -1,90 +0,0 @@
# Step 5 Implementation Record
## Status
Complete as of 2026-07-28.
This record summarizes the completed implementation of
[Migration Step 5: Promptkit Repository Foundation](step5.md). The
[main migration roadmap](migration.md) owns the continuing cross-repository
sequence.
## Completed Work
### Validation And Release Decision
- Added accepted
[ADR 0003](../adr/0003-use-maintainer-run-validation-and-tag-only-releases-for-promptkit.md)
for maintainer-run Promptkit validation and source-and-tag releases.
- Preserved accepted
[ADR 0002](../adr/0002-split-promptkit-from-scriptorium.md) and its repository
split, ownership, independent versioning, and release-order decisions.
- Reconciled the migration roadmap so Promptkit validation no longer depends on
hosted CI or binary packaging.
### Promptkit Module And License
- Created module `gitea.maximumdirect.net/eric/promptkit` at Go `1.25.5`.
- Added the root `promptkit` package as the only implemented Go package.
- Kept the module dependency-free and added no placeholder implementation.
- Preserved GPLv3 wording and attribution while changing the two template
example-notice project names to `Promptkit`.
- Confirmed the existing ignore rules cover Go output, editor and operating
system artifacts, `.env`, `go.work`, and `go.work.sum`.
### Policies And Architecture
- Replaced template documentation and architecture material with durable
library-specific policies.
- Assigned canonical documentation ownership, including conditional ownership
for public contracts, integrations, internal subsystems, ADRs, roadmaps, and
examples that may exist later.
- Defined the root facade, internal-package direction, consumer boundary,
exported-API discipline, error boundary, dependency injection, and repository
independence constraints for future extraction.
- Updated testing policy for deterministic, offline, parallel-safe,
behavior-focused, maintainer-run validation.
- Recorded the root package as the sole implemented component.
### Orientation, Development, And Releases
- Rewrote the Promptkit README without claiming unimplemented APIs.
- Replaced the contributor guide with task routing, complete local validation,
focused checks, and safe sibling-repository workflows.
- Added the canonical release procedure for annotated semantic Go module tags,
validation evidence, publication verification, and consumer release ordering.
- Added no hosted CI, binary packaging, executable command, or release tag.
### Cross-Repository Acceptance
Promptkit passed, without an active workspace or local replacement:
```sh
go test ./...
go vet ./...
go build ./...
gofmt -l $(git ls-files '*.go')
git diff --check
```
Acceptance also verified exact module and package metadata, all maintained
Markdown links, clean repository hygiene, the Promptkit origin and tracked
default branch, the absence of dependencies and prohibited artifacts, and the
retained GPLv3 license.
Scriptorium acceptance confirmed that ADR 0003 and the migration roadmap
distinguish Scriptorium's executable CI policy from Promptkit's maintainer-run
checks, preserve the first-tag release gate, and introduce no production code,
module dependency, workspace, or replacement change.
## Repository Boundaries
Promptkit foundation changes remain in Promptkit's Git history. Scriptorium
contains only the durable cross-project ADR and migration-roadmap records. No
tag was created and neither repository was pushed as part of this work.
## Next Work
Migration Step 6 may now extract and stabilize the application-neutral
framework. It must not update Scriptorium to consume Promptkit until Promptkit
passes its documented validation and publishes its first versioned tag.

View File

@@ -147,8 +147,7 @@ tests sufficient to detect behavioral regressions during the split.
**Gate status:** Complete as of 2026-07-27. The framework contract corpus,
public `Engine` characterization, ownership audit, full test and vet suites,
temporary executable build, and maintained offline examples passed. Step 4 is
next.
temporary executable build, and maintained offline examples passed.
### Step 4: Make Scriptorium Adapters Consume The Public Facade
@@ -177,8 +176,7 @@ the HTTP handler, and prepared-run formatting use the public facade; the
restricted HTTP reader is injected through the public extension point. The
post-implementation public-error, deterministic MIME, and recursive
dependency-guard corrections passed full tests, vet, build, race checks,
maintained examples, and configuration smoke checks. Step 5 repository
creation is next.
maintained examples, and configuration smoke checks.
### Step 5: Create The Promptkit Repository

View File

@@ -1,94 +0,0 @@
# Migration Step 5: Promptkit Repository Foundation
## Status
Complete as of 2026-07-28.
## Purpose
Establish Promptkit as an independent, maintainable Go library repository ready
to receive framework extraction in Migration Step 6 without moving framework
behavior prematurely.
The [main migration roadmap](migration.md) owns the overall sequence.
[ADR 0002](../adr/0002-split-promptkit-from-scriptorium.md) owns the repository
boundary, module path, versioning direction, and cross-repository ordering.
[ADR 0003](../adr/0003-use-maintainer-run-validation-and-tag-only-releases-for-promptkit.md)
owns the maintainer-run validation and tag-only release decision.
## Completed Work
### Repository And Module Foundation
- Confirmed the Promptkit repository, maintainer governance, configured origin,
and `main` tracking of `origin/main`.
- Created dependency-free module
`gitea.maximumdirect.net/eric/promptkit` with Go `1.25.5`.
- Added the root `promptkit` package as the sole implemented Go package and
public package boundary.
- Added no framework implementation, exported API, internal package,
speculative package tree, command, workspace file, or local replacement.
- Retained GPLv3 and changed only the two template project names in its example
notices to `Promptkit`.
### Durable Repository Guidance
- Replaced application-template architecture, documentation, and testing
policies with library-specific policies.
- Recorded the root package as the only implemented component and kept future
framework boundaries explicitly unimplemented.
- Rewrote repository orientation and contributor workflow for the Promptkit
module.
- Documented deterministic, offline, parallel-safe, maintainer-run validation.
- Documented temporary sibling workspace and uncommitted replacement workflows
without committing machine-local coupling.
- Added a semantic Go module tag release procedure with no runnable binaries or
hosted CI.
### Decision Reconciliation
- Accepted ADR 0003 as the later controlling decision for Promptkit validation
while leaving ADR 0002 Accepted and its repository-split decision unchanged.
- Reconciled the main migration roadmap with maintainer-run validation,
tag-only releases, and the requirement that Promptkit publish its first
versioned tag before Scriptorium adopts it.
## Acceptance Record
From a clean Promptkit checkout with no active Go workspace or local
replacement, the maintainer successfully ran:
```sh
go test ./...
go vet ./...
go build ./...
gofmt -l $(git ls-files '*.go')
git diff --check
```
The formatting command produced no paths. Acceptance also confirmed:
- module path `gitea.maximumdirect.net/eric/promptkit`, Go `1.25.5`, root
package `promptkit`, and matching import path;
- no external dependency, `go.sum`, `go.work`, `go.work.sum`, or `replace`
directive;
- no hosted CI configuration, command package, release artifact, version tag,
or placeholder framework package;
- every maintained Markdown link resolves;
- repository orientation, policies, inventory, contributor workflow, and
release procedure are internally consistent and free of template residue;
- the configured origin belongs to Promptkit and `main` tracks `origin/main`;
- GPLv3 wording and attribution remain unchanged apart from the two approved
Promptkit example-notice names; and
- Scriptorium contains only the decision and roadmap documentation required for
this foundation work, with no production code or module dependency change.
## Scope Boundary And Next Gate
No framework implementation or public framework API was extracted, no consumer
was migrated, and no `v0.1.0` tag was created. Promptkit remains an independently
valid repository foundation.
Migration Step 6 is now authorized to extract and stabilize the framework. It
must pass Promptkit's documented validation and publish the first versioned tag
before Scriptorium or another consumer adopts the module.