Appearance
Status note (2026-09-25): Dated migration specification, not evidence that the migration ran. Revalidate current branch SHAs, assets and product contracts before implementation; root AGENTS.md and Treehouse policy still control execution.
Main → dev redesign migration audit
TL;DR: specification for porting the main-branch marketing redesign into dev (51 work packages, ready with caveats). Specification only — the migration itself is separate future work, not evidence it ran.
Audit started 2026-09-19; finalized 2026-09-20. This is a migration specification, not an implementation. Artifacts live in the context-only BloxClips workspace; no source or authoritative branch was migrated, merged, cherry-picked, pushed, or submitted as a PR.
Final adversarial review: READY WITH DOCUMENTED CAVEATS. Read 11 — execution decisions first. It fixes two-way CSS leakage (rename marketing cr-* as well as scope), product-specific portal reuse, the platform-icon target path, partial-phase dependencies and ambiguous creator defaults. Marketing and Content Rewards remain separate visual systems. No broad catch-all or global Geist correction is authorized. Counts remain unchanged.
Snapshot and coverage
Frontend common ancestor: 3e376417a90e400eda3b36ee3da340053182fab2, committed 2026-08-12 11:13:47 −07:00 (18:13:47 UTC), merge PR #7, “PV Tracker: faster review flow and layout fixes.” Audit compares fetched origin/main ad33ecb44f208d91e69aae215471e70941111483 and origin/dev 7c3f0079f7a4847ff698c508470757ca81e64b36. Local branches named main/dev are stale and were not used as the authority.
All 6 main commits and their diffs were inspected. The dev range contains 104 commits, enumerated in the history artifacts. There are 185 distinct touched path names, including one transient route; 184 net changed names, or 182 net name-status records after Git folds the two data moves into renames. Every touched name is classified in the file ledger.
The manifest has 51 semantic items: 8 PORT, 31 ADAPT, 4 ALREADY PRESENT, 8 SKIP. These count work packages, not files. One item can require several files, and one file can contain both a useful design change and an excluded architectural change.
Findings and recommendation
Main introduced a coherent public “Toybox” design: Rubik/Space Mono, blue/orange fields, paper cards, thick ink borders and hard shadows. The change includes two homepage audiences, services and case studies, a Calendly-first contact page, creator acquisition/lessons, careers, clipping education, legal/guide skins, local media, and extensive search metadata. The final two commits matter: /contact becomes booking, /book-call disappears, careers is added, and social previews change. The earlier handoff is not an accurate final-state specification.
Dev has moved application responsibilities to app/(marketing), surfaces/marketing, features, and shared components, with independent product/report/invoice surfaces. Reimplement the main presentation within that structure. Keep one marketing shell, add the new public routes there, and preserve feature-owned data and shared services. Do not add main's (site) group next to (marketing) or revive app-local dashboard implementations.
No required Bloxclips-backend or metric-scraper code migration was found. The contact form uses an identical existing Next route; dev's Roblox routes support the required response subset. Calendly replaces the public booking UI without requiring removal of the existing backend booking service. The new optional Discord application intake is a Next server action with new environment configuration; it is not a backend database/application system. It needs validation, abuse controls and honest delivery handling before enablement. Backend main/dev contact and booking files were compared and do not supply a missing redesign contract. See 06.
Highest risks:
- Root replacement would drop dev's private-report telemetry filtering, toast viewport, and dynamic rendering policy.
- Main's creator
.cr-cardCSS collides with dev's product.cr-card; route-group CSS imports do not make selectors private. - Main legal/financial copy contains retired payout providers; some existing dev legal copy also disagrees with current UI. Apply the legal visual shell to dev text and flag unresolved copy, not to main's financial implementation.
- Creator application localStorage is not verification, group membership, or access control. The configured Discord invite is absent in source and defaults to an invalid placeholder.
- Main says creators are paid for every view from posting. That cannot override dev's approved earning periods, paused/exhausted-budget exclusions, versioned rates, or canonical funding system.
- A broad marketing catch-all can intercept dev's affiliate rewrite
/r/:code. Preserve and test that path, auth, invoices and private reports.
Evidence and handoff
Start with 03 design specification, 04 architecture mapping, and 09 implementation plan. The manifest supplies exact evidence files, source commits, proposed targets, dependencies, phases and acceptance for every item. evidence/commits/ preserves all six patches; 01 enumerates both histories. The asset ledger and screenshots are independent supporting evidence.
Local rendered comparisons cover main/dev desktop/mobile public surfaces; external browser resources were blocked, so Calendly/YouTube/CDN fallbacks are explicitly not production-provider validation. No application submission, email, Discord message, booking, payout or other financial action was dispatched. Baseline tests/build/typecheck and limitations are recorded in 10 and evidence/validation-results.json.
The next agent must acquire a new frontend Treehouse lease from refreshed origin/dev, review changes since the pinned dev SHA, then execute phases A–G with the checkpoints in11. No backend worktree or scraper investigation is needed unless that new delta establishes a real dependency. Two owner sign-offs remain for publication/enablement: approved Discord destination/delivery settings; claims/asset-rights/legal publication approval. Defaults are explicit local education and unavailable private destination, not a blocked implementation or fabricated integration.
Both investigation leases were returned clean. evidence/primary-before.json and primary-after.json record unchanged primary checkout HEADs, main/dev branch refs and working-tree status for all three repositories. The Treehouse skill kept visual/build execution isolated; the verification skill required the final coverage and state checks. These workspace-level documents are the handoff; no repository commit or migration PR was created.