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,
|
**Gate status:** Complete as of 2026-07-27. The framework contract corpus,
|
||||||
public `Engine` characterization, ownership audit, full test and vet suites,
|
public `Engine` characterization, ownership audit, full test and vet suites,
|
||||||
temporary executable build, and maintained offline examples passed. Step 4 is
|
temporary executable build, and maintained offline examples passed.
|
||||||
next.
|
|
||||||
|
|
||||||
### Step 4: Make Scriptorium Adapters Consume The Public Facade
|
### 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
|
restricted HTTP reader is injected through the public extension point. The
|
||||||
post-implementation public-error, deterministic MIME, and recursive
|
post-implementation public-error, deterministic MIME, and recursive
|
||||||
dependency-guard corrections passed full tests, vet, build, race checks,
|
dependency-guard corrections passed full tests, vet, build, race checks,
|
||||||
maintained examples, and configuration smoke checks. Step 5 repository
|
maintained examples, and configuration smoke checks.
|
||||||
creation is next.
|
|
||||||
|
|
||||||
### Step 5: Create The Promptkit Repository
|
### 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