feat(web): AIN-158 + AIN-153 · 3 marketing pages (/routing /audit /models) + dashboard /workflows scaffold#39
Merged
hizrianraz merged 1 commit intoMay 18, 2026
Conversation
…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>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
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. |
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/routing+/audit+/models— no removal of existing pages (per v6.1 corollary which would require per-page auth for destructive refactor)/workflowslist +/workflows/[workflow_id]detail scaffolds with WorkflowsPageClient + WorkflowDetailClient/pricingpage untouched (Memory chore(deps): Bump react from 19.1.7 to 19.2.6 #8 anti-bundling)pnpm typecheckclean for both appsMarketing page details
/routing/audit/modelsAll use existing
v13/ScrollFade+v13/SectionMarkercomponents; 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 viaCurrentTenant. Dashboard's existingproxyGethelper 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 typecheckpasses for both appsRefs
/,/routing,/audit,/pricing,/modelsnow all present)🤖 Generated with Claude Code