Skip to content

fix: browser 202/sweep via App proxy; paper product site - #6

Open
AlonsoAlviraa wants to merge 17 commits into
mainfrom
cursor/verifleet-c2-console-b4ae
Open

fix: browser 202/sweep via App proxy; paper product site#6
AlonsoAlviraa wants to merge 17 commits into
mainfrom
cursor/verifleet-c2-console-b4ae

Conversation

@AlonsoAlviraa

@AlonsoAlviraa AlonsoAlviraa commented Aug 13, 2026

Copy link
Copy Markdown
Owner

Summary

This pass is the P0 browser path for Background 202 / sweep, plus a tighter marketing landing. Paper + ES/EN. No Cloud Run URL. No YouTube. No gate flips. No PEM paste.

P0 — :3000/fleet vs curl :8000

Cause: next.config array rewrites run before dynamic App routes. /api/v1/:path* was rewritten straight to uvicorn and never hit app/api/v1/[...path]/route.ts. That rewrite can drop ?wait= and X-Tenant-Id. Curl to :8000 settled in ~1s; the browser stayed QUEUED and sweep with 202 off added no rows.

Fix:

  • Removed the /api/v1 rewrite. The App route is the only browser proxy (pins 127.0.0.1:8000, forwards query + org headers + body).
  • GET /api/v1/fleet/runs (list) now drains QUEUED rows — same as GET-by-id — so the UI poll settles even if by-id 404s.
  • Axios serializes wait=false (never omits it) and does not clobber X-Tenant-Id.
  • Honest 45s error.queueStuck stays if a run is still QUEUED.

You must restart both processes after pull: recycle uvicorn (one process, 127.0.0.1:8000) and npm run dev so Next drops the old rewrite.

Also this pass

  • Tighter landing hero; roster still from live GET /api/v1/fleet/registry; CTA to /fleet.
  • Stage One checklist still honest (aeat_remitting false, never green).
  • CLI python -m verifleet ingest unchanged.
  • Title/og: The LLM never writes the hash — VeriFleet.

Verification

  • npm run build succeeded (Next 16.1.1). Route table includes ƒ /api/v1/[...path].
  • python3 -m pytest tests/test_verifleet_cli.py tests/test_fleet_adk.py -q42 passed (includes test_list_runs_drains_queued_row).
Open in Web Open in Cursor 

cursoragent and others added 3 commits August 13, 2026 18:38
Dense industrial console treatment for the judge surface: emerald phosphor
theme, stagger-in fixtures/KPIs, decision pulse, hash reveal, and busy
scan-lines. API contracts, ingest handlers, and Stage One strings are
unchanged.

Co-authored-by: AlonsoAlviraa <AlonsoAlviraa@users.noreply.github.com>
Port the generated console IA onto the live judge page: sticky TopNav,
hero grid/scanline, ControlBar, 2-col FixtureGrid + IngestPanel / aside.
Existing ingest handlers and API contracts are unchanged; mock hook not copied.

Co-authored-by: AlonsoAlviraa <AlonsoAlviraa@users.noreply.github.com>
Drop the dark C2 HUD. Landing, /fleet, and shell now share a warm paper canvas, ink type, hairline cards, and a single calm green accent. Judge ingest APIs are unchanged.

Co-authored-by: AlonsoAlviraa <AlonsoAlviraa@users.noreply.github.com>
@cursor cursor Bot changed the title feat(frontend): C2 Live Ops console for /fleet feat(frontend): paper Linear/Stripe judge console Aug 13, 2026
KPI cubic count-up, settle rings, fixture stagger, 202 scan bar, hash type-on with caret, and solid emerald Dispatch hover. Live ingest only; useFleetConsole was not copied.

Co-authored-by: AlonsoAlviraa <AlonsoAlviraa@users.noreply.github.com>
@cursor cursor Bot changed the title feat(frontend): paper Linear/Stripe judge console feat(frontend): paper console + Magic Patterns v2 motion Aug 13, 2026
Solid ink Dispatch, quiet tenant/role/identity chips, Stripe dropzone, and run-id table rows. No C2 chrome or Stitch mock copy. Judge ingest unchanged.

Co-authored-by: AlonsoAlviraa <AlonsoAlviraa@users.noreply.github.com>
@cursor cursor Bot changed the title feat(frontend): paper console + Magic Patterns v2 motion feat(frontend): paper judge console (Stitch look, live ingest) Aug 13, 2026
Product canvas, result cards, and a visible tighten-only pipeline. Identity moved to the footer. Motion is 180ms fade only. Judge ingest APIs unchanged.

Co-authored-by: AlonsoAlviraa <AlonsoAlviraa@users.noreply.github.com>
@cursor cursor Bot changed the title feat(frontend): paper judge console (Stitch look, live ingest) feat(frontend): winner-format pass (product canvas, result cards, pipeline) Aug 13, 2026
Stop Chrome/OS force-dark from inverting ink-on-paper. Always show the ingest → consult (tighten-only) → hash stepper on /fleet. Browser calls /api/v1 via Next rewrite to localhost:8000 so CORS does not eat ingest.

Co-authored-by: AlonsoAlviraa <AlonsoAlviraa@users.noreply.github.com>
@cursor cursor Bot changed the title feat(frontend): winner-format pass (product canvas, result cards, pipeline) feat(frontend): paper judge console + P0 contrast fix Aug 13, 2026
cursoragent and others added 2 commits August 13, 2026 19:32
Lightweight messages dict and nav toggle. Judge English banner, identity chips, and SIGNED/ESCALATED/BLOCKED tokens stay visible on /fleet.

Co-authored-by: AlonsoAlviraa <AlonsoAlviraa@users.noreply.github.com>
History rows dropped hash during i18n wiring; restore it so npm run build passes.

Co-authored-by: AlonsoAlviraa <AlonsoAlviraa@users.noreply.github.com>
@cursor cursor Bot changed the title feat(frontend): paper judge console + P0 contrast fix feat(frontend): paper judge console, ES/EN, P0 contrast Aug 13, 2026
Fail-closed aeat_remitting:false on /health and compliance. Chip and landing copy never claim a live Hacienda session. No prod flag flip, no cert paths, no SOAP from the frontend.

Co-authored-by: AlonsoAlviraa <AlonsoAlviraa@users.noreply.github.com>
@cursor cursor Bot changed the title feat(frontend): paper judge console, ES/EN, P0 contrast feat(frontend): paper judge console, ES/EN, honest AEAT chip Aug 13, 2026
cursoragent and others added 2 commits August 13, 2026 19:36
Fleet ingest never calls send_invoice_to_aeat. Copy no longer implies remittance would start if certs existed.

Co-authored-by: AlonsoAlviraa <AlonsoAlviraa@users.noreply.github.com>
FIFO worker thread exited after the first empty queue and never restarted. UI poll stopped at 15s with no error, so QUEUED rows stayed on settling. Worker now waits on a condition; /fleet polls GET /runs/{id} until COMPLETED or shows an honest stuck-queue error.

Co-authored-by: AlonsoAlviraa <AlonsoAlviraa@users.noreply.github.com>
@cursor cursor Bot changed the title feat(frontend): paper judge console, ES/EN, honest AEAT chip feat(frontend): paper judge console, ES/EN, honest AEAT, 202 settle Aug 13, 2026
cursoragent and others added 2 commits August 13, 2026 19:55
Pin the Next proxy to 127.0.0.1 (not localhost/::1), forward query and org headers, and pass wait in JSON+params so a rewrite cannot drop wait=false. Sweep follows the Background 202 toggle (inline when off). GET /runs/{id} drains a QUEUED row so a dual uvicorn FIFO cannot leave the UI settling. Restart the single uvicorn process for the Python side to load.

Co-authored-by: AlonsoAlviraa <AlonsoAlviraa@users.noreply.github.com>
Honest operator guide for AEAT certs (env vars only, no key upload),
Stripe-like security and pricing on the paper canvas, with ES|EN copy
and a collapsed More menu at phone width.

Co-authored-by: AlonsoAlviraa <AlonsoAlviraa@users.noreply.github.com>
@cursor cursor Bot changed the title feat(frontend): paper judge console, ES/EN, honest AEAT, 202 settle feat(frontend): paper judge console, ES/EN, tutorial / security / pricing Aug 13, 2026
Rewrite / as a product homepage with honest proof cards, a Built with
Gemini · Google ADK · VeriFactu strip, and extract below the fold.
Nav is Product / Pricing / Security / Tutorial / Console. Pricing FAQ
and a short security manifesto stay contest-honest — no fake Hacienda,
customers, or logos.

Co-authored-by: AlonsoAlviraa <AlonsoAlviraa@users.noreply.github.com>
@cursor cursor Bot changed the title feat(frontend): paper judge console, ES/EN, tutorial / security / pricing feat(frontend): paper product site — marketing, ES/EN, honest AEAT Aug 13, 2026
Landing sells and shows GET /api/v1/fleet/registry specialists, then
CTA to /fleet. Fixtures carry Extract/Armor/Memory/Sign job labels.
Stage One checklist is complete and honest (aeat_remitting false).
Title/og keep the English judge line. python -m verifleet ingest uses
the same run_fleet path and prints decision + short hash only. No
Cloud Run URL invented; demo slot is empty until a real video exists.

Co-authored-by: AlonsoAlviraa <AlonsoAlviraa@users.noreply.github.com>
@cursor cursor Bot changed the title feat(frontend): paper product site — marketing, ES/EN, honest AEAT feat(frontend): paper product site — winner patterns, CLI, honest Stage One Aug 13, 2026
next.config array rewrites ran before the dynamic [...path] route, so
:3000 never forwarded wait/X-Tenant-Id the way curl to :8000 does.
Remove that rewrite. GET /runs list now drains QUEUED rows. Axios keeps
wait=false. Honest 45s error stays if a run is still queued.

Co-authored-by: AlonsoAlviraa <AlonsoAlviraa@users.noreply.github.com>
@cursor cursor Bot changed the title feat(frontend): paper product site — winner patterns, CLI, honest Stage One fix: browser 202/sweep via App proxy; paper product site Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants