- CI matrix:
smoke(Playwright + artifact upload),vault(sealed/vaulted creds),ao(AO harness) in.github/workflows/ci.yml. - Bundle report (desktop UI):
cd desktop && BUNDLE_REPORT=1 npm run build:report(createsdist/renderer/bundle-report.html). - Locale packs: default EN ships in the main bundle; other locales lazy-load on first switch to keep the renderer cold-start small.
- Animation gating: hero canvas / holomap / cursor trail sit behind the FX toggle and
prefers-reduced-motion; High FX auto-disables when reduced motion is set. - Neon hover utility: add
class="neon-hover-glow"(optional--neon-hover-gradient) for gradient hover/focus states across cyberpunk themes. - Playwright install faster: set
PLAYWRIGHT_SKIP_DOWNLOAD=1if Chromium is preinstalled; otherwisenpx playwright install --with-deps chromium. - Headless on Linux CI:
xvfb-run npm run test:smoke -- --project=chromium.
Purpose
- Admin-facing console to build and operate a site/eshop.
- Maintains an offline-first sensitive database (PII) synced on demand from the Worker inbox (Cloudflare).
- Fetches trusted front-end templates from Arweave, validates via manifest, and assembles the site.
- Provides lightweight monitoring for gateway/AO/Write/Worker without external tooling.
- Manages keys: publishes public key to Arweave for client-side encryption; rotates keys; stores secrets offline only.
Key responsibilities
- Offline PII store: encrypted local DB, populated by pulling envelopes from Worker (delete-on-download).
- Template management: list trusted templates (manifest), pull from Arweave, render/build site bundle.
- Console UI: Tailwind CSS + PHP + JS stack for admin; can render static site preview and push to gateway.
- Monitoring: show ingest/apply status, PSP breaker state, cache hit/miss, webhook retry backlog (fetched from gateway metrics).
- Key management: generate/rotate admin keypair, publish public key to Arweave, distribute to browser clients.
- AI Studio: built-in agent (TS) that generates a “shopping list”/plan for gateway/write/AO; no PII is sent, uses prompts + schema in
ai-agent/. - Telemetry: read-only aggregates (usage/cache/webhook/psp) pulled from Arweave/AO exports and shown in admin UI; no PII or writes.
- CLI bridge: integrated
blackcatwrapper for ops tasks (verify/export/templates) so we don’t depend on standaloneblackcat-cli. - Template catalog bridge: aggregates internal/external templates (from
blackcat-frontend-catalogor feeds), stores txid/hash metadata, and lets gateway serve trusted Arweave templates. - Domain references (archived): logic/schemas from legacy
blackcat-commerce,blackcat-billing,blackcat-complianceare reused for plans/quotes, invoicing, and audit checklist schemas; source repos are archived, only schemas/flows matter. - Governance/Federation (archived): legacy governance/federation/finance/fleet portals are archived; darkmesh keeps only the schemas/checklists needed in admin UI, no separate runtime.
- Sync module (planned): lightweight DB sync/export inside web (for offline admin DB), replaces the archived
blackcat-database-syncruntime; AO remains append-only on-chain. - DB engines (archived): traditional MySQL/Postgres umbrella (
blackcat-database) is archived; darkmesh relies on AO (WeaveDB) + offline admin DB. Any needed helpers will be reimplemented inline.
Data flow (admin)
- Admin logs into console (local session).
- Console pulls pending envelopes from Worker (/inbox GET), decrypts locally, stores in offline DB.
- Admin actions (orders, PII updates) stay local; commands to Write AO go through Gateway.
- Front-end templates pulled from Arweave, validated against trusted manifest, rendered/deployed via Gateway.
Tech stack (proposed)
- PHP + Tailwind CSS + Vanilla JS (no heavy SPA) for simplicity and broad hosting.
- SQLite (local) or file-based encrypted store for offline PII; encryption keys kept locally only.
- CLI helpers for keygen/publish and Arweave manifest verification.
- Node/TS CLI (
npm run cli) for telemetry pull, template sync, smoke helpers; requires Node 18+.
Security/Privacy
- PII never leaves admin device unencrypted; only encrypted blobs cached transiently at Worker/Gateway.
- Public key published to Arweave; private key stays local/offline backup.
- Console should warn on untrusted templates (manifest verification fails).
Open items
- Define manifest format for trusted templates.
- Exact metrics pull from Gateway (Prometheus/OpenMetrics or JSON endpoint).
- Deployment packaging (PHP runtime + cron/worker to pull inbox).
Roadmap ideas
- MVP: inbox sync + offline DB + template fetch/verify + deploy to gateway.
- Hardening: reproducible builds, CSP/SRI hints, template SBOM check.
- Monitoring UI: charts for cache hit/miss, PSP retries, ingest errors; local alerts thresholds.
- Key UX: guided rotation, hybrid PQC toggles, Arweave publish flow.
- Offline-first: queue admin actions when offline, reconcile on next sync.
- Packaging: one-click bundle (PHP runtime + cron sync + CLI key tools).
Flows (admin console)
- Sync PII: Admin clicks “Sync inbox” → pull envelopes from Worker → decrypt locally → store in encrypted DB → mark as fetched (delete on Worker).
- Template update: Admin selects Arweave template txid → verify manifest sig → fetch assets → render preview → publish to Gateway.
- Key publish: Generate/rotate keypair → upload public key to Arweave + notify Gateway (for browser clients); private key stays local/offline backup.
- Monitoring view: Pull metrics JSON/OpenMetrics from Gateway (cache hit/miss, PSP breaker, webhook backlog, ingest errors) → render charts; optional thresholds with local alerts.
Publish pipeline (draft)
- Build immutable assets (layout/theme/components/entry) → upload to Arweave, capture txid + sha256.
- Compose
PageManifest+AllowlistSnapshot(seesrc/manifest/models.ts), sign, and include allowlist hash in manifest. - Write manifest to Arweave; optionally emit AO/gateway pointer carrying manifest txid + checksum for cache warming.
- Refresh template catalog index through the GraphQL stub (
src/manifest/catalog.ts) so the console can auto-load trusted templates. - Verify by fetching manifest + entry bundle via gateway mirrors and comparing recorded checksums.
Next-gen features (ideas)
- Offline-first ops: queue admin actions while offline; sync via Gateway when back online.
- Deterministic site builds: reproducible bundle hash, signed manifest so Gateway can trust-deploy.
- Template safety: static analysis on templates (CSP hints, dependency SBOM) before publish; warn on unsafe APIs.
- Security keys UX: guided key rotation, hybrid PQC option (Ed25519+Dilithium / X25519+Kyber) when browser libs allow.
- Minimal observability UI: built-in dashboards for cache hit ratio, PSP retries, ingest apply errors, ForgetSubject events; exportable NDJSON for deeper analysis.
This repository is an official component of the Blackcat Covered System. It is licensed under BFNL-1.0, and repository separation inside BLACKCAT_MESH_NEXUS exists for maintenance, safety, auditability, delivery, and architectural clarity. It does not by itself create a separate unavoidable founder-fee or steward/development-fee event for the same ordinary covered deployment.
Canonical licensing bundle:
