Updated 2026-07-19. The old rule “move
srctopackages/*” did not reduce the repository and encouraged parallel namespaces. The quantitative source of truth is nowarchitecture/volume-reduction-plan.yaml, backed byproject/map.toon.yamland a CI schema contract.
Goal: reduce the Koru checkout and production surface while keeping the koru
and compatibility coru UX stable.
Move reusable mechanisms only to an existing, already-used dependency that owns
the capability. Moving code from src/ to packages/ in this repository is
not an extraction. Prefer deletion of generated state and duplicate namespaces,
then dependency-first releases with one compatibility release.
korukoruapikorudslkoruenv(already extracted, stale leftovers should not be canonical)koruidekorullmkorumeshkoruobservekoruos(deprecated shim →gillm.focus; remove after two releases)koruvision
-
koruide— deferred. There is nosemcod/koruidecheckout and Koru core currently has 45 consumers of this namespace. -
koruobserve— keep the Koru-specific process lifecycle; move only generic capture probing/diagnostics with the VDisplay extraction. -
koruvision— replace its generic capture/provider stack with publicwronai/vdisplayAPIs; keep Koru-specific orchestration and mesh evidence. -
koruapiandkorudsl— keep. They are Koru facade/domain authority, not dependency mechanisms. -
korullm— move provider registry/transport tosemcod/tillm; keep Koru's orchestration decision andProposalEnvelopevalidation. -
korumesh— defer until a second non-Koru consumer establishes a protocol owner.
Done: koruos OS strategies moved to gillm.focus (external package). Legacy
import koruos emits DeprecationWarning and redirects to gillm.
Done: GUI injection (Injector, os_injector, profiles) canonical in gillm.injection.
Legacy paths koru.autopilot.injector, koru.autopilot.os_injector, koruide.injector,
koruide.os_injector emit DeprecationWarning and redirect to gillm.
- Add a versioned request/result contract and public API in the owner repo.
- Pass owner-side contract tests and release that dependency.
- Raise Koru's minimum version and run typed API versus legacy behavior in dual-run.
- Keep one compatibility release with telemetry and no divergent fallback copy.
- Delete the Koru implementation only after cross-repo E2E is green.
- Regenerate the map and verify the quantitative budget in the volume DSL.
- No fallback to stale in-repo implementations once package is canonical.
- Each extraction must keep CLI behavior stable from both
koruand the compatibilitycoruentry point. - A dependency may own how; Koru retains whether/when/with which grant.
- Do not claim ecosystem LOC reduction for code merely moved to another repo.
- Prefer one package extraction per ticket to keep rollback simple.
coru remains the stable front door.
Backend package moves must not force users to learn new commands.