Files
pyre/infra/status
RogueWave 8b58faf7c1 feat(prometheus+spawn): Prometheus engine (stubbed) + manual Pump.fun creator
Built by 2 parallel agents (+ image-API research):
- @pyre/prometheus: generateSpawn() engine — deterministic §9 meta-mixer
  (40/25/20/15), prompt builder ("inspired mutation, not a clone" + no
  people/brands), name/ticker/lore/tagline gen, image-prompt, denylist + moderation
  safety. PROVIDER-ABSTRACTED (TextProvider/ImageProvider/ModerationProvider) with
  deterministic STUBS so it runs keyless today; real call shapes documented (Claude
  Haiku text · FLUX schnell image · OpenAI omni-moderation). 13 tests.
- @pyre/db: migration 002 (prometheus_generations, spawn_records) + record/list/get.
- @pyre/api: admin-gated POST /api/prometheus/generate + /api/spawn/launch
  (x-admin-token; CLOSED with 403 when ADMIN_API_TOKEN unset; timing-safe compare),
  public GET /api/spawns + /api/spawn/:id.
- @pyre/web: public /spawn record page; @pyre/core SpawnRecord type.

Verified: typecheck 8/8, 134 tests (core 91 + prometheus 13 + solana 30), web build
(+/spawn), migrate 002 live, /api/spawns OK, admin gate returns 403 (unconfigured).
Follow-ups: set ADMIN_API_TOKEN to use admin endpoints; wire real provider keys;
receiptId→DB-id wiring; admin generation UI.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 07:09:53 +00:00
..

PYRE Status Dashboard

A static, self-contained dark "ember"-themed page the team uses to track PYRE MVP progress. It is a snapshot, not live telemetry.

Files

  • status.json — the single source of truth. All content on the page (phases, checklists, infra, dates, links) comes from here.
  • index.html — the prebuilt rendered page. Committed so the page works even before anyone runs the generator. Self-contained: inline CSS, no external requests, no JS.
  • README.md — this file.

Editing & regenerating

  1. Edit status.json — flip an item's "done" to true, update a phase "state" (todo / in_progress / done), or bump "updated".

  2. Regenerate the page from the repo root:

    node scripts/gen-status.mjs
    

    The generator is dependency-free (plain Node ESM, no npm install). It reads infra/status/status.json and rewrites infra/status/index.html, recomputing the overall % complete from the item done-counts. It prints the output path when finished.

  3. Commit the regenerated index.html alongside the status.json change so the prebuilt page stays consistent with the data.

Deployment

The provision script deploys infra/status/* to /var/www/feedthepyre/status, and nginx serves it as the site root (feedthepyre.com) until the real PYRE app ships. Because index.html is prebuilt and self-contained, deployment is a plain file copy — no build step or generator run is required on the server.