Complete step 5 of the migration plan and clean up the implemented roadmap
This commit is contained in:
@@ -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.
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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.
|
||||
Reference in New Issue
Block a user