diff --git a/programming_general/recursive_code_workspace.yaml b/programming_general/recursive_code_workspace.yaml index 7d2556d..bc9e9ec 100644 --- a/programming_general/recursive_code_workspace.yaml +++ b/programming_general/recursive_code_workspace.yaml @@ -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.