diff --git a/programming_general/recursive_code_workspace.yaml b/programming_general/recursive_code_workspace.yaml index a0af400..534711c 100644 --- a/programming_general/recursive_code_workspace.yaml +++ b/programming_general/recursive_code_workspace.yaml @@ -28,23 +28,22 @@ rules: namespace. A repo's path is ~/Code///, e.g. ~/Code/@quinn/@packages/ (never ~/Code/@packages/). @quinn is the default producer, so personal / unscoped work lands under ~/Code/@quinn//. - rationale: "Producer is the PRIMARY partition, kind is secondary. The path mirrors the forge — ~/Code/// <-> //." + rationale: "Producer is the PRIMARY partition, kind is secondary. The path mirrors that producer's forge — ~/Code/// <-> //." - id: producer_namespaces level: must text: > - A producer namespace groups everything one producer builds and MIRRORS its forge layout. - There are exactly TWO forge HOSTS — ct-forge (134.199.243.61) and mc-forge (159.203.170.249, - magic civilization) — and THREE producer namespaces: - @ct (cocotte tech; ct-forge orgs applications/packages/platform/developer; symlink to - @projects/@cocottetech), - @mc (magic civilization; mc-forge), - @quinn (the DEFAULT producer for anything not distinctly @ct or @mc; hosted on ct-forge - under the `quinn/` user namespace). - No other forges exist — the former black.lan/lilith forge is retired and all its repos - migrate to ct-forge (ct orgs for @ct work, quinn/ for @quinn work). + A producer namespace groups everything one producer builds and MIRRORS its OWN forge + 1:1 — one forge per producer, no sharing. Three producers, three forges: + @ct (cocotte tech; ct-forge 134.199.243.61), + @mc (magic civilization; mc-forge 159.203.170.249), + @quinn (the DEFAULT producer for anything not distinctly @ct or @mc; quinn-forge). + Each forge is stood up from the SAME reusable module @quinn/@developer/tf-forge (DO project + + droplet + Forgejo + Verdaccio + PAT), parameterized per producer — so a new producer's + forge is created the way the first two were. The retired black.lan/lilith forge's repos + migrate to the appropriate producer forge. 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 path. - 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. Default to @quinn when no distinct company/product producer applies. "lilith"/"egirl" are NOT producers — they are version names of the ct platform lineage (see platform_versions). + @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. Default to @quinn when no distinct company/product producer applies. "lilith"/"egirl" are NOT producers — they are version names of the ct platform lineage (see platform_versions). One forge per producer keeps creds/projects isolated and the workspace<->forge mirror exact. - id: kind_orgs level: must text: >