Plan 1: Critical bug fixes (v0.7.1, zero breakage) - ACTION chain, panic recovery, defer shutdown, stale code removal Plan 2: Registry[T] primitive (Section 20) - Foundation brick, migration of 5 internal registries Plan 3: Action/Task system (Section 18) - Named callables, task composition, cascade fix Plan 4: c.Process() primitive (Section 17) - go-process v0.7.0, proc.go migration, atomic writes Plan 5: Missing primitives + AX-7 - core.ID(), ValidateName, WriteAtomic, RunE(), test coverage Plan 6: Ecosystem sweep (Phase 3) - 44 repos in 5 batches, Codex dispatch with RFC as spec Each plan lists: files to change, code examples, what it resolves, dependencies on other plans, and migration strategy. Co-Authored-By: Virgil <virgil@lethean.io>
2.3 KiB
2.3 KiB
Implementation Plan 6 — Ecosystem Sweep (Phase 3)
Depends on: Plans 1-5 complete. 44 repos need updating. Use Codex dispatch with RFC as the spec.
Breaking Changes
StartableV2 (if P3-1 adopted)
type StartableV2 interface {
OnStartup(ctx context.Context) Result
}
Core checks V2 first, falls back to V1. No breakage. Deprecation notice on V1.
Codex template: "If this repo implements OnStartup returning error, add a V2 variant returning core.Result alongside it."
RunE() exists alongside Run()
No breakage — Run() still works. New code uses RunE().
Command.Managed replaces CommandLifecycle
// Old:
Command{Lifecycle: myLifecycle}
// New:
Command{Managed: "process.daemon"}
Codex template: "If this repo uses Command.Lifecycle, replace with Managed field."
Per-Repo Sweep Checklist
For each of 44 repos:
- Update
go.modto core v0.8.0 - Replace
OnStartup() errorwithOnStartup() Result(if V2 adopted) - Replace
os/execwithc.Process()calls - Replace manual
unsafe.PointerFs hacks withFs.NewUnrestricted() - Run AX-7 gap analysis, fill missing Good/Bad/Ugly
- Rename tests to
TestFile_Function_{Good,Bad,Ugly} - Add
llm.txtandAGENTS.md - Verify
go test ./...passes - Create PR to dev
Dispatch Strategy
Batch 1 (core packages — we control):
core/go, core/agent, core/mcp, go-process, go-io, go-log
Batch 2 (utility packages):
go-config, go-git, go-scm, go-cache, go-store, go-session
Batch 3 (domain packages):
go-forge, go-api, go-build, go-devops, go-container
Batch 4 (application packages):
gui, cli, ts, php, ide, lint
Batch 5 (research/experimental):
go-ai, go-ml, go-mlx, go-inference, go-rag, go-rocm
Each batch is one Codex sweep. Verify batch N before starting N+1.
Success Criteria for v0.8.0
- All 3 critical bugs fixed (Plan 1)
- Registry[T] implemented and migrated (Plan 2)
- Action system working (Plan 3 Phase A-C)
- c.Process() primitive working (Plan 4 Phase A-C)
- Missing primitives added (Plan 5)
- core/go AX-7 at 100%
- core/agent AX-7 at 100%
- Zero os/exec in core/go
- Zero unsafe.Pointer on Core types in ecosystem
- All Phase 1-2 changes shipped
- Phase 3 sweep at least started (batch 1-2)