0019. Phased Repo Extraction For FnTools And CheddarBooks
Status
Accepted
Context
The repository now has a converged foundation baseline on main at merge commit bb87d037.
That baseline includes:
- the concern-line documentation spine
- the namespace boundary decision
- the first
FnTools.FnHCI*namespace correction pass - the first
CheddarBooks.*namespace correction pass - split test projects for:
Nexus.Foundation.TestsFnTools.TestsCheddarBooks.Tests
The lines are now distinct enough that separate repos make sense, but they are not equally ready at the same time.
FnTools is currently the easier extraction:
- its code surface is small and self-contained
- its tests are already isolated
- its current projects do not depend on
Nexus.*
CheddarBooks is also becoming separable, but it depends on the reusable interaction line that belongs in FnTools.
Decision
Use main at bb87d037 as the first extraction baseline.
Extract repos in this order:
FnToolsCheddarBooks
Use a phased curated-snapshot extraction strategy instead of trying to perfect multi-path history rewriting first.
That means:
NEXUSremains the durable origin history for the pre-split exploration and convergence work- new repos begin from a curated bootstrap commit that explicitly records the source
NEXUScommit - each extracted repo should have its own clean root structure, docs spine, tests, and release cadence
FnTools should be extracted first and made packageable before CheddarBooks is extracted.
CheddarBooks should then consume FnTools as a library dependency rather than continuing to treat those projects as in-repo siblings.
Consequences
Positive:
- extraction can proceed without depending on specialized git-history rewriting tools
FnToolsandCheddarBooksget cleaner repo roots from day one- the dependency direction becomes clearer:
CheddarBooks.*depends onFnTools.*FnTools.*may depend on stableNexus.*only when that is truly needed- pre-split exploration history remains preserved in
NEXUS
Tradeoffs:
- exact per-file history does not move into the new repos automatically
- provenance must be recorded deliberately in the bootstrap commit, README, and tags
- some project-path and file-name cleanup still needs to happen as part of extraction
Operational Rule
Do not extract CheddarBooks until FnTools has:
- repo-local build success
- repo-local test success
- stable package identifiers for
FnTools.FnHCI* - a chosen immediate consumption mode for downstream repos