go/docs/RFC.plan.2.md
Snider 0704a7a65b feat: session continuity plans — RFC.plan.md + plan.1 + plan.2
RFC.plan.md: master context document for future sessions
  - 5 root causes, 3 critical bugs, key decisions, what NOT to do
  - Session context that won't survive compact
  - Cross-references to existing RFCs that solve problems

RFC.plan.1.md: first session priorities
  - Fix 3 critical bugs (one-line changes)
  - AX-7 rename for core/go
  - Start Registry[T]

RFC.plan.2.md: subsequent session goals
  - Registry + migration
  - Action system
  - core/agent cascade fix
  - c.Process() + go-process v0.7.0

Future sessions: read RFC.plan.md first, then the numbered plan
for that session's scope.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-25 13:35:14 +00:00

1.4 KiB

RFC Plan 2 — Registry + Actions Sessions

After Plan 1 bugs are fixed and AX-7 rename is done.

Session Goal: Registry[T] + First Migration

  1. Build registry.go with full AX-7 tests
  2. Migrate serviceRegistryServiceRegistry embedding Registry[*Service]
  3. Verify all existing tests still pass
  4. Commit + push

Session Goal: Action System

  1. Rename task.goaction.go
  2. Move RegisterAction/RegisterActions/RegisterTask to ipc.go
  3. Build ActionDef type with Run(), Exists(), Def()
  4. Wire c.Action("name") dual-purpose accessor
  5. Full AX-7 tests
  6. Commit + push

Session Goal: Migrate core/agent Handlers

  1. Register named Actions in agentic.Register()
  2. Replace nested c.ACTION() cascade with Task pipeline
  3. Test that queue drains properly after agent completion
  4. This is the P6-1 fix — the queue starvation bug

Session Goal: c.Process() + go-process v0.7.0

  1. Update go-process factory to return core.Result
  2. Add process.Register direct factory
  3. Remove agentic.ProcessRegister bridge
  4. Add Process primitive to core/go (sugar over Actions)
  5. Migrate core/agent proc.gos.core.Process() calls
  6. Delete proc.go and ensureProcess()

Between Sessions

Each session should produce:

  • Working code (all tests pass)
  • A commit with conventional message
  • Updated coverage numbers
  • Any new findings added to RFC.md passes