Skip to content

feat(web): AIN-158 + AIN-153 · 3 marketing pages (/routing /audit /models) + dashboard /workflows scaffold#39

Merged
hizrianraz merged 1 commit into
mainfrom
feat/ain-158-153-marketing-routing-audit-models-dashboard-workflows
May 18, 2026
Merged

feat(web): AIN-158 + AIN-153 · 3 marketing pages (/routing /audit /models) + dashboard /workflows scaffold#39
hizrianraz merged 1 commit into
mainfrom
feat/ain-158-153-marketing-routing-audit-models-dashboard-workflows

Conversation

@hizrianraz
Copy link
Copy Markdown
Contributor

Summary

  • Marketing (additive): 3 new pages — /routing + /audit + /models — no removal of existing pages (per v6.1 corollary which would require per-page auth for destructive refactor)
  • Dashboard: /workflows list + /workflows/[workflow_id] detail scaffolds with WorkflowsPageClient + WorkflowDetailClient
  • Existing /pricing page untouched (Memory chore(deps): Bump react from 19.1.7 to 19.2.6 #8 anti-bundling)
  • pnpm typecheck clean for both apps

Marketing page details

Page Sections
/routing Hero · Q/L/C scoring formula (D-154-1 weights) · Fallback chains table · routing.decided audit-verifiable
/audit Hero · 5 event-type chain table · Live curl examples · Annex IV bundle
/models Hero · AAMC v1.0 voters · 5 ATS dimensions + Compliance veto · CC-BY 4.0 disclosure

All use existing v13/ScrollFade + v13/SectionMarker components; zero new design primitives; Brand v1.3 lock honored.

Dashboard data-shim deferred to Phase B2

Backend /v1/workflows* endpoints (shipped api#33) use bearer-token tenant auth via CurrentTenant. Dashboard's existing proxyGet helper uses internal-key + X-Ainfera-On-Behalf-Of which workflows router doesn't accept yet.

For this PR: pages render honest empty-state referencing AIN-153 Phase B2 as the data-shim work. No fake loading spinners or simulated data. When the shim lands (user-scoped /v1/users/{handle}/workflows OR proxyGet absolute-path support), swap empty-state to proxyGet<WorkflowsListResponse>(...).

Test plan

  • pnpm typecheck passes for both apps
  • No removal of existing pages (additive only)
  • Vercel preview deploys all 5 new pages
  • Founder visual review on Mac Studio + iPhone
  • Phase B2 dashboard data shim

Refs

  • AIN-158 (marketing parent · D14 5-page lock — /, /routing, /audit, /pricing, /models now all present)
  • AIN-153 (dashboard parent)
  • AIN-153 Phase A (PR api#26)
  • AIN-153 Phase B endpoints (PR api#33)
  • AIN-161 Phase 1 (PR api#29 model_leaderboard view referenced on /models)
  • AIN-154 D-154-1 weights (referenced on /routing)
  • v6.1 Discipline chore(deps-dev): Bump @types/node from 22.19.19 to 25.9.1 #6 corollary (PR ainfera-os#36 — why additive)

🤖 Generated with Claude Code

…ws scaffold

Additive scaffold path per founder direction — adds new pages without
touching the 10+ existing marketing pages (which would require per-page
auth per v6.1 Discipline #6 corollary).

## Marketing additions (additive, no removals)

- `/routing` — 4 sections: hero, scoring formula (Q 0.40 / L 0.30 /
  C 0.30 defaults from AIN-154 Phase 0 lock), fallback chains table,
  audit-verifiable routing.decided event surfacing
- `/audit` — hash-chained per-agent event log + 5 event-type table +
  live curl examples for /v1/audit/public + /v1/audit/<id> +
  /verify + Annex IV bundle export (Studio/Scale tier reference)
- `/models` — AAMC v1.0 voters table (5 frontier providers) + ATS
  scoring dimensions (5 axes, FWGM aggregate, Compliance veto,
  insufficient-data floor per AIN-161 Phase 0 lock) + CC-BY 4.0
  public dataset disclosure

Existing `/pricing` page untouched (Memory #8 — no bundling fixes
with in-flight content).

## Dashboard additions

- `(tenant)/workflows/page.tsx` + `WorkflowsPageClient.tsx` — list view
  with status badges + sortable table; empty-state surfaces API docs
- `(tenant)/workflows/[workflow_id]/page.tsx` +
  `WorkflowDetailClient.tsx` — detail view with breadcrumb + workflow
  meta header + ordered tasks table

## Data-shim deferred to Phase B2

Backend `/v1/workflows*` endpoints (shipped api#33) use bearer-token
tenant auth via `CurrentTenant` dep. The dashboard's existing
`proxyGet` helper uses internal-key + X-Ainfera-On-Behalf-Of shape
that workflows router doesn't accept yet.

For this PR: pages render empty-state + status messaging that
explicitly references AIN-153 Phase B2 as the data-shim work. When
the shim lands (user-scoped /v1/users/{handle}/workflows OR
proxyGet support for absolute paths with internal-key auth), the
page swaps to `proxyGet<WorkflowsListResponse>(...)`.

Empty-state copy is honest about what's not wired yet — no fake
loading spinners or simulated data.

## Brand v1.3 compliance

All 3 marketing pages + 2 dashboard pages use existing tokens from
`apps/marketing/components/v13/` (ScrollFade, SectionMarker) +
dashboard tailwind classes (dash-head, dash-h1, dash-sub,
bg-bg-elev, border-hairline-strong, etc.). No new design primitives;
zero brand drift.

## Test plan
- [x] `pnpm typecheck` passes for both marketing + dashboard
- [x] Visual review: layout matches existing pages (no design drift)
- [ ] Vercel preview deployment renders all 5 new pages
- [ ] Founder UX walkthrough on Mac Studio + iPhone (Brand v1.3 lock)
- [ ] Phase B2 follow-up: dashboard data shim wires /v1/workflows*

## Cross-refs

- AIN-158 (marketing parent · D14 5-page lock)
- AIN-153 (dashboard workflow trace view parent)
- AIN-153 Phase A migration (PR api#26 · schema 0012)
- AIN-153 Phase B endpoints (PR api#33 · 5 /v1/workflows* routes)
- AIN-161 Phase 1 (PR api#29 · model_leaderboard view referenced
  on /models page footer)
- AIN-154 Phase 0 prep (D-154-1 weights referenced on /routing page)
- v6.1 Discipline #6 corollary (PR ainfera-os#36 · why additive
  scaffold vs destructive refactor)

Co-Authored-By: Claude <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 18, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ainfera-dashboard Ready Ready Preview, Comment May 18, 2026 2:15pm
ainfera-marketing Ready Ready Preview, Comment May 18, 2026 2:15pm
web Error Error May 18, 2026 2:15pm

Request Review

@cursor
Copy link
Copy Markdown

cursor Bot commented May 18, 2026

You have used all Bugbot PR reviews included in your free trial for your GitHub account on this workspace.

To continue using Bugbot reviews, enable Bugbot for your team in the Cursor dashboard.

@supabase
Copy link
Copy Markdown

supabase Bot commented May 18, 2026

This pull request has been ignored for the connected project dftfpwzqxoebwzepygzl because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@hizrianraz hizrianraz merged commit 83fe2a2 into main May 18, 2026
6 of 7 checks passed
@hizrianraz hizrianraz deleted the feat/ain-158-153-marketing-routing-audit-models-dashboard-workflows branch May 18, 2026 15:07
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.

1 participant