# Nova Cards v3 Gap Matrix Audit date: 2026-03-28 Primary spec: - `.vscode/agents/skinbase-nova-cards-system_v3.md` Validation baseline: - Targeted verification passed with `php artisan test tests/Feature/NovaCards/NovaCardAdminTest.php tests/Feature/NovaCards/NovaCardPublicPagesTest.php` - Result: 19 passing tests, 194 assertions How to read this document: - `Implemented` means there is direct repo evidence for the pillar's core shipping behavior. - `Partial` means meaningful work exists, but the pillar still falls short of the v3 spec's target-state behavior. - `Missing` means no clear implementation was found for that item during this audit. Important note: - The v3 agent file is a roadmap-level spec, not a literal definition of what must already be fully shipped. This matrix measures current repo reality against that target state. ## 1. Advanced studio Status: - Partial Implemented evidence: - Structured v3 schema with `canvas`, `background`, `text_blocks`, `frame`, `effects`, `export_preferences`, and `source_context` in `app/Services/NovaCards/NovaCardProjectNormalizer.php` - Stored v3 canvas flags for safe zones and snap guides in `app/Services/NovaCards/NovaCardProjectNormalizer.php` - Quick versus advanced editor modes in `resources/js/Pages/Studio/StudioCardEditor.jsx` - Text-block reorder, enable/disable toggles, remove controls, and multi-block editing in `resources/js/Pages/Studio/StudioCardEditor.jsx` - Version restore and compare-summary UI in `resources/js/Pages/Studio/StudioCardEditor.jsx` - Advanced frame/effect/quote-mark/text-panel controls in `resources/js/Pages/Studio/StudioCardEditor.jsx` Still missing or clearly incomplete: - No visible snap-guide UI or guide interactions were found; only stored schema flags exist. - No broader lock/unlock controls for editable elements were found. - No full layer list with layer-level controls beyond text-block ordering was found. - No drag-based canvas editing or anchor-point manipulation UI was found. - Safe-zone support appears schema-level, not an exposed editing aid. Verdict: - The Studio is materially beyond MVP and has a credible v3 foundation, but it is not yet the full advanced layer/block studio described in the spec. ## 2. Creator identity Status: - Partial Implemented evidence: - Public creator page and dedicated creator portfolio page exist in `app/Http/Controllers/Web/NovaCardsController.php` and `routes/web.php` - Creator summary stats, top categories, top tags, top moods, featured works, featured collections, creator highlights, most remixed works, most liked works, challenge history, signature themes, remix-branch activity, remix graph visualization, creator preference signals, and a recent creator timeline are rendered through `app/Http/Controllers/Web/NovaCardsController.php` and `resources/views/cards/index.blade.php` - Public coverage for featured works, challenge history, signature themes, and creator portfolio depth exists in `tests/Feature/NovaCards/NovaCardPublicPagesTest.php` - Staff-facing featured creator control exists in `app/Http/Controllers/Settings/NovaCardAdminController.php`, `resources/js/Pages/Collection/NovaCardsAdminIndex.jsx`, and `routes/web.php` - Editorial featured-creators surface is wired in `app/Http/Controllers/Web/NovaCardsController.php` and `resources/views/cards/index.blade.php` Still missing or clearly incomplete: - No richer creator identity controls such as public template favorites or stronger persistent style identity tools were found beyond preference signals, presets, and stored style metadata. - No true interactive remix graph visualization was found beyond the current branch graph summary. Verdict: - Creator identity is materially stronger than the older audit suggested, but it still falls short of the spec's broader portfolio, timeline, and persistent identity vision. ## 3. Social and remix culture Status: - Partial Implemented evidence: - Remix lineage is preserved in model/project state and exposed on card pages in `app/Services/NovaCards/NovaCardPresenter.php`, `resources/views/cards/show.blade.php`, and `resources/views/cards/lineage.blade.php` - Dedicated lineage route and controller action exist in `app/Http/Controllers/Web/NovaCardsController.php` and `routes/web.php` - Best-remixes and remixed-card discovery surfaces exist in `app/Http/Controllers/Web/NovaCardsController.php` - Public lineage and remix coverage exists in `tests/Feature/NovaCards/NovaCardPublicPagesTest.php` - Likes, saves, collections, and challenge participation are integrated into Studio and public surfaces in `resources/js/Pages/Studio/StudioCardEditor.jsx` Still missing or clearly incomplete: - No richer remix-tree browser beyond lineage/family views was found. - No moderation action to freeze a remix branch was found. - No explicit remix-abuse or spam-loop intervention workflow was found. Verdict: - Core remix culture is implemented, but deeper moderation and exploration around remix networks remain unfinished. ## 4. Discovery intelligence Status: - Partial Implemented evidence: - Trending, featured, latest, and rising public feeds exist in `app/Http/Controllers/Web/NovaCardsController.php` - Dedicated rising service exists in `app/Services/NovaCards/NovaCardRisingService.php` - Related cards service exists in `app/Services/NovaCards/NovaCardRelatedCardsService.php` - Public mood, style, palette, editorial, seasonal, creator, collection, challenge, and best-remixes surfaces exist in `app/Http/Controllers/Web/NovaCardsController.php` - Targeted public-page coverage exists in `tests/Feature/NovaCards/NovaCardPublicPagesTest.php` Still missing or clearly incomplete: - The full discovery matrix from the spec is not present; there is no dedicated template family feed, quote-type feed, or broader creator-diversity surfacing layer. - Discovery balance still looks primarily route-by-route rather than a unified discovery engine with stronger editorial/algorithmic blending. - No richer creator diversity or new-creator exposure tuning surface was found beyond the rising service and editorial featuring. Verdict: - Discovery is already broad enough to feel like a real product surface, but it is not yet the full discovery-intelligence platform described in v3. ## 5. Challenge engine Status: - Partial Implemented evidence: - Challenge listing and detail pages exist in `app/Http/Controllers/Web/NovaCardsController.php` - Challenge admin management exists in `app/Http/Controllers/Settings/NovaCardAdminController.php` - Studio challenge submission controls exist in `resources/js/Pages/Studio/StudioCardEditor.jsx` - Challenge landing content appears on editorial surfaces via `app/Http/Controllers/Web/NovaCardsController.php` Still missing or clearly incomplete: - No recurring challenge series system or scheduled pipeline was found. - No challenge archive/history navigation system was found. - No challenge-specific template suggestion rail beyond generic editor options was found. Verdict: - Challenge support is solid and operational, but it does not yet match the spec's more central repeatable challenge engine. ## 6. AI-assisted creation Status: - Partial Implemented evidence: - AI assist service exists in `app/Services/NovaCards/NovaCardAiAssistService.php` - The Studio AI panel exists in `resources/js/Pages/Studio/StudioCardEditor.jsx` - Suggestions include tags, mood, layouts, backgrounds, font pairing, and readability fixes in `app/Services/NovaCards/NovaCardAiAssistService.php` - Suggestions are creator-controlled and optional in the Studio UI Still missing or clearly incomplete: - The service is explicitly rule-based/fallback-first, not a deeper AI composition layer. - No explicit story-conversion or wallpaper-conversion AI actions were found. - No stronger metadata/title/description assist actions were found. Verdict: - AI assist is real and useful, but still much smaller than the spec's longer-term assistive workflow. ## 7. Asset and template ecosystem Status: - Partial Implemented evidence: - Official asset packs and template packs are configured in `config/nova_cards.php` - Asset-pack and template admin surfaces exist in `app/Http/Controllers/Settings/NovaCardAdminController.php` - Advanced editor controls expose frame, color grade, quote-mark, and text-panel systems in `resources/js/Pages/Studio/StudioCardEditor.jsx` - Creator presets exist and are exposed in Studio through `resources/js/Pages/Studio/StudioCardEditor.jsx` Still missing or clearly incomplete: - No explicit template favorites system was found. - No access-rule-aware premium gating or premium-ready pack entitlement system was found. - No richer seasonal/official pack surfacing beyond config/admin management was found. Verdict: - The pack/template ecosystem exists, but it is still closer to a solid internal/content foundation than the full ecosystem described in the spec. ## 8. Export and distribution Status: - Partial Implemented evidence: - Export request model/table support exists in `database/migrations/2026_03_27_010000_add_nova_cards_v3_tables.php` and `app/Models/NovaCardExport.php` - Export request creation and polling are implemented in `app/Services/NovaCards/NovaCardExportService.php` and `app/Http/Controllers/Api/NovaCards/NovaCardExportController.php` - Queued export generation exists in `app/Jobs/NovaCards/GenerateNovaCardExportJob.php` - Preview, hires, square, story, wallpaper, and OG exports are supported in `app/Services/NovaCards/NovaCardExportService.php` - Export controls are exposed in Studio in `resources/js/Pages/Studio/StudioCardEditor.jsx` - Watermark preference is normalized into project data in `app/Services/NovaCards/NovaCardProjectNormalizer.php` Still missing or clearly incomplete: - No actual watermark policy UI or export-policy workflow was found; only a normalized preference field exists. - No export history management surface was found in Studio. - No richer saved export-preset system per user or per preset was found. Verdict: - Export infrastructure is strong, but the broader distribution/product layer around it remains incomplete. ## 9. Trust, moderation, and rights Status: - Partial Implemented evidence: - Card moderation fields and staff moderation surfaces exist in `app/Http/Controllers/Settings/NovaCardAdminController.php` and `resources/js/Pages/Collection/NovaCardsAdminIndex.jsx` - Reporting queue integration exists in the Nova Cards admin surface - Rights flags such as `allow_remix`, `allow_background_reuse`, and `allow_export` are exposed in Studio and policy/service code - Public reporting hooks and moderation-aware visibility exist across card/challenge/comment flows Still missing or clearly incomplete: - No duplicate or near-duplicate Nova Cards detection service was found. - No remix-loop abuse controls were found. - No branch-freeze or targeted remix-branch intervention tooling was found. - No stronger low-quality-content throttling specific to Nova Cards was found beyond general rate limits and moderation baselines. Verdict: - Moderation and rights are credible at the foundation level, but the stronger anti-abuse tooling described in v3 is still missing. ## 10. Migration compatibility and ops tooling Status: - Partial Implemented evidence: - Legacy normalization is handled in `app/Services/NovaCards/NovaCardProjectNormalizer.php` - v3 schema additions are present in `database/migrations/2026_03_27_010000_add_nova_cards_v3_tables.php` - Compatibility behavior is covered by the Nova Cards v3 feature suite Still missing or clearly incomplete: - No explicit schema backfill command was found. - No targeted rerender command/job for migrated cards was found. - No admin-safe migration utility surface with dry-run/reporting was found. Verdict: - Compatibility is implemented. Operational migration tooling is not. ## Overall conclusion Current repo state versus the v3 spec: - The v3 foundation is implemented. - Several public and creator-facing roadmap items that used to be missing are now present, including featured works, featured collections, and featured creators. - The biggest remaining gaps are no longer basic public discovery or staff creator featuring. - The largest remaining gaps are advanced studio depth, deeper creator portfolio identity, stronger anti-abuse tooling, and migration/rerender operations. If prioritizing by product leverage from the current codebase, the clean next targets are: 1. Creator portfolio depth and creator challenge/remix history. 2. Anti-abuse moderation hardening for duplicate and remix-loop control. 3. Migration/backfill/rerender tooling.