🚨 LOCA.ZONE Matrix Recovery Protocol

ATTENTION ALL AGENTS: Do NOT statically edit the HTML file at /var/www/loca-zone-root/index.html.

The https://loca.zone landing page is dynamically generated. It is rebuilt automatically by /opt/loca-zone/generate_portal.py every single time an Nginx configuration is updated, via a systemd path watcher (/etc/systemd/system/nginx-reload-hook.path).

If you edit the HTML directly, your changes will be violently overwritten and lost during the next Nginx reload. You must edit the python generator script.


🛠️ The Perfected UI Standards (Strict Constraints)

The user has explicitly perfected the UI. Do not deviate from these constraints:

  1. NO FLUFF: Absolutely zero footers, no JS Epoch clocks, no “PORTAL_OS” text, and no repetitive <p>Autonomic Node</p> labels.
  2. Top Bar Layout: Keep the LOCA.ZONE wordmark and manifesto inside the Brutalist 4px white frame on #000000. The header link must be an unboxed icon-only Gem link resolving to https://wiki.loca.zone with an accessible label.
  3. The Manifesto: Preserve this text exactly (including the typo and emoji):

    Private Project Portal. A mix of half-baked local environments & experiments. Do NOT enter! xD - Safty is NOT guaranteed.

  4. Portal Membership: Auth is intentionally omitted from portal discovery; its Nginx site and authentication service remain unchanged. Quartz is a project card. The Loca apex is not in the grid. The wiki is header-only. Carefully curated brand names (e.g., RocketChat, KnowledgeTree, PuterOS, OhMyPi, OpenNotebook) must have no spaces in compounds.
  5. Project Front: Cards use centered legacy-style composition and 4px frames. The front displays a centered brand title hero; the full card opens the project.
  6. Project Back: The back reveals the brand, full domain, version, and a centered in-flow Info icon (no corner square, no hover fill box) functioning as a back-only link to the wiki. Quartz Info links to https://wiki.loca.zone; others link to https://wiki.<subdomain>.loca.zone.
  7. Interaction Contract: Pointer hover immediately flips a centered card to its back; leaving returns the front, using CSS :hover / :focus-within. Minimal JS is used for accessibility fallbacks: keyboard focus reveals, Escape returns to front, hoverless touch uses first tap to reveal/second tap to open, and outside reset. Reduced motion gets an immediate state change. There is no flip button.

🛡️ The Hard Backup & Recovery Protocol

The maintained source of truth is: /opt/loca-zone/generate_portal.py

The retained pre-redesign snapshot is: /home/loca/.archive/backups/loca-zone-generator-backup.py

The archived file is legacy evidence only. Never edit or delete it, and never restore it over the maintained generator because doing so would reinstate the retired Auth/Loca cards, boxed icon controls, and non-atomic publishing path.

To Recover the Matrix:

  1. Repair /opt/loca-zone/generate_portal.py against the UI invariants above.
  2. Run python3 -m unittest -v /opt/loca-zone/test_generate_portal.py.
  3. Trigger the existing generator path with sudo systemctl start nginx-reload-hook.service.