12 KiB
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:
Implementedmeans there is direct repo evidence for the pillar's core shipping behavior.Partialmeans meaningful work exists, but the pillar still falls short of the v3 spec's target-state behavior.Missingmeans 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, andsource_contextinapp/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.phpandroutes/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.phpandresources/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, androutes/web.php - Editorial featured-creators surface is wired in
app/Http/Controllers/Web/NovaCardsController.phpandresources/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, andresources/views/cards/lineage.blade.php - Dedicated lineage route and controller action exist in
app/Http/Controllers/Web/NovaCardsController.phpandroutes/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.phpandapp/Models/NovaCardExport.php - Export request creation and polling are implemented in
app/Services/NovaCards/NovaCardExportService.phpandapp/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.phpandresources/js/Pages/Collection/NovaCardsAdminIndex.jsx - Reporting queue integration exists in the Nova Cards admin surface
- Rights flags such as
allow_remix,allow_background_reuse, andallow_exportare 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:
- Creator portfolio depth and creator challenge/remix history.
- Anti-abuse moderation hardening for duplicate and remix-loop control.
- Migration/backfill/rerender tooling.