fix(recursive_code_workspace): two producers only; lilith/egirl are versions

Correct the producer model: exactly two producers/forges — @ct (ct-forge)
and @mc (mc-forge); black.lan retired. "lilith"/"egirl" are NOT producers
but version names of the single ct platform lineage: egirl=v0, lilith=v1-v3,
cocotte=v4.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Natalie 2026-06-29 10:59:31 -04:00
parent 59368f8bc8
commit 796658a325

View file

@ -23,12 +23,13 @@ rules:
level: must
text: >
A producer namespace groups everything one producer builds and MIRRORS that producer's
forge org structure 1:1. @ct (cocotte tech, ct-forge at 134.199.243.61) is the primary
one and is a symlink to @projects/@cocottetech. Inside a producer namespace live its
kind-orgs: @ct/@applications, @ct/@packages, @ct/@platform, @ct/@developer — each the
workspace checkout of the matching forge org (applications/, packages/, platform/,
developer/).
rationale: Producer is stable; license/distribution is not. A project released OSS later still belongs to its producer namespace — organize by who builds it, not by how it ships.
forge org structure 1:1. There are exactly TWO producers, each with exactly ONE forge:
@ct (cocotte tech, ct-forge at 134.199.243.61) and @mc (magic civilization, mc-forge at
159.203.170.249). No other forges exist (the former black.lan/lilith forge is retired;
its repos migrate to ct-forge). @ct is a symlink to @projects/@cocottetech. Inside a
producer namespace live its kind-orgs: e.g. @ct/@applications, @ct/@packages,
@ct/@platform, @ct/@developer — each the workspace checkout of the matching forge org.
rationale: Producer is stable; license/distribution is not. A project released OSS later still belongs to its producer namespace — organize by who builds it, not by how it ships. "lilith"/"egirl" are NOT producers — they are version names of the ct platform lineage (see platform_versions).
- id: kind_orgs
level: must
text: >
@ -45,7 +46,11 @@ rules:
@platform holds successive generations of the core platform, not a single repo. Older
generations are archived (on the forge and as read-only checkouts); exactly one is the
live current. New platform generations are added beside the old, never overwritten.
rationale: The platform has evolved across named generations (egirl-platform -> lilith-platform -> lilith-platform.live / cocottetech); history is preserved as versions, not rewritten.
rationale: >
The ct platform is ONE lineage across named generations, all owned by @ct:
egirl = v0; lilith = v1-v3 (lilith-platform / atlilith / lilith-platform.live);
cocotte (cocottetech) = v4 (current). A "lilith"/"egirl" name denotes a platform
VERSION, never a separate producer.
- id: independent_repos
level: must
text: Each project under a kind-org is its own independent git repo. Never nest one repo inside another's working tree, and never assume a single monorepo at the root or at a producer namespace.