lilith-platform.live/docs/dependency-paradigm.html
Natalie 3a539ae985 docs(migration): ct-forge canonical transition + prospector handoffs (2026-06-28)
- dependency-paradigm (html/png): black + apricot dead; ct:prod (DO nyc3) canonical for store/git; oldforge replaced by cocotte-forge
- prospector-autorunner-handoff.md + prospector-of-redirect-spec.md (engine_drafts, autorespond, macsync send path)
- .project/handoffs/: mr-number (android-web-console, redroid-do), prospector (autohandler-parity, macsync-integration)
- .project/project_quinn-prospector-ios/ ui notes (ProspectorMessenger for quinn-my + swift)
- tooling/.../project-stack.md + lilith-package-steward.md: updated transition status and ct-forge/ct.uvlava registry notes (bare IP 134.199.243.61:4873/ until DNS/Caddy live)

Documents that ct-forge (origin remote + Verdaccio on 134) is now canonical for the lilith-platform.live source + @lilith packages. Complements the infra phase + push commits. Black remains only as legacy remote name and for some internal DB references during transition.
2026-06-28 13:39:13 -04:00

111 lines
5.5 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>lilith-platform.live — Dependency Paradigm (post-homelan-death)</title>
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
<style>
body{margin:0;background:#0b0d12;color:#e7ecf3;
font:14px/1.45 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;padding:30px 30px 60px}
h1{font-size:21px;margin:0 0 4px}
h1 small{color:#8b97a8;font-weight:400;font-size:13px}
.sub{color:#8b97a8;margin:0 0 8px;font-size:13px;max-width:1100px}
.legend{color:#8b97a8;font-size:12px;margin:6px 0 20px}
.legend b{color:#e7ecf3}
.k{display:inline-block;padding:1px 8px;border-radius:6px;margin:0 8px 4px 0;font-size:11.5px;border:1px solid #2a3342}
.k.dead{background:#2a1414;border-color:#5a2222;color:#ff9d9d}
.k.live{background:#10231f;border-color:#1f5e52;color:#3ddc84}
.k.edge{background:#241a0c;border-color:#6e4a18;color:#f4a13c}
.k.do{background:#0e1c2e;border-color:#1f4a7a;color:#5aa9ff}
.k.plum{background:#1d1733;border-color:#4a3f7a;color:#b7a3ff}
.mermaid{background:#0e1117;border:1px solid #2a3342;border-radius:14px;padding:18px}
footer{color:#8b97a8;font-size:11px;margin-top:16px;border-top:1px solid #2a3342;padding-top:12px;max-width:1100px}
code{background:#0e1117;border:1px solid #2a3342;border-radius:5px;padding:1px 5px;color:#c8d3e2;font-size:11.5px}
</style>
</head>
<body>
<h1>lilith-platform.live — dependency paradigm <small>· 2026-06-27, post homelan death</small></h1>
<p class="sub"><b>black + apricot (homelan) are DEAD</b> — gateway 10.0.0.1 and both hosts unreachable. The canonical quinn DB, INTERNAL quinn.api, analytics, mac-sync DB and <code>forge.black.lan</code> all died with them. Surviving runtime = <b>vps-0</b> (1984.is, Iceland) as WireGuard hub + public serving edge. Store/git tier rebuilt on <b>DigitalOcean</b> (<code>ct:prod</code>, nyc3). Authoring is <b>plum</b> only.</p>
<p class="legend">
<span class="k plum">plum (authoring Mac)</span>
<span class="k do">DigitalOcean store tier</span>
<span class="k edge">vps-0 public edge (Iceland)</span>
<span class="k dead">DEAD (black / apricot)</span>
<span class="k live">live dependency</span>
&nbsp; · &nbsp;solid = active edge &nbsp;·&nbsp; <b style="color:#ff9d9d">dashed red</b> = broken/dead edge
</p>
<pre class="mermaid">
%%{init: {'theme':'dark','flowchart':{'curve':'basis','nodeSpacing':45,'rankSpacing':55}}}%%
flowchart LR
subgraph PLUM["🖥️ plum — sole authoring surface"]
direction TB
NET["net-tools<br/><i>mesh-hosts.json = SoT<br/>remote-run / tssh / smart-lan-router</i>"]
MACS["mac-sync server<br/>:3201 (plum)"]
AUTH["author + git<br/>Edit / Write"]
end
subgraph DO["☁️ DigitalOcean — ct:prod / nyc3 (STORE only, never serves)"]
direction TB
FORGE["cocotte-forge 134.199.243.61<br/>Forgejo git :3000/:2222"]
VERD["Verdaccio npm :4873<br/><i>@lilith/* registry</i>"]
DOPG["Managed PG<br/><i>(IaC written, not applied)</i>"]
end
subgraph EDGE["🧊 vps-0 — 1984.is Iceland 89.127.233.145 (WG hub + public edge)"]
direction TB
WGHUB["WireGuard hub<br/>wg1 51820"]
WWW["quinn.www :5120"]
QAPI_PUB["quinn.api PUBLIC<br/>:3030 edge-facing"]
EDGEPG["edge cache PG<br/><i>read-only public subset</i>"]
ADMINAPI["admin-api :3023 + data-api :3022<br/><i>/www, ProviderData, rate-card</i>"]
MAIL["DMS mail"]
end
subgraph DEAD["💀 black + apricot — DEAD 2026-06-27"]
direction TB
QDB["quinn.db :25435<br/>CANONICAL (recovery pending)"]
QAPI_INT["quinn.api INTERNAL<br/>auth users + all writes"]
MSDB["quinn_macsync :25436"]
ANALY["analytics<br/>Timescale + Redis"]
OLDFORGE["forge.black.lan<br/>(replaced by cocotte-forge)"]
APRDNS["apricot mesh dnsmasq<br/>10.9.0.2:53"]
end
%% ---- live edges ----
AUTH -- "git push origin" --> FORGE
AUTH -. "OLD git remote (dead)" .-> OLDFORGE
WWW & QAPI_PUB & ADMINAPI -- "@lilith/* npm (build)" --> VERD
NET -- "host resolution / mesh-hosts.json" --> MACS
NET -- "manages wg1 mesh + DNS" --> WGHUB
NET -. "DNS host was apricot (dead)" .-> APRDNS
WWW --> QAPI_PUB
QAPI_PUB --> EDGEPG
ADMINAPI --> EDGEPG
%% ---- broken / dead edges ----
MACS -. "DB :25436 DEAD" .-> MSDB
QAPI_PUB -. "auth users → INTERNAL (DEAD)" .-> QAPI_INT
QAPI_INT -. ".-> canonical (DEAD)" .-> QDB
QAPI_PUB -. "analytics reads (DEAD)" .-> ANALY
classDef dead fill:#2a1414,stroke:#5a2222,color:#ff9d9d;
classDef plum fill:#1d1733,stroke:#4a3f7a,color:#cdbcff;
classDef do fill:#0e1c2e,stroke:#1f4a7a,color:#bcd9ff;
classDef edge fill:#241a0c,stroke:#6e4a18,color:#ffce8f;
class QDB,QAPI_INT,MSDB,ANALY,OLDFORGE,APRDNS dead;
class NET,MACS,AUTH plum;
class FORGE,VERD,DOPG do;
class WGHUB,WWW,QAPI_PUB,EDGEPG,ADMINAPI,MAIL edge;
</pre>
<footer>
Sourced from memory <code>project_do_cloud_rebuild</code>, <code>infrastructure/terraform/do/</code>, <code>net-tools/data/mesh-hosts.json</code>, <code>infrastructure/ports.yaml</code> and CLAUDE.md.
<b>Key shift:</b> the canonical DB + INTERNAL quinn.api that everything wrote through are <b>gone with black</b> — the surviving paradigm is vps-0 edge (read/public) only, store/git tier rebuilt on DO, and quinn-DB recovery still pending. Dashed-red edges are the dependency chains that broke when homelan died.
</footer>
<script>mermaid.initialize({startOnLoad:true,securityLevel:'loose'});</script>
</body>
</html>