Demo Youth Football Club
demo_platform_showcase_2026_001
Week 3
18
2026-05-13T17:30:00.000Z
Platform Demo Management
This page tracks demo sessions, lifecycle state, expiration, and safe cleanup planning. It does not write or delete records yet.
Read-only cleanup inspection
Cleanup inspection resolves demo_record_metadata links by demo_session_id and prints the dependency-safe delete order. It performs no deletes or updates.
Command
powershell.exe -NoProfile -ExecutionPolicy Bypass -File ".\scripts\demo\inspect-gameplay-session-cleanup.ps1" -DemoSessionId "demo_session_internal_create_001" Safety
Cleanup DryRun status
The delete script currently supports Mode=DryRun only. It performs ownership resolution, canonical guard checks, and delete-plan output without deleting or updating records.
DryRun command
powershell.exe -NoProfile -ExecutionPolicy Bypass -File ".\scripts\demo\delete-gameplay-session-internal.ps1" -DemoSessionId "demo_session_internal_create_001" -Mode "DryRun" Execution status
Demo safety suite readback
Use the proof URL check, safety suite, or proof summary scripts before changing any public demo flow. Execute modes remain disabled.
Proof Summary
Available
Read-only
Cleanup DryRun
Available
Execute disabled
Reset DryRun
Available
Execute disabled
Week Finalization
DryRun
Execute disabled
Mutation Gates
Closed
No public writes
Fast validation command
powershell.exe -NoProfile -ExecutionPolicy Bypass -File ".\scripts\demo\preview-demo-safety-suite.ps1" Compact proof command
powershell.exe -NoProfile -ExecutionPolicy Bypass -File ".\scripts\demo\preview-public-demo-proof-summary.ps1" -DemoSessionId "demo_session_internal_create_001" -CardPublicCode "DEMOATE0010101" -WeekNumber 1 Demo script map
Use these scripts to inspect the proof stack. Only the internal create script is write-capable, and it remains gated. Execute modes for cleanup, reset, and week finalization are disabled.
| Script | Purpose | Mode | Mutation status |
|---|---|---|---|
| preview-public-demo-proof-summary.ps1 | Compact proof session, score preview, and safety summary. | Read-only | No writes |
| preview-demo-safety-suite.ps1 | Runs URL, cleanup, reset, week-finalization, and proof checks. | Read-only / DryRun | No writes |
| preview-session-reset.ps1 | Previews session reset impact and baseline restore plan. | DryRun | Execute disabled |
| preview-session-week-finalization.ps1 | Previews Week 1 finalization with fantasy_player_weekly_scores. | DryRun | Execute disabled |
| delete-gameplay-session-internal.ps1 | Inspects cleanup target and dependency-safe delete plan. | DryRun only | Deletes disabled |
Cleanup Execute test passed
Cleanup Execute was validated only against demo_session_internal_cleanup_target_001. Public cleanup remains unavailable.
Disposable target
Deleted
Post-delete check
Passed
Active proof
Still valid
Public cleanup
Disabled
Read Model
Database read is unavailable or the demo schema has not been migrated yet, so this surface is using safe fallback data.
spawn psql.exe ENOENT
DB Verification
This verifies that demo infrastructure rows are readable from PostgreSQL before production domain services are wired.
Latest Session
demo_session_demo_platform_showcase_2026_001
Infrastructure Only
0
Metadata Records
44
Demo Youth Football Club
demo_active · public · hydrated_nfl 2025
Batch: demo_platform_showcase_2026_001
Demo Sessions
2 sessions
Demo Youth Football Club
demo_platform_showcase_2026_001
Week 3
18
2026-05-13T17:30:00.000Z
Sample Booster Club
demo_group_sales_demo_2026_002
Week 5
26
2026-05-15T17:30:00.000Z
Select cleanup preview
Lifecycle Controls
demo_active
Actions are state-aware. The API is still the source of enforcement, but this panel now mirrors which lifecycle actions are valid for the current demo session status.
Activate Demo
Moves a draft demo into an active demo state.
blocked
Pause Demo
Pauses simulated timeline movement without deleting data.
available
Resume Demo
Resumes an active/simulated demo.
blocked
Reset Demo
Resets demo clock/progress while preserving the demo batch and ownership metadata.
available
Expire Demo
Stops public/invite access and marks the demo as expired.
available
Archive Demo
Moves an expired demo into archive state before later cleanup.
blocked
Delete Demo Batch
Deletes demo-batch records only after strict demo metadata verification.
blocked
Selected action
Expire Demo
From
demo_active
To
demo_expired
Confirmation
Required
Controlled Lifecycle Boundary
This endpoint can expire or archive demo infrastructure sessions and write lifecycle/audit events. It does not delete records and does not touch production domain tables.
Endpoint
/api/demo/sessions/lifecycle-action
Writes
3 demo tables
Delete
Disabled
{
"actionType": "expire",
"confirmation": "EXPIRE_DEMO_INFRASTRUCTURE",
"demoSessionId": "demo_session_demo_platform_showcase_2026_001",
"demoBatchId": "demo_platform_showcase_2026_001"
} {
"actionType": "archive",
"confirmation": "ARCHIVE_DEMO_INFRASTRUCTURE",
"demoSessionId": "demo_session_demo_platform_showcase_2026_001",
"demoBatchId": "demo_platform_showcase_2026_001"
} Safe Cleanup
safe preview
Batch
demo_platform_showcase_2026_001
Action
expire
Records
18
fundraiser
6
share_link
6
card
6
This is a cleanup preview only. Real expiration, archiving, and deletion must pass through the demo repository and require demo-only record checks.
Database Tracker
These fields and tables are required before demo creation writes to the production database.
demo_audit_events
Audits demo previews, create attempts, readiness checks, safety checks, scoring-period resolution, lifecycle actions, and cleanup previews.
demo_audit_event_idevent_typedemo_batch_iddemo_session_idactor_user_idriskentity_type demo_lifecycle_events
Audits demo activation, pause, resume, reset, expire, archive, and delete actions.
demo_lifecycle_event_iddemo_session_iddemo_batch_idaction_typesource_statustarget_statusactor_user_id demo_invites
Stores invite-only demo access tokens for prospects, investors, staff training, and sales walkthroughs.
demo_invite_iddemo_session_iddemo_batch_idinvite_token_hashemailaccess_modemax_uses demo_data_sources
Tracks hydrated, synthetic, and replay data sources available to demo campaigns.
demo_data_source_idsourcedata_yearstatusrecommendedcapabilities_jsondescription demo_record_metadata
Tracks every production-shaped demo record by batch/session for safe cleanup.
demo_record_iddemo_batch_iddemo_session_identity_typeentity_iddemo_purposedemo_access_mode demo_sessions
Represents a public, invite-only, staff, investor, or sales demo run.
demo_session_iddemo_batch_idpreset_idstatusaccess_modecreated_by_user_idcreated_by_type campaign_clocks
Allows real, manual, and simulated campaign time without changing scoring logic.
campaign_clock_idfundraiser_idcampaign_time_modedemo_data_sourcedemo_data_yearsimulation_profilesimulation_started_at Production table demo fields
is_demodemo_batch_iddemo_session_iddemo_purposedemo_expires_atdemo_delete_after_at Indexes to create
INDEX demo_audit_events_batch_idx (demo_batch_id)INDEX demo_audit_events_session_idx (demo_session_id)INDEX demo_audit_events_event_type_idx (event_type)INDEX demo_lifecycle_events_session_idx (demo_session_id)INDEX demo_lifecycle_events_batch_idx (demo_batch_id)INDEX demo_invites_session_idx (demo_session_id)UNIQUE demo_invites_token_hash_uidx (invite_token_hash)UNIQUE demo_data_sources_source_year_uidx (source, data_year)INDEX demo_record_metadata_demo_batch_id_idx (demo_batch_id)INDEX demo_record_metadata_entity_idx (entity_type, entity_id)INDEX demo_sessions_status_expires_idx (status, expires_at)INDEX campaign_clocks_fundraiser_id_idx (fundraiser_id)