V7.12.291 Creator Rules · Auth Gate Test

Creator Rulebook

This page is the real map for Creator, Admin, Owner, Pricing, User Dashboard, Supabase tables, global helpers, Theme Bridge and page-owned jobs. It explains what everything is doing before we edit Submit Video, Review Queue or group-play pages.

Submit → sb_submissionsReview → approve / declinePublish → sb_moviesPlans → Pricing MatrixRoles → User Dashboard
Creator Rules loaded. Truth-map page only. No Supabase writes, uploads, approvals, deletes, migrations, storage policy changes or publishing actions.
Checking foundation...
📜✅

Creator flow

Submit Video

Creator fills the form. Poster/artwork URL is prepared first. Submission saves as pending in sb_submissions.

Review Queue

Admin reviews the pending row, checks the video URL, poster and metadata, then chooses approve, publish or decline.

Approve + Publish

Review Queue creates or updates the public movie row in sb_movies and marks the submission approved.

Final cleanup

Supabase Library Editor is used for final title, poster, source, genre, age rating and channel cleanup.

Rules is the platform map, not the dangerous machine. It tells the full truth without performing submit, upload, approve, decline, publish, delete, migrate, schema, storage or live/index actions.

Truth tabs

Creator group status

Rules

Current route:

rules-clean-machine-v7-12-82-test.html

Owns the creator group truth, rules, handoffs and restrictions.

Submit Video

Current route:

submit-video-clean-machine-v7-12-79-test.html

Writes pending creator rows to sb_submissions.

Review Queue

Current route:

review-queue-clean-machine-v7-12-80-publish-test.html

Admin page that approves/declines and publishes to sb_movies.

Final editor

Current route:

Supabase Library Editor

Admin/test workbench for final sb_movies cleanup.

Real platform map

Public watch system

Home, Library, Details, Player 1, Continue Watching, Watch History, Watchlist, Favourites, Likes and Accessibility read public/movie/save/progress data.

Browse system

Supabase Library, Genres, Global Search and About form the public browse/info group. This group has passed.

Creator system

Rules, Submit Video, Review Queue, Playlists, Channels, My Channel, Collections and Player 2 are the active creator/group-play group.

Owner/admin system

Owner pages, User Dashboard, Permissions Matrix, admin tools, audit, readiness and route scanners protect platform operation.

Pricing/plan system

Pricing Matrix is the plan/feature reference. It helps explain what roles/features should unlock later, but it is not payment processing yet.

Supabase system

Supabase tables hold movies, profiles, channels, submissions, saves, policy documents, site pages, settings and audit/import information.

Owner / Admin / User account map

User DashboardOpen User Dashboard

Account and role management truth lives here. It links users, roles, profile authority and future plan state.

Permissions MatrixOpen Permissions Matrix

Explains which role should see which page/tool. Owner-only by current overlay rules.

Profiles table

sb_profiles is the account/profile/role authority table. It should not be guessed from page buttons alone.

Owner authority

Owner sees owner pages, user management, platform core, brand, routes and final safety tooling.

Admin authority

Admin gets operational review/editor/moderation tools, not automatic owner-only platform/user control.

Creator authority

Creator gets submit/channel/group-play tools only where role and future plan allow it.

Pricing Matrix / plan truth

Pricing Matrix routeplans-pricing-feature-shop-v7-11-3-test.html

This is the plan/feature reference page, not a live payment processor.

Plan unlock map

Pricing should explain what features a user can eventually unlock: creator tools, channels, playlists, collections, forms, builder features and support levels.

Not payment yet

No billing, checkout, subscription charge or payment write should be invented from the Rules page.

Connects to User Dashboard

User Dashboard and profile authority decide what a specific account can see/use. Pricing Matrix explains the intended product plan.

Owner controls changes

Plan/permission changes should be owner/admin controlled, audited and never exposed as a public shortcut.

Future entitlement truth

Future entitlement work should connect roles, plans, profiles and RLS deliberately, not with scattered page-only checks.

Supabase table truth map

This map is based on the visible Supabase table list and current app behaviour. The Supabase connector was not confirmed here, so columns/RLS still need direct verification later.

sb_admin_audit_log

Admin/owner audit history. Should record important operational actions later.

Admin
sb_app_settings

App-wide settings and platform state. Should be controlled, not edited from creator pages.

Global
sb_channels

Creator/channel identity and channel records used by channel/group pages.

Creator
sb_collection_movies

Join table connecting collections to movies.

Join
sb_collections

Collection records for browse/group organisation.

Group
sb_favourites

Favourite saves for users. Owned by Core Saves/Menu Counts helpers.

Saves
sb_form_submissions

Web Builder/contact form submissions, not Creator video intake.

Builder
sb_genres

Managed genre labels. Deleting a genre label must not delete movies.

Browse
sb_import_batches

Import/migration batch records. Should stay out of public/creator pages.

Import
sb_likes

Liked title saves for users. Owned by Core Saves/Menu Counts helpers.

Saves
sb_movies

Public movie/library rows. Home, Library, Genres, Search, Details and Player 1 read this table.

Public
sb_playlist_movies

Join table connecting playlists to movies.

Join
sb_playlists

Playlist records for creator/group-play features.

Group
sb_policy_documents

Policy/legal documents for Policy Centre and Policy Reader/Admin.

Policy
sb_private_messages

Private/user messaging area. Must not be exposed accidentally through public pages.

Private
sb_profiles

Account/profile/role authority. Owner/admin/creator/viewer truth depends on this table.

Authority
sb_site_pages

Web Builder/site pages and published preview content.

Builder
sb_submissions

Creator submission intake and review queue source. Submit Video writes here.

Creator
sb_watch_progress

Continue Watching and progress records.

Progress
sb_watchlist

Watchlist saves for users. Owned by Core Saves/Menu Counts helpers.

Saves
Rules must not write any table. It explains ownership only. Table columns, RLS policies, row counts and relationships still need direct Supabase verification when tools reconnect.

Locked working workflow

Intake

sb_submissions stores pending creator submissions and review history. Creator pages must not skip the queue.

Review gate

Review Queue decides approve, approve-only, publish, decline and selected channel. This is admin/owner controlled.

Public publish

sb_movies is the public Library table used by Home, Library, Search, Genres, Details and Player 1.

Final cleanup

Supabase Library Editor is the final cleanup tool after publish. It is not the creator intake page.

Global app rules

🧭

Top rail owns page navigation

Creator pages must use a page rail under the header. Hero buttons are only for real current-page actions, not duplicated route links.

Navigation
🧱

Header/page/footer shell stays simple

The page flow stays Header Shell, page rail, hero, tabs/content, Footer Shell. Do not rebuild the protected shell from a page.

Shell
🔎

Header search is global

The shared search helper owns header search preview and opens Global Search with ?q=. Creator pages should load the helper, not invent a new global search.

Search
💾

Save counters are global

Watchlist, Favourites and Likes counts come from shared Core Saves and Menu Saves Count helpers. Creator pages should refresh them, not rewrite count logic.

Counts
🔐

Access helpers own locks

Owner/admin/creator/viewer visibility must follow shared authority rules. Creator pages should not expose owner tools or admin-only actions publicly.

Access
📦

No new file piles

Use current active files. If a new file is genuinely needed, replace a proven inactive old page first. Routine memory goes into the manifest, not endless checkpoints.

Files

Theme Bridge rules

Theme Projector owns global variables

Pages consume --accent, --accent2, --p, --p2, --line, --muted, --btnText and --fontScale.

Pages may style locally, but must obey variables

Local cards, tabs and rails can have their own layout, but colours must be driven by the global theme variables.

Theme Studio owns editing

Creator pages must not become Theme Studio. They can display the theme and refresh the projector, but they do not save global theme settings.

Accessibility remains protected

Font scale, contrast comfort, readable layout and player comfort must not be broken by Creator page styling.

Active pill standard

The active rail/tab style should use linear-gradient(135deg,var(--accent),var(--accent2)).

No hard-coded random redesign

Do not add one-off colours that fight the current theme, brand, accessibility or header/footer shell.

Page-owned properties

Each page gets to own its local job. Global helpers own cross-app jobs. This is how we avoid pages fighting each other.

Rules owns
  • Creator truth map
  • Workflow explanation
  • Do-not rules
  • Supabase table family notes
  • Role/plan/platform explanation
Submit Video owns
  • Creator intake form
  • Poster/artwork URL preparation
  • Pending sb_submissions write
  • Submission validation
  • No public publish
Review Queue owns
  • Pending submission reading
  • Approve / approve-only / decline
  • Publish handoff to sb_movies
  • Admin-only moderation actions
Library Editor owns
  • Final published movie cleanup
  • Poster/source corrections
  • Genre/age/channel cleanup
  • Admin/owner editing only
Pricing Matrix owns
  • Plan/feature shop reference
  • Future entitlement guide
  • No live payment processing yet
Open Pricing Matrix
User Dashboard owns
  • User/account view
  • Role/profile control direction
  • Owner/user-management diagnostics
Open User Dashboard
Theme Projector owns
  • Global colour variables
  • Font scale projection
  • Theme state application
  • Readable theme bridge
Core Saves owns
  • Watchlist saves
  • Favourite saves
  • Like saves
  • Shared save refresh events
Menu Counts owns
  • Header/menu save counts
  • Owner/User Management visibility
  • Direct owner fallback lock
  • Count refresh bridge
Search Fallback owns
  • Header search preview
  • Global Search route handoff
  • Route sanitizer helper
  • Search cache read logic

Role truth

Owner

Owns platform, users, owner tools, route/brand/user-management control, final safety decisions and protected admin areas.

Everything
Admin

Can operate selected review/moderation/editor tools. Admin does not automatically own owner-only user management or platform-core pages.

Operations
Creator

Can submit and manage creator/group areas only as allowed. Creator must not get owner/admin powers by accident.

Limited
Viewer

Can browse/watch/save public content and use profile/accessibility pages as allowed.

Public
Signed out

Should not see owner/user-management areas. Protected direct URLs should show a clear locked page, not a crash.

Locked

Submission rules

Title

Use a clear title. Year in the title is useful because publish tools can infer it.

Video URL

Use a public playable Mux/HLS/video URL. Do not paste private dashboard links.

Poster

Poster/artwork should create or use a public URL before submission save.

Reason

The reason/reviewer note explains why the item should be added.

Status

New submissions start as pending.

Write target

Submit Video writes sb_submissions, not sb_movies.

Review and publish rules

Pending

New submissions wait for admin review.

Queue
Approve + Publish

Creates or updates sb_movies, then marks the submission approved.

Go
Approve only

Approve without publishing only when a public row is not needed yet.

Status
Declined

Use declined when the submission should not move forward.

Stop
Selected channel

The chosen channel should publish into the movie row metadata.

Channel
Library check

After publish, verify Library, Details, Player 1, poster and source URL.

Verify

Do not

🔐

Do not paste private credentials

No private keys, account tokens, passwords, service role keys or dashboard-only links in creator forms.

Never
⚠️

Do not skip Review Queue

Submit Video creates pending rows only. Review Queue is required before public Library publishing.

Never
🧱

Do not merge upload and submit carelessly

The working pattern separates poster URL preparation from submission save. Keep that separation unless fully retested.

Avoid
🚦

Do not release from Rules

Rules explains the release chain. It must not include live/index/publish/delete controls.

Locked
🎛️

Do not steal global helper jobs

Pages should not rewrite Theme Projector, Header Shell, Footer Shell, Core Saves, Search Fallback, Menu Counts or access gate logic.

Global
📡

Do not show all users’ private content

Creator/group-play pages must respect user ownership, role permissions, public/private fields and RLS.

RLS

Creator Rules checklist

Header

Header shell loads and still shows admin/profile state.

Footer

One compact footer shell only.

Top rail

Creator group rail is directly under the header.

Hero

Hero uses page actions only, not duplicate route buttons.

Routes

Submit Video, Review Queue, Pricing Matrix and User Dashboard links go to current files.

Read-only safety

No submit, upload, approve, decline, publish, delete, migrate, schema, storage or live/index buttons appear on Rules.

Global truth

Theme Bridge, global helpers, page-owned properties, account roles, pricing and Supabase table family are explained.

Counters

Header Watchlist/Favourite/Like counters still count through shared saves helper.

Debug

Waiting...

Creator Rules V7.12.291 auth gate test: full platform truth map + Supabase table family + account/pricing links + clean Creator rail.