Substrate · operator dashboard · service-records + lost-and-found stack

Service records

Operator control panel for the three sibling Workers — svc.gf.cx (Access-gated, brand-keyed service logs), io.gf.cx/found (public lost-and-found with reward + return), and id.gf.cx (asset-keyed scan-bridge from sticker → canonical home.gf.cx record + service-entry form, built 2026-05-27). Rolled-up counts pulled from all three APIs. Action launcher hands off to where each verb lives (write manifest · edit/add service entry · scan-to-log via id · print labels · order labels). Read-me + gap-list doubles as the stack's running TODO.

At a glance

svc records
loading svc.gf.cx…
found records
loading io.gf.cx/found…
id assets
8
baked manifest — seeded 2026-05-27
shipments
loading manifests…
page generated
your local browser time

Surfaces · live URLs

Where the stack actually lives. Custom domains svc.gf.cx + io.gf.cx/found are both bound and serving as of 2026-05-27. Tag-preview pages are local-only — they open from disk because they're authoring tools, not production surfaces.

svc.gf.cx · access-gated
Service-record router
svc.gf.cx
Per-brand service logs. QR labels carry numeric tagIds (1xxx vehicles · 2xxx outdoor power · 3xxx tools · 4xxx leisure). Slug URLs (/deere) are friendly aliases. Email-auth challenge on first visit (30-day session).
io.gf.cx/found · public
Lost-and-found resolver
io.gf.cx/found
QR on a sent-out item → public page with contact + reward. Slug URLs (/tape-1992-wedding). Manifests at /manifests/<id> for batch shipments.
id.gf.cx · scan-bridge
Asset-id router
id.gf.cx
Sticker on a piece of equipment → id.gf.cx/<slug> opens phone-optimized summary + add-service form. KV inbox at /api/queue (Access-gated /api/*). Seeded with 8 assets: z665, x350, pool-pump, pool-heater, pool-disconnect, septic-tank, lr4, f250. Bridges scan → canonical home.gf.cx record.
tooling · local-only
Tag-preview pages
~/Code/svc.gf.cx/scripts/tag-preview.html
~/Code/io.gf.cx/scripts/tag-preview.html
Browser-rendered QR label sheets. Open from disk, print → PDF or thermal printer. svc = 1-up grid; found = 3-label sets (case · spine · spare) per item, filterable by manifest.
manifest · printable
Latest shipment
io.gf.cx/found/manifests/2026-05-27-brooklyn-tapes
Family video archive → TapeMaster Digitization. Print → PDF, drop one copy in the box + email a copy to the recipient ahead of arrival.
patterns.gf.cx · portable patterns
Portable patterns
patterns.gf.cx
Curated, design-friendly view of operating patterns from this stack — developer-facing companion to kb.gf.cx (your Memory Archive). Seed entry (2026-05-27) is the Read-me · status of the stack pattern — same R/Y/G + collapsible structure used on this page, codified for reuse.

Action launcher

This page is a launcher — actions live on their owning surfaces (svc.gf.cx, id.gf.cx, io.gf.cx/found, local tag-preview files, code-edit locations). The cockpit iframe below is the one exception that actually surfaces live work inline — every other card is a hand-off link to where the verb lives. Each card's kicker badge signals state: live ready to use, code-edit requires editing source + redeploy, not yet wired placeholder for future build.

cockpit · latest shipment manifest
open standalone ↗
code-edit manifest · write
Write a new manifest
~/Code/io.gf.cx/src/index.ts → MANIFESTS
Add a new entry to the MANIFESTS map keyed by slug (e.g. 2026-06-15-amazon-returns), then add items with matching manifest_id in RECORDS. npx wrangler deploy from ~/Code/io.gf.cx/. New manifest is live at io.gf.cx/found/manifests/<id> ready to print. Future: mobile form on io.gf.cx/found/manifests/new.
live service log · edit
Edit a service record
svc.gf.cx → pick brand → edit ✎ on any entry
Tap the edit ✎ chip next to any service-log entry → form pre-filled → Save changes (green) or Delete entry (red, with confirm). Mobile-first form, dark-mode-readable, brand-green submit.
live service log · add
Add new service entry
svc.gf.cx/<brand>/add
From any brand page tap the green + Add service entry button. Date defaults to today; notes required; vendor + cost optional. Saves direct to KV; appears in the log immediately.
live scan-to-log · id.gf.cx
Add service entry via asset scan
id.gf.cx/<slug> → fill add-service form
Contractor at the equipment scans the QR sticker → asset summary + add-service form opens. Submission lands in the id.gf.cx KV inbox (/api/queue, Access-gated). Differs from svc/found: asset-keyed (not brand- or shipment-keyed) and phone-optimized for at-the-equipment use. Bridge surface — home.gf.cx canon is one click away via "Open canonical record →" button.
live print cockpit · small → super-large
Print labels
labels.gf.cx
Universal print cockpit. Tabbed: svc tags (one label per brand, 50mm) · found tags (3-label set per item: case·spine·spare, filterable by manifest) · planned service maps (A1) · photographs (large-format POD) · apparel + cards (Dogwood POD via Pwinty/Prodigi). Each tab is its own pipeline. Replaces the old file:// local-tool surfaces.
not yet wired labels · order
Order labels (POD)
sandbox.gf.cx/print/ (planned)
sandbox-beta-dashboard.pwinty.com (vendor sandbox)
Small self-contained surface on sandbox.gf.cx/print/ wires the Prodigi/Pwinty sandbox API end-to-end before promoting to canonical svc/found tag-previews. Dan has credential in 1P (Prodigi svc.gf.cx API). Discipline: sandbox the print-API functions first — vendor sandbox dashboard at sandbox-beta-dashboard.pwinty.com. Details in feedback_print_on_demand_label_apis_2026-05-27.md.

Library · rolled-up index

All registered items across both workers. svc records are brand-aggregate (one tag per brand); found records are per-item. Refresh the page to re-pull from the live APIs.

svc records loading…

found records loading…

shipments loading…

id assets 8 baked · seeded 2026-05-27

SlugTitleTypescan →
z665John Deere Z665 EZtrakequipmentopen ↗
x350John Deere X350equipmentopen ↗
pool-pumpPentair IntelliFlo VSFequipmentopen ↗
pool-heaterHayward HeatPro HP21404Tequipmentopen ↗
pool-disconnectPool electrical disconnectinfrastructureopen ↗
septic-tankSeptic tankinfrastructureopen ↗
lr4Land Rover LR4 2011vehicleopen ↗
f250Ford F-250 2007vehicleopen ↗

Read-me · status of the stack

Honest gap-list as of 2026-05-27. ✅ 6 of original 23 items resolved this session (svc + found custom domains, CF Access on svc, mobile add form, edit/delete loop, OWNER_CONTACT filled). All 3 production-blockers closed. Three priority tiers: 🔴 production-blocking (do these before claiming the system is "live"), 🟡 lifecycle / UX (gets worse over time without), 🟢 hygiene + integration (silent-failure risks, nice-to-haves). Expand each to see the punch-list.

Production-blocking · all resolved3 of 3 done
🟡 Data lifecycle3 open · 1 done
🟡 Workflow / UX2 open · 1 done
🟡 Cross-surface integration3 items
🟢 Operational hygiene4 items
🟢 Tag-physical workflow3 items
🟢 People / governance3 items

Cross-references