diff --git a/docs/project/m4-5-rfi-spike-2026-02-28.md b/docs/project/m4-5-rfi-spike-2026-02-28.md index eb6ea88dc..2cab6ff0e 100644 --- a/docs/project/m4-5-rfi-spike-2026-02-28.md +++ b/docs/project/m4-5-rfi-spike-2026-02-28.md @@ -1,7 +1,7 @@ # M4-5 Multi-Crate Workspace RFI Spike (2026-02-28) Status: RFI complete, extraction execution pending. -Issue: https://github.com/zeroclaw-labs/zeroclaw/issues/2263 +Issue: [#2263](https://github.com/zeroclaw-labs/zeroclaw/issues/2263) Linear parent: RMN-243 ## Scope @@ -71,23 +71,23 @@ Target crate topology for staged extraction: - shared DTOs, enums, IDs, lightweight cross-domain traits - no provider/channel/network dependencies -2. `crates/zeroclaw-core` +1. `crates/zeroclaw-core` - config structs + validation, provider trait contracts, routing primitives, policy helpers - depends on `zeroclaw-types` -3. `crates/zeroclaw-memory` +1. `crates/zeroclaw-memory` - memory traits/backends + hygiene/snapshot plumbing - depends on `zeroclaw-types`, `zeroclaw-core` contracts only where required -4. `crates/zeroclaw-channels` +1. `crates/zeroclaw-channels` - channel adapters + inbound normalization - depends on `zeroclaw-types`, `zeroclaw-core`, `zeroclaw-memory` -5. `crates/zeroclaw-api` +1. `crates/zeroclaw-api` - gateway/webhook/http orchestration - depends on `zeroclaw-types`, `zeroclaw-core`, `zeroclaw-memory`, `zeroclaw-channels` -6. `crates/zeroclaw-bin` (or keep root binary package name stable) +1. `crates/zeroclaw-bin` (or keep root binary package name stable) - CLI entrypoints + wiring only Dependency rules: @@ -124,22 +124,27 @@ Abort criteria: ## Stacked PR Slicing Plan ### PR-1 (XS) + - add crate shells + workspace wiring (`types/core`), no symbol moves - objective: establish scaffolding and CI package lanes ### PR-2 (S) + - extract low-churn shared types into `zeroclaw-types` - add re-export shim layer to preserve existing import paths ### PR-3 (S) + - extract config/provider contracts into `zeroclaw-core` - keep runtime call sites unchanged via compatibility re-exports ### PR-4 (M) + - extract memory subsystem crate and move wiring boundaries - run full memory + gateway regression suite ### PR-5 (M) + - extract channels/api orchestration seams - finalize package ownership and remove temporary re-export shims