1.0.0-RC1 · Launch hardening checkpoint
Validated WordPress, Supabase and mobile checkpoint. Discovery remains separate from vetting and rights clearance.
Wave BB — Source Health Recovery + Release Control
Wave BB revalidated 17 expired active sources with fresh direct external evidence. Source-health freshness improved from 4/114 to 21/114 measured and healthy, leaving 92 expired / 1 never measured / 0 unhealthy and 18.42% current coverage. Catalog truth advanced to 6,753 total / 6,294 discovered / 459 accepted research / 435 vetted Public Watch / 424 playable / 39 verified rights / 68 hosted assets / 20 locally hosted videos. Fresh load evidence remains clean through 2026-09-14 02:22:55 UTC. Verified full-copy records remain 22 / 20 hosted / gap 2. Rollback snapshot #160 was captured after the source-health refresh. Final 1.0 is still blocked by incomplete source-health continuity, rendered accessibility, the rights-copy backlog and genuine Android/iOS signing. Vercel remains paused.
Wave BA — Launch Evidence Renewal + Rights Queue Expansion
Wave BA renews the launch load lease with a genuine bounded Edge-runtime run: 25/25 HTTP 2xx, 0 failures, 0 HTTP 429, 0 HTTP 5xx, p95 817 ms, max 820 ms. Evidence 9f3e2f96-bd50-44a8-a2d3-e446185b0ca5 is fresh through 2026-09-14 02:22:55 UTC; the temporary certifier was resealed immediately behind JWT and HTTP 410. Catalog truth is 6,746 total / 6,287 discovered / 459 accepted research / 435 vetted Public Watch / 424 playable / 39 verified rights / 68 hosted assets / 20 locally hosted videos. One new exact NASA/Wikimedia Commons public-domain item, KSC-05-S-00269 (ksc 081505 goesn navarro), is item-level rights-verified but remains intentionally unhosted because the binary-transfer action was blocked in this execution environment. Full-copy rights are therefore 22 verified / 20 hosted / gap 2. Source-health freshness is still degraded at 4/114 fresh measured, 109 expired, 1 never measured, and rendered accessibility remains pending. Formal gates remain 5 passed / 1 pending / 2 blocked / 0 failed; Android/iOS signing remains blocked, final 1.0 remains unpromoted, 1.1/1.2 remains locked, and Vercel remains paused.
Wave AZ — Full Research Library + Excel Export
Wave AZ is the first product-facing library expansion in this sequence. It exposes the actual 6,745-item research catalog on /bw/ instead of only a few static sample lanes. The catalog is explicitly split into 6,287 discovered research leads and 458 accepted research items; neither status implies Public Watch vetting, rights clearance or local hosting. A new public-safe bw-research-library Edge Function provides searchable/paged JSON plus direct 1,500-row XLSX and CSV exports, backed internally by service-role-only bw_core.research_library_export_v81 and a restricted RPC. The live page now provides full-catalog search, sort, load-more, status badges, exact source links, rights badges and local-hosting badges. JSON validation returned HTTP 200 with total 6,745; XLSX validation returned HTTP 200 with the correct Excel MIME type. Current Public Watch remains 435, verified rights 38, hosted assets 68, and local videos 20. No research candidate was automatically promoted or copied. Current launch evidence is not green: the load lease has expired, source-health evidence has mostly aged out, and two operational alerts are open; final 1.0 therefore remains unpromoted.
Wave AY — Canonical Truth Surface Interlock
Canonical Supabase truth is 6,619 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 38 verified-rights records, 68 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 20 locally hosted videos. Latest completed ingest is run 240 with +6 accepted. Wave AY deploys private service-only bw_core.wp_truth_surface_evidence, security-invoker bw_core.launch_truth_surface_guard_v80, and bw_core.sync_truth_surface_alert_v80(). The interlock compares post-write WordPress trust counters against canonical launch_release_candidate_v71; count drift opens a critical operational alert, while stale or missing WordPress evidence opens a warning. The check runs every 15 minutes. The live /bw/ candidate counter, Documentation current-release count and Release Archive dashboard were synchronized before evidence capture. PUBLIC/anon/authenticated access is revoked from the v80 control surfaces and service-role-only access is retained. No media was copied, Wave W remains clean, rights remain 21 verified full-video-copy records / 20 hosted / gap 1, rendered accessibility remains pending, Android/iOS signing remains blocked on genuine credentials, release_candidate_clear=false, 1.1/1.2 remains locked and Vercel remains paused.
Wave AX — Launch Evidence Lease Interlock
Canonical Supabase truth is 6,613 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 38 verified-rights records, 68 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 20 locally hosted videos. Latest completed ingest is run 239 with +2 accepted. Wave AX deploys private service-only bw_core.launch_evidence_lease_guard_v79 and bw_core.sync_load_evidence_lease_alert_v79(), scheduled every ten minutes. The guard classifies the authoritative load lease as current, expiring within two hours, expired/missing, or failed; the alert synchronizer opens a warning before expiry and escalates to critical after expiry/failure, then resolves when fresh authoritative evidence returns. Current load evidence is clean/fresh through 2026-09-12 18:07:24 UTC, with about 8.06 hours remaining at validation, so no alert is currently open. PUBLIC/anon/authenticated access is denied to the new control surfaces and service-role access is verified. No new media was copied; Wave W remains clean; rights remain 21 verified full-video-copy records / 20 hosted / gap 1. A legacy rollback-anchor helper was observed with historical stale-gate drift and is not used as canonical release truth. Launch remains 5 passed / 1 pending / 2 blocked / 0 failed, rendered accessibility pending, Android/iOS signing blocked on genuine credentials, release_candidate_clear=false, 1.1/1.2 locked and Vercel paused.
Wave AW — External Validation Isolation Guard
Canonical Supabase truth is 6,611 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 38 verified-rights records, 68 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 20 locally hosted videos. Latest completed ingest is run 238 with +5 accepted. Wave AW attempted a fresh bounded load and rendered-accessibility execution against the live /bw/ surface, but this automation runner could not resolve 4br.ca for all 25 curl requests and did not have the configured browser-automation CLI installed. The result is therefore recorded as blocked_execution_environment, not as a BrightWatcher product failure. New private service-only bw_core.qa_external_validation_attempt and security-invoker bw_core.launch_external_validation_guard_v78 prevent runner transport failures from overwriting authoritative product evidence. Existing load evidence remains clean/fresh; rendered accessibility remains pending. Rights remain 21 verified full-video-copy records / 20 hosted / gap 1; no local media was copied. Immutable snapshot #19 was captured with source hash c31e1576b7c8d6436ff83b2084d8e7a0. Launch remains 5 passed / 1 pending / 2 blocked / 0 failed, release_candidate_clear=false, 1.1/1.2 locked and Vercel paused.
Wave AV — Source Health Freshness Guard
Canonical Supabase truth is 6,606 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured / 99.12%, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 38 verified-rights records, 68 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 20 locally hosted videos. Latest completed ingest is run 237 with +2 accepted. Wave AV freshly revalidated BBC Earth Videos, Epicurious Video, NASA at Home Videos and National Geographic Videos after their older direct checks aged out; NASA TikTok remains explicitly unmeasured because the current external web runtime cannot validate it. The new private service-only bw_core.launch_source_health_freshness_guard_v77 is security_invoker and exposes evidence freshness, expiry, expiring-soon sources and the next evidence-expiry timestamp. Validation shows 0 expired and 0 expiring-soon sources, with only NASA TikTok never measured. Direct reachability has no rights implication and authorizes no local copy. Rights remain 21 verified full-video-copy records / 20 hosted / gap 1, load remains clean/fresh, rendered accessibility remains pending, Android/iOS signing remains blocked on genuine credentials, release_candidate_clear=false, 1.1/1.2 locked and Vercel paused.
Wave AU — Accessibility Truth Synchronization
Canonical Supabase truth is 6,604 research candidates after automated run 236 added +9, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 38 verified-rights records, 68 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 20 locally hosted videos. Wave AU re-read the full 103,849-character live WordPress source and corrected stale 6,524/37/19 trust counters plus stale Wave AM/AN labels so the consumer surface now agrees with current Supabase launch truth. Supabase accessibility evidence #22 records the fresh full-source audit: skip navigation, focusable main, labelled navigation/search, modal semantics, focus trap/restore, inert background isolation, titled iframe, live regions, aria-busy feed state, image-alt source paths, reduced-motion, contrast/forced-colors handling, 44px controls, browser self-check and evidence exporter remain present. The accessibility evidence identity sequence had drifted and was safely realigned before evidence #22 was inserted. This is still source/static evidence only; rendered multi-browser/device validation remains pending and is not claimed. Launch remains 5 passed / 1 pending / 2 blocked / 0 failed, rights remain 21 verified full-video-copy records / 20 hosted / gap 1, Android/iOS signing remains blocked on genuine credentials, release_candidate_clear=false, 1.1/1.2 locked, Vercel paused.
Wave AT — Release Snapshot RLS Hardening
Canonical Supabase truth is 6,595 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 38 verified-rights records, 68 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 20 locally hosted videos. Wave AT closes the Wave AS launch-control defect: bw_core.launch_release_snapshots now has Row Level Security enabled. Direct PUBLIC/anon/authenticated access is revoked, while service_role retains internal control-plane SELECT/INSERT access. Post-change verification confirms RLS enabled, anon/authenticated SELECT false, service-role SELECT/INSERT true, and the critical launch_release_snapshots_rls_disabled alert resolved. Latest automated ingest run 235 completed with 3,259 observations / 4 accepted / 0 rejected / no terminal error. Backend health is restored to passed and release truth is again 5 passed / 1 pending / 2 blocked / 0 failed with 0 open operational alerts. Rights remain 21 verified full-video-copy records / 20 hosted / gap 1. Rendered accessibility remains pending; Android/iOS signing remains blocked on genuine credentials; release_candidate_clear=false; 1.1/1.2 remains locked; Vercel remains paused.
Wave AS — Launch Security Boundary Audit + Monitoring Interlock
Canonical Supabase truth is 6,591 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 38 verified-rights records, 68 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 20 locally hosted videos. The live Supabase control-plane audit found bw_core.launch_release_snapshots with Row Level Security disabled. Explicit privilege checks show no current SELECT or INSERT grants for anon or authenticated, but the missing RLS defense-in-depth boundary remains a release-security defect. Wave AS therefore opens critical operational alert launch_release_snapshots_rls_disabled and leaves 1.0 unpromoted. RLS was not auto-enabled because the correct remediation requires an explicit policy/access decision; blindly enabling RLS without policies can block legitimate release-control access. Current release state is 5 passed / 1 pending / 2 blocked / 0 failed, 1 open critical operational alert, strict load clean/fresh, Wave W clean, rights-copy gap 1, rendered accessibility pending, Android/iOS signing blocked, release_candidate_clear=false, 1.1/1.2 locked and Vercel paused.
Wave AR — Capacity-Aware Rights Seed Expansion
Canonical Supabase truth is 6,586 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 38 verified-rights records, 68 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 20 locally hosted videos. Automated ingest run 231 added +7 research candidates while Wave AR manual item-level rights seed run 233 added one separately verified Wikimedia Commons candidate. The exact NASA public-domain original NASA – This World Is Black and White was copied unchanged into private brightwatcher-owned-media Storage at 26,321,480 bytes, SHA-256 9710a7f4c2d05a6eb7031c1366891d43494bb94b0b5a6ed85f900ac4d280857f, linked to exact item-level PD-USGov-NASA evidence and registered as candidate 867137 only after object verification. The one-shot transfer endpoint was immediately resealed to JWT-protected HTTP 410. The Supabase organization is on the Free plan, so Apollo candidate 649599 remains safely unhosted because its 94,207,467-byte exact original exceeds the current plan ceiling and its rights record prohibits derivatives. Rights become 21 verified full-video-copy records / 20 hosted / gap 1; no discovered-only item was promoted to Public Watch. Immutable snapshot #14 has source hash 63fb1a7c1fec63906a76a3df2475072c. Load remains clean/fresh, Wave W remains clean, rendered accessibility remains pending, Android/iOS signing remain blocked on genuine credentials, final 1.0 remains unpromoted, 1.1/1.2 remains locked, and Vercel remains paused.
Wave AQ — Storage Capacity Guard + Blocker Reclassification
Canonical Supabase truth is 6,578 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 67 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 19 locally hosted videos. Latest completed ingest is run 230 with +6 accepted. Wave AQ deploys private service-only bw_core.storage_capacity_evidence and bw_core.launch_storage_capacity_guard_v76. The private owned-media bucket allows 2,147,483,648 bytes, while exact candidate 649599 is 94,207,467 bytes and the actual transfer path rejected it before object creation with HTTP 413. The rights-copy blocker is therefore reclassified from internally ready to waiting_external. No storage object or hosted row was fabricated, and no transcode is attempted because current item-level evidence explicitly records permits_derivatives=false. Wave W remains clean, load remains clean/fresh, rendered accessibility remains pending, Android/iOS signing remain blocked on genuine credentials, final 1.0 remains unpromoted, 1.1/1.2 remains locked, and Vercel remains paused. Immutable snapshot #13 was captured with source hash 10ac601fe5a6177729d612f16a199871.
Wave AP — Ingest Recovery + Continuity Guard
Canonical Supabase truth after completed ingest run 229 is 6,572 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 67 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 19 locally hosted videos. Run 229 completed normally with 4,861 observations / 16 accepted / 0 rejected / no terminal error. Wave AP found stale run 228 still marked running after activity had stopped; it is now honestly recovered as partial with 14 preserved candidate rows, not falsely marked complete. New private service-only bw_core.reconcile_stale_ingest_runs_v75() and bw_core.launch_ingest_continuity_v75 detect and recover abandoned runs, and an internal 15-minute continuity check is scheduled. Current continuity is clean with 0 stale running runs. The launch-snapshot sequence was also realigned before immutable snapshot #12 was captured with source hash 82c7dbc449ea546abb5c32a0d3398975. Load remains clean/fresh, Wave W rights integrity remains clean, rights remain 20 verified full-video-copy records / 19 hosted / gap 1, rendered accessibility remains pending, Android/iOS production signing remains blocked on genuine credentials, final 1.0 remains unpromoted, 1.1/1.2 remains locked, and Vercel remains paused.
Wave AN — Launch Blocker Resolution Queue
Canonical Supabase truth after completed ingest run 227 is 6,556 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 67 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 19 locally hosted videos. Run 227 processed 4,862 observations / 18 accepted / 0 rejected / no terminal error. Wave AN deploys private service-only bw_core.launch_blocker_work_items and bw_core.launch_blocker_resolution_queue_v73. The live queue explicitly ranks the unresolved launch work: priority 1 rights-copy backlog is ready to execute only against the exact verified candidate 649599 and Wave W validation; priority 2 rendered accessibility waits on an environment allowed to navigate 4BR.ca; priorities 3 and 4 Android/iOS signing wait on genuine platform credentials. The table has RLS enabled, the v73 view is security_invoker, and PUBLIC/anon/authenticated access is revoked. Current launch remains 5 passed / 1 pending / 2 blocked / 0 failed, load clean/fresh, Wave W clean, rights 20 verified full-video-copy records / 19 hosted / gap 1, release_candidate_clear=false, 1.1/1.2 locked, Vercel paused.
Wave AL — Release Candidate Seal
Canonical Supabase truth after completed ingest run 225 is 6,524 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 67 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 19 locally hosted videos. Run 225 processed 4,861 observations / 13 accepted / 0 rejected / no terminal error. Wave AL deployed private service-only bw_core.launch_release_candidate_v71 as a security-invoker release seal. Current blocker truth is exactly rights_copy_backlog, accessibility_rendered_validation, android_signed_build, ios_signed_build. Load evidence remains clean/fresh, Wave W rights integrity is clean, operational alerts are zero and stale passed gates are zero. Immutable launch snapshot #8 was captured after run 225 with source hash 5e1d75b0e94425dfc8132491c20d775b. The remaining Apollo 11 gap was rechecked against its exact Wikimedia Commons item, which identifies NASA authorship and U.S. public-domain status, but no completed private binary exists, so rights remain 20 verified full-video-copy records / 19 hosted / gap 1. No hosted count was fabricated. Final launch remains 5 passed / 1 pending / 2 blocked / 0 failed, release_candidate_clear=false, signed Android/iOS remain blocked on real credentials, 1.1/1.2 remains locked, and Vercel remains paused.
Wave AK — Promotion Freeze Guard
Canonical Supabase truth after completed ingest run 224 is 6,495 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 67 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 19 locally hosted videos. Run 224 processed 4,860 observations / 19 accepted / 0 rejected / no terminal error. Wave AK captured immutable launch snapshot #7 with source hash 9ffa983dd2dd2cc423adcc38729f80ce and deployed private service-only bw_core.launch_promotion_freeze_guard_v70. The guard blocks promotion for in-flight ingestion, snapshot drift, stale/dirty load evidence, Wave W rights-integrity failure, any verified-copy backlog, missing rendered accessibility validation, blocked Android/iOS signing, failed release gates, open operational alerts, or stale passed evidence. Verification shows snapshot drift 0, ingest complete, load clean/fresh and Wave W clean. Promotion remains frozen for exactly rights_copy_backlog, accessibility_rendered_validation, android_signed_build, ios_signed_build. Accessibility evidence #20 records the Wave AK browser-capability check as pending; no rendered pass is claimed because the required browser runtime is unavailable. Rights remain 20 verified full-video-copy records / 19 hosted / gap 1; no new local media copy is claimed. Final launch remains 5 passed / 1 pending / 2 blocked / 0 failed, promotable=false, 1.1/1.2 remains locked and Vercel remains paused.
Wave AJ — Accessibility Scope + Landmark Hardening
Canonical Supabase truth after completed ingest run 223 is 6,476 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 67 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 19 locally hosted videos. The BrightWatcher page main landmark now has an explicit accessible name/description relationship and a screen-reader-only scope statement explaining that discovered, vetted, rights-cleared and locally hosted states are separate. A complete audit of all 393 WordPress media items found 358 missing-alt items, 373 auto-generated titles, at least 27 files over 500KB and at least 2 over 2MB; these findings are explicitly classified as 4BR-wide rather than falsely counted as BrightWatcher-specific defects without attachment evidence. Supabase accessibility evidence #19 is pending, not passed, because rendered multi-browser/device validation is still required. Immutable release snapshot #5 was captured with source hash 1cb44ce720a9a7811b4b29b14e511bee. Load remains clean/fresh from the Wave AH confirmation, Wave W remains clean, rights coverage remains 20 verified full-video-copy records / 19 hosted / gap 1, and no new local media copy is claimed. Formal launch remains 5 passed / 1 pending / 2 blocked / 0 failed, promotable=false, 1.1/1.2 remains locked, signed Android/iOS remain credential-blocked, and Vercel remains paused.
Wave AI — Launch Evidence Continuity Guard
Fresh canonical Supabase truth after completed ingest run 222 is 6,458 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 67 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 19 locally hosted videos. Run 222 processed 4,863 observations / 24 accepted / 0 rejected / no terminal error. Wave AI adds the private service-only bw_core.launch_evidence_continuity_guard_v68, a fail-closed continuity contract combining immutable snapshot drift, authoritative load-evidence freshness, preserved load-confirmation history, accessibility-evidence freshness, Wave W integrity, the remaining rights-copy backlog and external mobile-signing blockers. Immutable launch snapshot #4 was captured after run 222 with source hash d4d8ffa8a47b61961dbab09a070f5d6c. Fresh accessibility evidence #18 reverified the deployed source/static controls but remains pending; genuine rendered multi-browser/device validation is still not claimed. Current rights truth remains 20 verified full-video-copy records / 19 hosted / gap 1, and no new local media copy was claimed. Formal launch remains 5 passed / 1 pending / 2 blocked / 0 failed, promotable=false, 1.1/1.2 remains locked, Android/iOS signing remains blocked on genuine credentials, and Vercel remains paused.
Wave AH — Load Renewal + Confirmation Guard
Fresh canonical Supabase truth after completed ingest run 221 is 6,434 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 67 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 19 locally hosted videos. Run 221 processed 4,848 observations / 14 accepted / 0 rejected / no terminal error. Wave AH renewed production load evidence with a real bounded Edge-runtime test. Attempt 1 recorded one transient HTTP 500 at 24/25 HTTP 2xx, 0 HTTP 429, p95 1898 ms, max 1905 ms; immediate confirmation then passed 25/25 HTTP 2xx / 0 failures / 0 HTTP 429 / 0 HTTP 5xx, p95 848 ms, max 920 ms. The private service-only bw_core.launch_load_confirmation_guard_v67 preserves both runs and reports clean_confirmation_after_transient. The temporary certifier was returned to JWT-protected HTTP 410 immediately afterward. Accessibility evidence #17 reverified the current deployed source/static controls but remains pending because rendered multi-browser/device validation has not genuinely passed. Immutable launch snapshot #3 was captured with source hash febc190262a7621a2a04c67cda5a99eb. Rights remain fail-closed at 20 verified full-video-copy records / 19 hosted / gap 1; no new local media was copied. Formal launch remains 5 passed / 1 pending / 2 blocked / 0 failed, promotable=false, 1.1/1.2 remains locked, Android/iOS signing remains blocked on genuine credentials, and Vercel remains paused.
Wave AG — Immutable Launch Snapshot Refresh
Fresh canonical Supabase truth after completed ingest run 220 is 6,420 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 67 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 19 locally hosted videos. Run 220 processed 4,863 observations / 28 accepted / 0 rejected / no terminal error. Wave AG captured immutable release snapshot #2 after run 220 with source hash 0961fb76731f5d55ef7639bb0c77b0ed, providing a new rollback/drift anchor while preserving the earlier Wave AF snapshot. Rights remain fail-closed at 20 verified full-video-copy records / 19 hosted / gap 1; no hosted count is claimed for the remaining NASA Apollo item because a validated private binary still does not exist. Authoritative load evidence remains clean/fresh with roughly 13 hours left in its 24-hour lease. Accessibility remains pending because rendered multi-browser/device validation has not genuinely passed. Formal launch state remains 5 passed / 1 pending / 2 blocked / 0 failed, 0 operational alerts, 0 stale passed gates, promotable=false; signed Android/iOS remain blocked on real credentials; 1.1/1.2 remains locked; Vercel remains paused.
Current release validation · v58
Fresh canonical Supabase truth after completed ingest run 209 is 6,256 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 66 hosted assets and 18 locally hosted videos. Run 209 processed 3,276 observations / 3 accepted / 0 rejected / no terminal error. v58 completed a fresh bounded Edge-runtime certification against the production bw-public-feed: 25/25 HTTP 2xx, 0 failures, 0 HTTP 429, 0 HTTP 5xx, p95 545 ms, max 551 ms. The private service-only bw_core.launch_load_evidence_lease_v58 now publishes exact evidence age and 24-hour expiry, while bw_core.launch_gap_register_v58 consumes that lease so a historical green load run automatically becomes warning/stale instead of silently remaining current. The temporary certifier was disabled immediately after success. The rights-hosting backlog remains exactly 2 verified full-copy records / 0 newly hosted this wave; no file is counted until real private Storage transfer, byte-size, SHA-256, exact rights-evidence linkage and Wave W validation succeed. Wave W remains clean, batch 003 remains 3/3 validated/private, open operational alerts are 0 and stale passed gates are 0. Formal gates remain 5 passed / 1 pending / 2 blocked / 0 failed; primary blocker is rendered accessibility, promotable=false, 1.1/1.2 remains locked and Vercel remains paused.
Current release validation · v59
Fresh canonical Supabase truth after completed ingest run 210 is 6,290 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 66 hosted assets and 18 locally hosted videos. Run 210 processed 4,848 observations / 21 accepted / 0 rejected / no terminal error. v59 adds the private service-only bw_core.launch_accessibility_evidence_lease_v59, which tracks accessibility evidence age, a 24-hour static-evidence expiry and the explicit distinction between fresh static evidence and the missing rendered browser/device pass. The live /bw/ page now includes a user-triggered in-browser accessibility self-check covering skip navigation, labels, dialog semantics, live regions, image alt attributes, iframe titles, positive tabindex, reduced-motion CSS, contrast/forced-colors CSS, visible 44px controls and duplicate IDs. This diagnostic does not promote the formal gate. Accessibility evidence #13 remains pending, final 1.0 remains unpromoted, Android/iOS signing remains blocked on genuine credentials, 1.1/1.2 remains locked and Vercel remains paused.
Current release validation · v60
Fresh canonical Supabase truth after completed ingest run 211 is 6,290 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 66 hosted assets and 18 locally hosted videos. Run 211 processed 4,863 observations / 7 accepted / 0 rejected / no terminal error. v60 adds the private service-only bw_core.launch_unified_truth_v60, reconciling current catalog/source/rights truth with the v58 load-evidence lease and v59 accessibility-evidence lease. This removes a real historical drift: older unified truth could still expose one stale passed load gate even while the authoritative v58 load lease was fresh. v60 now reports strict load clean/fresh, 0 stale passed gates, while preserving the actual blocker set: rendered accessibility pending plus Android/iOS signing blocked on genuine credentials. Wave W remains clean; batch 003 remains 3/3 validated/private; 20 verified full-video-copy records remain separated from 18 actually hosted videos; promotable=false; 1.1/1.2 remains locked; Vercel remains paused.
Current release validation · v61
Fresh canonical Supabase truth after completed ingest run 212 is 6,290 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 66 hosted assets and 18 locally hosted videos. Run 212 processed 4,863 observations / 6 accepted / 0 rejected / no terminal error. v61 fixes stale promotion-lock drift: the prior v45 promotion lock still exposed 109/114 source measurements and one stale passed load gate even though v54/v58/v60 had established 113/114 measured sources and fresh authoritative load evidence. The new private service-only bw_core.launch_promotion_lock_v61 derives directly from launch_unified_truth_v60 and validates 113/114 measured, strict load clean/fresh, 0 stale passed gates. The remaining promotion blocker set is now exactly three items: rendered accessibility validation, Android signing credentials and iOS signing credentials. Wave W remains clean; batch 003 remains 3/3 validated/private; the rights-hosting gap remains 20 verified full-video-copy records versus 18 actually hosted videos; no local copy was added in this wave. launch_promotable_v61=false, may_begin_1_1_1_2_v61=false, and Vercel remains paused.
Current release validation · v62
Fresh canonical Supabase truth after completed ingest run 213 is 6,305 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 66 hosted assets and 18 locally hosted videos. Run 213 processed 4,863 observations / 8 accepted / 0 rejected / no terminal error. v62 adds a visible launch-validation matrix and a device-local browser-evidence export to /bw/. The export captures viewport, user agent, labelled navigation/search, dialog semantics, live-region count, visible-control dimensions, missing-alt count, duplicate IDs and browser accessibility preferences, but it is diagnostic only and cannot promote the accessibility launch gate. Supabase accessibility evidence #14 records the current source/static controls plus this export harness as pending. Authoritative load evidence remains clean/fresh from the v58 certification at approximately 3.96 hours old: 25/25 HTTP 2xx, 0 failures, 0 HTTP 429, 0 HTTP 5xx, p95 545 ms and max 551 ms. Wave W remains clean, batch 003 remains 3/3 validated/private, no new local media was copied, and the verified-copy hosting gap remains 20 rights records versus 18 actually hosted videos. Formal gates remain 5 passed / 1 pending / 2 blocked / 0 failed; final 1.0 remains unpromoted; 1.1/1.2 remains locked; Android/iOS signing remains blocked on genuine credentials; Vercel remains paused.
Wave AA — Launch Evidence Durability
Fresh canonical Supabase truth after completed ingest run 214 is 6,305 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 66 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 18 locally hosted videos. Run 214 processed 4,864 observations / 7 accepted / 0 rejected / no terminal error. The live 1.0 launch matrix now exposes the exact authoritative load-evidence expiry rather than only a green state, and device-local browser evidence exports identify this coherent major bundle as Wave AA. Supabase accessibility evidence #15 records the current static/source controls and evidence-lease surface as pending; rendered multi-browser/device validation is still unavailable and is not claimed complete. Authoritative load evidence remains clean/fresh at about 5.02 hours old: 25/25 HTTP 2xx, zero failures, zero HTTP 429/5xx, p95 545 ms, max 551 ms, expiring at 2026-09-12 06:04 UTC. Wave W remains clean, batch 003 remains 3/3 validated/private, rights coverage remains 20 verified full-video-copy records / 18 hosted videos / gap 2, and no new local media copy completed. Formal launch state remains 5 passed / 1 pending / 2 blocked / 0 failed, 0 open operational alerts, 0 stale passed gates, launch_promotable=false, 1.1/1.2 remains locked, Android/iOS signing remains blocked on genuine credentials, and Vercel remains paused.
Wave AB — Rights-Cleared Hosting Expansion
Fresh canonical Supabase truth after completed ingest run 215 is 6,310 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 67 hosted assets and 19 locally hosted videos. Run 215 processed 4,864 observations / 5 accepted / 0 rejected / no terminal error. Wave AB completed one new item-level rights-cleared local transfer: the NASA Hagal dune-field original was copied from its exact Wikimedia Commons item into private brightwatcher-owned-media Storage, validated at 20,179,770 bytes, SHA-256 00c01186a55a725f39333934aeb8cfaa1c8ec70863045d2b2ef65d6c3a0ffb64, linked to rights evidence 3238781b-18ec-4116-83dc-fb6b6aa5c2a6, and registered only after the private object existed. Rights-hosting coverage is now 20 verified full-video-copy records / 19 hosted / gap 1. The Apollo 11 original was attempted through the same exact-item transfer path but the Edge worker hit WORKER_RESOURCE_LIMIT, so it remains unhosted and is not counted. The one-shot transfer endpoint was immediately sealed behind JWT and HTTP 410. Rendered accessibility remains pending because the available Chromium runtime is administratively blocked from reaching 4br.ca; no false pass is claimed. Load remains clean/fresh, Wave W remains clean, formal gates remain 5 passed / 1 pending / 2 blocked / 0 failed, 1.1/1.2 remains locked, and Vercel remains paused.
Wave AC — Launch Blocker Matrix + Trust Synchronization
Fresh canonical Supabase truth after completed ingest run 216 is 6,324 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 67 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 19 locally hosted videos. Run 216 processed 4,864 observations / 14 accepted / 0 rejected / no terminal error. The new service-only bw_core.launch_blocker_matrix_v63 reads current unified truth and exposes the remaining launch work without historical drift: rendered accessibility blocking; Android signing blocked_external; iOS signing blocked_external; load evidence clear/fresh; rights-copy backlog 1 item. bw_core.rights_copy_gap_v63 proves that the sole verified full-copy gap is candidate 649599 — Apollo 11 Intro 720p, with verified PD-USGov-NASA full-copy permission and derivatives disabled. A safer streaming-transfer experiment was restricted to that exact item only, but it did not complete a verifiable private Storage copy; the temporary endpoint was resealed behind JWT to HTTP 410 and no hosted row or count was created. Accessibility evidence #16 records a genuine headless-Chromium attempt; the browser process was available but the live page did not produce a DOM within the execution window, so rendered multi-browser/device validation remains pending. Both v63 views use security_invoker, revoke public/anon/authenticated access and grant SELECT only to service_role. Formal gates remain 5 passed / 1 pending / 2 blocked / 0 failed, 0 open operational alerts, 0 stale passed gates, promotable=false, 1.1/1.2 remains locked, and Vercel remains paused.
Wave AE — Launch Operational Guard
Fresh canonical Supabase truth after completed ingest run 218 is 6,392 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 67 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 19 locally hosted videos. Run 218 processed 4,863 observations / 29 accepted / 0 rejected / no terminal error. Wave AE adds private service-only bw_core.launch_operational_guard_v65, a fail-closed operational interlock that detects stale-running ingestion, stale/dirty load evidence, rights-integrity drift, pending rendered accessibility and blocked release gates before promotion. Current state is ingest_guard_state=clear, load clean/fresh, Wave W clean, 0 operational alerts, 0 stale passed gates, and operational gaps exactly rights_copy_backlog, accessibility_rendered_validation, android_signed_build, ios_signed_build. Rights remain 20 verified full-video-copy records / 19 hosted / gap 1; no new local copy was claimed. Final 1.0 remains unpromoted; 1.1/1.2 remains locked; Vercel remains paused.
Wave AD — Launch Evidence SLA
Fresh canonical Supabase truth after completed ingest run 217 is 6,337 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured, 435 vetted / 435 Public Watch / 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 67 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 19 locally hosted videos. Run 217 processed 4,863 observations / 13 accepted / 0 rejected / no terminal error. The new service-only bw_core.launch_evidence_sla_v64 derives from the current unified launch truth and makes evidence expiry operational: authoritative load evidence is fresh with roughly 16.00 hours remaining in the 24-hour lease, while accessibility static evidence is fresh but rendered validation remains pending. The current gap codes are rendered accessibility validation, Android signing, iOS signing and one rights-copy backlog item. Rights remain fail-closed at 20 verified full-video-copy records / 19 hosted / gap 1; no new local copy was claimed in Wave AD. The view uses security_invoker, revokes PUBLIC/anon/authenticated access and grants SELECT only to service_role. Formal launch state remains 5 passed / 1 pending / 2 blocked / 0 failed, 0 open operational alerts, 0 stale passed gates, promotable=false; 1.1/1.2 remains locked and Vercel remains paused.
Historical release validation
Latest completed ingest is run 168: 4,864 discovery observations / 36 accepted / 0 rejected / no terminal run error. The research catalog is now 5,687. Public Watch contains 435 vetted records / 424 consumer-playable, with 11 legacy incomplete records hidden from the playable feed. Current 1.0 quality gates remain 5 passed / 1 pending / 2 blocked / 0 failed, so final 1.0 stays unpromoted. Rights enforcement remains fail-closed. The audited public-domain seed cohort now has 14/14 verified full-video-copy records covered by locally hosted videos and 31/31 verified thumbnail-copy records covered by privately hosted rights-cleared thumbnails. The derivative worker is now v4 with attempt/error observability; after preserving the target-path guard and correcting the failed target path, the final derivative queue is 31 hosted / 0 failed. All Wave W rights-gap counts remain zero. bw-launch-health-v12 was validated at HTTP 200. The newest bounded load confirmation remains 100/100 HTTP 2xx with 0 failures, 0 HTTP 429 and 0 HTTP 5xx. Checkpoint #56 is PREPARED, not promoted. The clean WordPress /bw/ replacement remains blocked by the connected WPWriter post quota and is tracked as an operational warning rather than marked complete.
1.0 Serious Consumer Density v50
The live /bw/ page received a major visible-density rebuild. The redundant legacy discovery panel is removed from presentation so Studio becomes the primary discovery surface. Desktop now shows four vetted video cards per row; mobile shows two per row instead of a single oversized card; Studio featured content remains visible on phones; filters, install center and footer are no longer suppressed by the prior mobile CSS; and the full feed fetches 40 playable records per page instead of 20 while the Studio discovery pool remains 120. Completed ingest run 200 processed 4,863 observations / 18 accepted / 0 rejected / no terminal error, bringing canonical research candidates to 6,156. Vetted/Public-Watch remains 435, consumer-playable remains 424, verified-rights records remain 37, hosted assets remain 66 and locally hosted videos remain 18. No research-only item was promoted or copied locally without evidence. Final 1.0 remains unpromoted because rendered accessibility and genuine Android/iOS signing are still unresolved.
1.0 Personal Learning + Collections v51
The live /bw/ product now adds a serious learning-library layer rather than another backend-only revision. A new Explore Your Way hub sits between the full vetted feed and the locally hosted rights-cleared collection. It provides eight subject entry points, device-local Continue Learning history, Saved for Later resurfacing, and explicit trust counters separating 435 vetted Public Watch items, 18 locally hosted videos, and 37 verified-rights records. Opening a vetted item now records local history for the resume shelf without creating an account or changing backend rights state. Topic tiles drive the existing production search rather than creating a second uncontrolled catalog. Canonical Supabase truth remains 6,156 research candidates / 435 vetted / 435 Public Watch / 424 playable / 66 hosted assets / 18 locally hosted videos / 37 verified-rights records. No newly discovered item was locally copied or promoted in this product wave. Wave W remains fail-closed; final 1.0 remains unpromoted while rendered accessibility and genuine Android/iOS signing are unresolved.
1.0 Guided Learning Paths v52
The live /bw/ product now adds six dynamic three-step learning paths assembled only from the existing vetted/playable BrightWatcher catalog, with source diversity and device-local progress. Paths currently cover Space Explorer, Planet Earth, Big Ideas, Build & Create, Food Science, and Career Launch. A Daily 15-minute learning mix and represented-publisher panel were added so the product behaves more like a structured learning service than a random scrolling feed. Progress is stored locally on the current device; no account, profile table, or new personal-data backend was created. The mobile navigation now links directly to Paths instead of the hidden legacy discovery section. No research-only item was promoted, no rights state was relaxed, and no new media was locally copied without item-level evidence. Because the connected Supabase SQL execution surface is currently blocked and external DNS is unavailable from the browser/container runtime, this wave does not claim fresher catalog counts than the last verified run-200 state: 6,156 research candidates / 435 vetted / 435 Public Watch / 424 playable / 37 verified-rights records / 66 hosted assets / 18 locally hosted videos. Final 1.0 remains unpromoted; rendered accessibility remains pending, Android/iOS signing remains blocked on genuine credentials, 1.1/1.2 remains locked, and Vercel remains paused.
1.0 Catalog Map + Trusted Collections v53
The live /bw/ product now adds a substantial Collections layer that exposes the vetted library as a navigable learning map. Twelve dynamic subject collections are built only from the existing vetted/playable Studio pool, and each collection reports both matching item count and distinct represented-source count. The release also adds a trust dashboard that keeps 424 playable, 435 vetted/Public Watch, 18 locally hosted videos, and 37 verified-rights records explicitly separate, plus a device-local Next Three queue assembled from Saved and Continue Learning. Mobile navigation now gives direct access to Watch, Collections, Paths and Owned. No research-only candidate is promoted, no rights rule is relaxed, and no local copy is created merely to increase product depth. Fresh Supabase SQL count retrieval was blocked by the connected execution safety layer during this run, so v53 intentionally retains the last verified run-200 canonical counts rather than inventing newer numbers: 6,156 research candidates, 117 sources / 114 active / 113 measured, 435 vetted / 435 Public Watch, 424 playable, 2 queued jobs / 250 requested items, 31 paused / 14,250 requested items, 37 rights-verified records, 66 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 18 locally hosted videos. Final 1.0 remains unpromoted; rendered accessibility is still pending, Android/iOS signing remains blocked on genuine credentials, 1.1/1.2 remains locked, and Vercel remains paused.
1.0 Source Health Durability + Launch Truth v54
Completed ingest run 204 processed 4,865 observations / 13 accepted / 0 rejected / no terminal error, bringing canonical research candidates to 6,229. Fresh launch monitoring found the four direct source checks had aged out of the former six-hour evidence window, temporarily reducing source coverage to 109/114. BBC Earth Videos, Epicurious Video, NASA at Home Videos and National Geographic Videos were freshly revalidated as reachable; NASA TikTok remains explicitly unmeasured. The new service-only bw_core.launch_source_health_resilient_v54 preserves a strict six-hour window for ingest-backed source snapshots while extending direct landing-page reachability evidence to 24 hours. Post-migration launch truth is 117 total / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured / 99.12%. Direct reachability remains explicitly non-rights evidence and cannot authorize a local copy. Current library truth remains 435 vetted / 435 Public Watch / 424 playable / 37 verified-rights records / 66 hosted assets / 18 locally hosted videos / 31 hosted thumbnails. Two verified full-copy records still lack hosted videos; no new local media is counted because no private binary transfer completed in this wave. Strict load remains clean/fresh, Wave W remains clean, accessibility remains pending, signed Android/iOS remain blocked on genuine credentials, formal gates remain 5 passed / 1 pending / 2 blocked / 0 failed, promotable=false, 1.1/1.2 remains locked, and Vercel remains paused.
Metadata QA
The latest 7 accepted automated discovery candidates remain research records only until their metadata, availability and promotion checks complete. No duration, AI-disclosure or rights field is fabricated when the upstream source does not provide evidence.
Rights and promotion
No automated discovery record was promoted merely because it was public or embeddable. This controlled owned-media wave separately added 5 exact-item verified NASA/NASA Goddard public-domain videos after private-storage copy, SHA-256 capture and Wave W rights validation.
Queue and public library
Active queued ingestion work is now 2 jobs / 250 requested items. A total of 31 jobs / 14,250 requested items are paused: 23 high-attempt clean jobs were moved into a reversible saturation cooldown after source-level diagnosis, while 8 previously paused unsupported acquisition jobs remain unchanged. Active sources: 114. Vetted library/Public Watch: 435, of which 424 are consumer-playable; 11 legacy incomplete records remain hidden. Verified rights records: 34. Hosted assets: 63, including 15 locally hosted rights-cleared videos, 17 hosted images, and 31 rights-cleared hosted thumbnails. Rights integrity remains clean with zero hosted assets missing evidence, zero unverified-rights assets, zero hosted videos without full-copy permission, zero visual assets without copy permission, and zero thumbnail derivatives without derivative permission.
Rights thumbnail coverage + derivative observability v12
The hourly Supabase worker remains protected by the concurrency guard, and saturation control continues to prevent repeated no-yield queue churn without deleting work. Active queue is 2 jobs / 250 requested items; 23 saturation-paused jobs / 10,500 requested items remain preserved for controlled reactivation. Effective queue debt remains WATCH: 2 queued attempts total, p95 = 1 and 0 high-attempt queued jobs. The service-only bw_core.launch_operations_v12, bw_launch_operations_snapshot_v12() and bw-launch-health-v12 are live; health v12 was validated at HTTP 200. Completed run 158 added 10 research candidates, bringing progress to 5,540 / 10,000 (55.40%). The rights-coverage contract now reports 14/14 verified full-video-copy records hosted and 31/31 verified thumbnail-copy records hosted, with zero Wave W rights gaps. The hardened derivative worker v4 adds per-job attempt/error telemetry and final queue state is 31 hosted / 0 failed. Accessibility evidence #9 remains pending because rendered multi-browser/device validation is still unavailable, and signed Android/iOS remain blocked. Checkpoint #56 is PREPARED, not promoted.
API exposure readiness v13
BrightWatcher now explicitly audits its Supabase client-facing surface ahead of the October 30, 2026 explicit-grants enforcement. The unusable anonymous/authenticated SELECT grants on public.bw_vetted_media_library were revoked. public.bw_media_library_stats remains the sole intentional client-readable BrightWatcher relation. Current audit: 30 public bw_* functions / 23 SECURITY DEFINER / 0 anon EXECUTE / 0 authenticated EXECUTE; 4 public BrightWatcher relations, exactly 1 allowlisted anon/auth-readable aggregate relation. The service-only launch_api_exposure_guard_v13, launch_operations_v13 and bw_launch_operations_snapshot_v13() are live. bw-launch-health-v13 returned HTTP 200. Checkpoint #57 is PREPARED, not promoted. Accessibility remains pending and signed Android/iOS remain blocked.
Strict promotion + rollback contract v14
The service-only v14 launch bundle now treats release promotion as a strict contract instead of a loose summary. Promotion requires all 8 gates to pass, fresh non-mobile evidence, clean/fresh load evidence, zero Wave W rights gaps, an exact Supabase client-surface allowlist match, no critical alerts or stale ingests, and Row Level Security on every current bw_core table. Current result is 5 passed / 1 pending / 2 blocked / 0 failed, therefore promotable=false. Accessibility is still pending; Android and iOS signing remain blocked. launch_evidence_integrity_v14, launch_rollback_guard_v14, launch_operations_v14, bw_launch_operations_snapshot_v14(), and bw_launch_promotion_contract_v14() are service-only. The first health-v14 validation exposed a real missing service-role SELECT dependency and returned HTTP 500; only the required release gate/checkpoint SELECT grants were added, and the final bw-launch-health-v14 revalidation returned HTTP 200. Checkpoint #58 is PREPARED, not promoted.
Canonical launch state v15
Checkpoint #59 adds a drift-proof service-only launch snapshot. Canonical queue debt is WATCH, canonical load evidence is clean/fresh, the eight persisted gate rows exactly match the control-plane totals, Wave W rights integrity is clean, the Supabase API allowlist matches, all 49 current bw_core tables retain Row Level Security, and no stale ingest is running. bw-launch-health-v15 was validated at HTTP 200. Current launch status remains 5 passed / 1 pending / 2 blocked / 0 failed, so promotable=false. The unresolved gates remain rendered accessibility validation and genuine Android/iOS signing credentials. Checkpoint #59 is PREPARED, not promoted.
Hosting eligibility reconciliation v16
A live rights-control-plane drift check found the legacy hosting-eligibility view still reported 14 eligible unhosted thumbnail copies even though rights coverage already proved 31/31 verified thumbnail-copy records hosted. Root cause: the legacy check only recognized asset_kind='image' and did not count hosted thumbnail or screenshot assets as visual coverage. The fail-closed view was corrected without weakening rights requirements. Final live truth is now 0 eligible unhosted full-copy videos / 0 eligible unhosted thumbnail copies, with legacy_control_plane_drift_detected=false. bw-launch-health-v16 was revalidated at HTTP 200. Run 162 completed with 4,863 observations / 6 accepted / 0 rejected, catalog 5,587. Canonical thumbnail/screenshot progress is 31 / 25,000 (0.12%). Checkpoint #60 is PREPARED, not promoted. Accessibility and signed mobile gates remain unresolved.
Durable launch evidence ledger v17
Checkpoint #61 adds a private, service-only, hash-deduplicated launch-evidence ledger so promotion and rollback decisions can be reconstructed from persisted canonical state rather than only mutable live views. The completed run-163 state records 5,601 research candidates / 435 vetted / 435 Public Watch / 31 verified-rights records / 62 hosted assets / 14 locally hosted videos, with Wave W rights integrity clean and load evidence clean/fresh. The first checkpoint-61 snapshot has state hash 2608bfd1e855e3901619540a5a083831; the hourly capture job runs at minute :10 and inserts only when the canonical state changes. After adding the ledger, 50/50 current bw_core tables have Row Level Security enabled. Strict status remains 5 passed / 1 pending / 2 blocked / 0 failed, therefore promotable=false. Checkpoint #61 is PREPARED, not promoted.
Source-health coverage guard v18
Checkpoint #62 adds a private service-only source-health coverage guard so BrightWatcher no longer treats a single healthy probe as representative of the whole acquisition network. Current live evidence is 117 sources / 114 active / 1 source measured / 1 healthy / 0 unhealthy / 113 active sources without a latest health measurement, equal to only 0.88% active-source health coverage. The latest persisted source-health measurement is from September 6, 2026, so source-health coverage is explicitly incomplete. This is an operations-evidence gap, not a rights failure. Run 164 completed with 4,862 observations / 8 accepted / 0 rejected, bringing research candidates to 5,609. Wave W remains clean, the safe-hosting eligible backlog remains zero, and formal launch status remains 5 passed / 1 pending / 2 blocked / 0 failed. Checkpoint #62 is PREPARED, not promoted.
Source-health evidence automation v19
Checkpoint #63 upgrades the operational evidence layer from a single-source probe to ingestion-backed per-source health evidence. The latest completed run 165 exposed 108 distinct source results, which map to 109 of 114 active source records because one active source name is duplicated in the registry. BrightWatcher persisted only those observed source results: 109 measured / 109 healthy / 0 unhealthy, giving 95.61% active-source health coverage. Five active sources remain explicitly unmeasured: BBC Earth Videos, Epicurious Video, NASA at Home Videos, NASA TikTok, and National Geographic Videos. A deduplicated service-only hourly capture runs at minute :05 after ingestion, and bw-launch-health-v19 exposes this coverage without treating the five gaps as healthy. The first HTTP validation exposed a missing private-table SELECT dependency; least-privilege grants were added only to the required source-health and source-registry tables, after which the endpoint returned HTTP 200. Run 165 completed with 4,862 observations / 14 accepted / 0 rejected, bringing research candidates to 5,623. Wave W remains clean, safe-hosting eligibility remains zero, and formal launch status remains 5 passed / 1 pending / 2 blocked / 0 failed. Checkpoint #63 is PREPARED, not promoted.
Source-health closure + external blocker isolation v20
Checkpoint #64 closes four of the five remaining source-health evidence gaps through direct source reachability checks while keeping rights clearance separate. BBC Earth Videos, Epicurious Video, NASA at Home Videos, and National Geographic Videos were directly reachable on September 9, 2026. NASA TikTok could not be validated from the current execution environment and remains explicitly unmeasured. Current source-health evidence is 113/114 active sources measured / 113 healthy / 0 unhealthy / 1 unmeasured, equal to 99.12% coverage. The service-only v20 readiness contract reports near_complete_external_blocker and deliberately keeps source_health_launch_ready=false until coverage is complete. Latest completed ingest run 166 processed 4,862 observations / 5 accepted / 0 rejected, bringing the research catalog to 5,628. Wave W rights integrity remains zero-gap, no new local media was copied, and final 1.0 remains unpromoted.
Validation evidence fusion v21
Checkpoint #65 records the current launch-readiness truth after ingest run 167: 5,651 research candidates, 117 sources / 114 active, 435 vetted / 435 Public Watch, 424 consumer-playable, 31 verified-rights records, 62 hosted assets, 31 hosted thumbnails and 14 locally hosted videos. The v21 source-health contract now durably fuses 109 ingest-backed + 4 direct reachability measurements, giving 113/114 measured / 113 healthy / 0 unhealthy / 99.12%; NASA TikTok remains explicitly unmeasured and source reachability is not treated as a media-copy right. Accessibility evidence #10 remains pending after a genuine headless-Chromium attempt was blocked by container DNS. A new bounded 100-request load attempt was recorded partial/environment-blocked because all requests timed out during TLS handshake before any HTTP response; it is not counted as an application failure and the prior clean/fresh 100/100 evidence remains authoritative. bw-launch-health-v21 was validated at HTTP 200 after checkpoint #65. Durable launch state hash: 6a9aa3e98f8170a2aa62135b34f63cda. Formal status remains 5 passed / 1 pending / 2 blocked / 0 failed, promotable=false.
Evidence freshness + external blocker isolation v22
Checkpoint #66 records the completed run-168 state: 5,687 research candidates, 117 sources / 114 active, 435 vetted / 435 Public Watch, 424 consumer-playable, 31 verified-rights records, 62 hosted assets, 31 hosted thumbnails and 14 locally hosted videos. Run 168 processed 4,864 observations / 36 accepted / 0 rejected. Rights integrity remains zero-gap and safe-hosting eligibility remains 0 qualified unhosted videos / 0 qualified unhosted thumbnails, so no additional media was copied. Source health remains 113/114 measured / 113 healthy / 0 unhealthy / 99.12%; NASA TikTok is the sole explicitly unmeasured source because TikTok blocks crawler access and this execution container has no external DNS. Accessibility evidence #10 remains pending. Authoritative load evidence remains 100/100 HTTP 2xx / 0 failures / 0 HTTP 429 / 0 HTTP 5xx; the newer TLS-handshake-blocked probe remains partial/environment-blocked and does not replace it. Durable evidence state hash: 8c3fd7f1f732ecf2fc5a56598f645873. Formal status remains 5 passed / 1 pending / 2 blocked / 0 failed, promotable=false. Android/iOS signing remains blocked; Vercel remains paused.
Blocker matrix + goal separation v23
Checkpoint #67 prepares the run-169 state: 5,733 research candidates, 117 sources / 114 active, 435 vetted / 435 Public Watch, 424 consumer-playable, 31 verified-rights records, 62 hosted assets, 31 hosted thumbnails and 14 locally hosted videos. Run 169 completed with 4,863 observations / 32 accepted / 0 rejected / no terminal error. The normalized service-only blocker matrix reports exactly 3 active promotion blockers: accessibility pending, Android signed build blocked, and iOS signed build blocked. Source health remains WATCH but non-promoting at 113/114 measured / 99.12%. Goal tracking is explicitly separated: research 57.19%, locally hosted video 0.14%, hosted thumbnail/screenshot 0.12%, and current learning-material metadata 0/50,000. Wave W remains zero-gap; canonical rights-cleared safe-hosting eligibility remains 0 videos / 0 thumbnails, so no new media was copied. Four BrightWatcher launch-path foreign-key indexes were added from performance-advisor evidence. bw-launch-health-v23 is deployed active, but external HTTP revalidation is environment-blocked by DNS and is therefore not claimed complete. Formal status remains 5 passed / 1 pending / 2 blocked / 0 failed, promotable=false. Vercel remains paused.
Launch watchdog + state-transition ledger v25
Checkpoint #69 records the completed run-171 state: 5,755 research candidates, 117 sources / 114 active, 435 vetted / 435 Public Watch, 424 consumer-playable, 31 verified-rights records, 62 hosted assets, 31 hosted thumbnails and 14 locally hosted videos. Run 171 completed with 4,817 observations / 22 accepted / 0 rejected / no terminal error. The new private service-only launch watchdog detects stale ingests, rights drift, load-evidence degradation and release-gate changes in one normalized state. A hash-deduplicated private event ledger captures only meaningful state transitions every 10 minutes. Current watch state is blocked because the formal release gates remain 5 passed / 1 pending / 2 blocked; latest ingest is completed/non-stale, Wave W remains zero-gap, source health remains 113/114 (99.12%), load evidence remains clean/fresh, safe-hosting eligibility remains 0/0, and promotable=false. No unverified media was copied. Vercel remains paused.
Source degradation watchdog v26
Checkpoint #70 records completed ingest run 172: 4,862 observations / 17 accepted / 0 rejected / no terminal error, bringing research candidates to 5,772. Current source-health evidence is 112 healthy / 1 unhealthy / 1 unmeasured across 114 active sources. Vox is explicitly degraded from the latest ingest-backed channel_500 result with one consecutive failure; NASA TikTok remains explicitly unmeasured. The new service-only v26 source-degradation contract distinguishes source degradation from Wave W rights integrity, load evidence, and formal promotion blockers, and the RLS-protected v26 state-transition ledger stores only distinct state hashes. The v25 monitor schedule was replaced by the v26 10-minute capture job. Wave W remains zero-gap, safe-hosting eligibility remains 0 qualified unhosted videos / 0 qualified unhosted thumbnails, and no media was locally copied without new item-level evidence. Formal launch status remains 5 passed / 1 pending / 2 blocked / 0 failed, promotable=false. Accessibility remains pending, signed Android/iOS remain blocked on genuine credentials, Vercel remains paused, and 1.1/1.2 has not started.
Evidence freshness watchdog v27
Checkpoint #71 records completed ingest run 173: 4,832 observations / 20 accepted / 0 rejected / no terminal error, bringing research candidates to 5,792. The prior Vox channel_500 degradation has recovered; source health is now 113 healthy / 0 unhealthy / 1 unmeasured, with NASA TikTok still explicitly unmeasured. The service-only v27 readiness contract adds explicit freshness thresholds so a historically passed gate cannot remain effectively green forever: backend health and rights evidence 2 hours, load evidence 24 hours, public-feed vetting and owned-library seed evidence 72 hours. Validation caught and fixed an initial stale-pass classification bug before checkpointing; final state is 0 stale passed gates. The effective blocker set remains exactly accessibility pending + Android signing blocked + iOS signing blocked. Wave W remains zero-gap, safe-hosting eligibility remains 0 videos / 0 thumbnails, no unverified media was copied, and final 1.0 remains promotable=false. Durable launch snapshot #23 records checkpoint #71 with state hash 3da5a223671ef0b3a41d9abaaeb303ca. Vercel remains paused; 1.1/1.2 has not started.
Promotion interlock + rollback anchor v28
Checkpoint #72 records completed ingest run 174: 4,862 observations / 17 accepted / 0 rejected / no terminal error, bringing research candidates to 5,809. The new service-only bw_core.launch_promotion_interlock_v28 is a fail-closed final promotion interlock across effective gate freshness, Wave W rights integrity, clean/fresh load evidence, rendered accessibility, zero stale passed gates and minimum source-health observability. Current interlock state is CLOSED. Formal launch status remains 5 passed / 1 pending / 2 blocked / 0 failed; accessibility is pending and Android/iOS signing remain blocked on genuine credentials. Canonical automated source-health evidence currently measures 109/114 active sources = 95.61%. Earlier direct reachability checks are historical supplemental evidence and are not counted as current automated measurements. A new private RLS-protected launch_rollback_anchor_v28 ledger captured anchor #1, state hash 7f5afa06bc25ff98b4fb0d828bc239e6, with promotion_interlock_open=false. Wave W remains zero-gap and safe-hosting eligibility remains 0 full-copy videos / 0 thumbnail copies, so no new media was copied without new item-level rights evidence. Vercel remains paused and 1.1/1.2 has not started.
Rollback drift interlock v29
Checkpoint #73 validates completed ingest run 175: 4,862 observations / 13 accepted / 0 rejected / no terminal error, bringing the research catalog to 5,822. The new service-only bw_core.launch_rollback_drift_v29 compares live launch state against the newest rollback anchor and flags any regression in Wave W rights integrity, load freshness, stale passed gates, source-health observability, vetted/Public-Watch counts, verified-rights counts, hosted assets, or locally hosted video counts. Rollback anchor #2 was captured after run 175 with state hash bc7b4c94634c66456b2be00383fa7f5e. Current validation reports zero protected-count deltas and safety_regression_detected=false. The promotion interlock remains closed because accessibility is still pending and Android/iOS signing remain blocked on genuine credentials. No unverified media was copied. Vercel remains paused and 1.1/1.2 has not started.
Source observability recovery + WordPress sync v31
Completed ingest run 177 processed 4,862 observations / 15 accepted / 0 rejected / no terminal error, bringing the research catalog to 5,868. Fresh September 9 direct reachability checks revalidated BBC Earth Videos, Epicurious Video, NASA at Home Videos and National Geographic Videos. Fused operational source health is now 113/114 measured / 113 healthy / 0 unhealthy / 1 unmeasured / 99.12%; NASA TikTok remains explicitly unmeasured. These direct checks are not rights grants and do not authorize local copying. Wave W remains zero-gap and safe-hosting eligibility remains 0 additional videos / 0 additional thumbnails. The prior v30 WPWriter 502 synchronization gap was recovered: /bw/, Documentation and this Release Archive are synchronized to the current candidate count. Final 1.0 remains unpromoted because rendered accessibility is pending and signed Android/iOS remain blocked on genuine platform credentials.
Rights-cleared launch seed transfer v32
The latest completed ingest is dedicated rights-seed run 180: 3 discovered / 3 accepted / 0 rejected / no terminal error. Current canonical truth is 5,868 research candidates, 34 verified-rights records, 62 hosted assets, and 14 locally hosted videos. Three exact NASA public-domain originals are staged in 1.0-launch-video-batch-002. Item-level rights evidence was rechecked; all 3/3 source URLs match video types and all 3/3 pass the private-copy readiness contract. However, 0/3 have been copied, binary-validated, or registered as new hosted assets because the current execution environment cannot resolve the media hosts and the connected Supabase tool surface does not expose private Storage binary upload. The new service-only launch_rights_seed_transfer_v32 interlock therefore reports rights_and_source_ready=true, private_storage_seed_complete=false, and transfer_state=awaiting_private_storage_transfer. Safe-hosting backlog is now 3 eligible unhosted full-copy videos / 3 eligible thumbnail copies. No partial item is counted as hosted. Final 1.0 remains unpromoted.
Rights-seed transfer state machine v33
Latest automated ingest run 181 completed with 3,231 observations / 11 accepted / 0 rejected / no terminal error, bringing canonical research candidates to 5,879. The launch video batch 002 remains 3 ready / 0 copied / 0 validated / 0 registered. BrightWatcher now enforces this boundary with database triggers: a batch item cannot become copied or validated unless a matching item-level rights record and private brightwatcher-owned-media asset exist with positive byte size, a 64-character SHA-256 checksum and a rights-check timestamp. A hosting batch cannot become completed until every item is validated. A deliberate invalid transition test was rejected and all three seed items remained ready. Hosted counts therefore remain 62 assets / 14 locally hosted videos rather than being inflated. Final 1.0 remains unpromoted.
Launch blocker contract v34
Completed ingest run 182 processed 3,259 observations / 12 accepted / 0 rejected / no terminal error, bringing the canonical research catalog to 5,891. A new service-only bw_core.launch_blocker_contract_v34 consolidates the final 1.0 closure state across formal gates, source observability, Wave W rights integrity, rights-cleared seed transfer, and load-evidence freshness. Source observability remains 113/114 = 99.12%, with NASA TikTok explicitly unmeasured. Seed batch 002 remains 3 ready / 0 copied / 0 validated / 0 registered; no hosted count is increased until an actual private binary exists with byte-size and SHA-256 validation. During validation the existing authoritative 100-request load evidence crossed its 24-hour freshness limit at 2026-09-10 04:08:15 UTC. v34 now reports load_evidence_current=false, operational alert #6 is open, and checkpoint #75 / evidence snapshot #34 were captured. A fresh real HTTP load run is now required before promotion; stale evidence is not counted as current. Formal launch remains 5 passed / 1 pending / 2 blocked / 0 failed, promotable=false. Accessibility remains pending and Android/iOS signing remain blocked on genuine credentials. Vercel remains paused.
Launch execution backlog v35
Completed ingest run 183 processed 3,259 observations / 4 accepted / 0 rejected / no terminal error, bringing the canonical research catalog to 5,895. The new service-only bw_core.launch_execution_backlog_v35 orders the remaining 1.0 closure work by evidence dependency instead of allowing optimistic release drift. Priority 10 is a fresh real HTTP load retest; the prior authoritative evidence is expired and the new runtime attempts were inconclusive, so load remains blocked rather than falsely passed. Priority 20 is rendered multi-browser/device accessibility validation, still blocked because the browser execution path is unavailable in this runtime. Priority 30 is the rights-cleared private seed transfer, still 3 ready / 0 copied / 0 validated / 0 registered. Android and iOS signed builds remain priorities 40 and 50 and require genuine platform credentials. Wave W remains clean, hosted totals remain 62 assets / 14 locally hosted videos, source observability remains 113/114 = 99.12%, Vercel remains paused, and final 1.0 remains unpromoted.
Load-certification integrity v36
Completed ingest run 184 processed 3,245 observations / 9 accepted / 0 rejected / no terminal error, bringing canonical research candidates to 5,904. This wave found and fixed a false-green readiness edge case: the older load-freshness path treated the latest completed load row as authoritative even when it was only a one-request reachability control. The new service-only launch_load_transport_isolation_v36 and launch_readiness_strict_v36 require a real bounded multi-request clean run for load certification. An isolated bw-launch-health request returned HTTP 200; a 100-way burst and a paced 20-request pg_net probe both saturated the execution path and timed out before HTTP status, so they are explicitly classified as probe-path transport saturation, not application failures. bw-launch-health v22 was revalidated at HTTP 200 and now reports the prior 100/100 clean load run as clean but stale. Seed batch 002 remains 3 ready / 0 copied / 0 validated / 0 registered; Wave W remains clean; accessibility remains pending; Android/iOS signing remain blocked; promotable=false; Vercel remains paused.
1.0 Load Certification Recovery + Backlog Truth Convergence v37
Ingest run 185 completed with 4,862 observations / 14 accepted / 0 rejected, taking the research catalog to 5,918. The v35 backlog had a false-green dependency on the older v34 load freshness path; v37 replaces it with service-only launch_execution_backlog_strict_v37 sourced from strict v36 readiness. A temporary Edge-runtime certifier produced two real bounded 25-request result sets against bw-public-feed: first 24/25 HTTP 2xx with one HTTP 500, then confirmation 25/25 HTTP 2xx, 0 failures, 0 HTTP 429, 0 HTTP 5xx, p95 391 ms, max 398 ms. Both results were persisted and the temporary certifier was immediately disabled (HTTP 410). Strict load evidence is now clean/fresh. Wave W remains clean; seed batch 002 remains 3 ready / 0 copied / 0 validated / 0 registered; hosted counts remain 62 assets / 14 local videos. Evidence snapshot #38 and rollback anchor #3 were captured. Accessibility and signed Android/iOS remain blocked, so 1.0 is not promoted; Vercel remains paused.
1.0 Closure Truth + Source Observability Recovery v38
Completed ingest run 186 processed 4,863 observations / 12 accepted / 0 rejected / no terminal error, bringing canonical research candidates to 5,930. Fresh September 10 direct checks revalidated BBC Earth Videos, Epicurious Video, NASA at Home Videos and National Geographic Videos. Fused source observability is now 113/114 measured / 113 healthy / 0 unhealthy / 1 unmeasured / 99.12%; NASA TikTok remains explicitly unmeasured because direct retrieval is blocked. These operational checks have no rights implication. The new service-only bw_core.launch_closure_truth_v38 unifies current catalog, source, vetted/Public-Watch, queue, rights, hosted-media, strict-load, seed-transfer, accessibility and formal-gate truth in one fail-closed closure contract. Strict load remains clean/fresh; Wave W remains clean; seed batch 002 remains 3 ready / 0 copied / 0 validated / 0 registered, therefore hosted totals remain 62 assets / 14 locally hosted videos. Accessibility remains pending and signed Android/iOS remain blocked on genuine platform credentials. Final 1.0 remains unpromoted; Vercel remains paused; 1.1/1.2 has not started.
1.0 Operational Closure Monitor v39
Completed ingest run 187 processed 4,864 observations / 7 accepted / 0 rejected / no terminal error, taking canonical research candidates to 5,937. The new service-only bw_core.launch_operational_closure_v39 reconciles the v38 closure contract with the operational-alert ledger and the strict execution backlog. Two stale alerts were closed from current evidence: the expired-load alert is resolved because strict load certification is clean/fresh, and the historical WPWriter deployment-blocked alert is resolved after successful connector reads and writes. Current open operational alerts are 0. Promotion remains closed because rendered accessibility is still pending, seed batch 002 remains 3 ready / 0 copied / 0 validated / 0 registered, and Android/iOS signing still requires genuine credentials. Source observability remains 113/114 = 99.12%, Wave W rights integrity remains clean, hosted totals remain 62 assets / 14 locally hosted videos, promotable_v39=false, and Vercel remains paused.
1.0 Promotion Lock v40
Completed ingest run 188 processed 4,862 observations / 6 accepted / 0 rejected / no terminal error, bringing canonical research candidates to 5,943. The new service-only bw_core.launch_promotion_lock_v40 and bw_launch_promotion_lock_v40() form the fail-closed handoff between the 1.0 Launch wave and future 1.1/1.2 work. Current lock state is blocked-accessibility and may_begin_1_1_1_2=false. Strict load evidence remains clean/fresh, Wave W remains clean, source observability remains 113/114 = 99.12%, and seed batch 002 remains 3 ready / 0 copied / 0 validated / 0 registered. No staged media is counted as hosted. Checkpoint #76 is PREPARED, not promoted. Signed Android/iOS remain blocked on genuine platform credentials; Vercel remains paused.
1.0 Evidence Freshness Guard v41
Completed ingest run 189 processed 4,861 observations / 13 accepted / 0 rejected / no terminal error, bringing canonical research candidates to 5,956. The new service-only bw_core.launch_evidence_freshness_v41 and bw_core.launch_promotion_lock_v41 add fail-closed time-to-live enforcement for previously passed evidence: backend health and rights enforcement 2 hours, load testing 24 hours, and public-feed / owned-library evidence 7 days. Current validation reports 0 stale passed gates. Accessibility is reconciled to evidence #11: real desktop and mobile Chromium/Playwright navigation attempts were executed, but the managed runtime blocked the external page before DOM load, so rendered multi-browser/device validation remains pending rather than falsely passed. Evidence snapshot #43 and rollback anchor #4 were captured. Wave W remains clean, strict load remains clean/fresh, and seed batch 002 remains 3 ready / 0 copied / 0 validated / 0 registered. Final 1.0 remains unpromoted and may_begin_1_1_1_2=false.
1.0 Rights-Cleared Private Transfer Execution v42
Current canonical catalog truth is 5,976 research candidates. Completed ingest run 191 processed 4,862 observations / 8 accepted / 0 rejected / no terminal error. v42 adds a service-role-only private-transfer finalizer and diagnostic ledger for exact launch seed batch 002, requiring an actual object in the private brightwatcher-owned-media bucket plus matching byte size, 64-character SHA-256, candidate ID and verified rights-evidence ID before validation. Real transfer was attempted: the first exact NASA source returned HTTP 200 video content with a 161,455,645-byte length, but the buffered transfer did not complete; a streaming retry returned HTTP 503 before execution. No private Storage object or hosted-media row was created, so the seed remains 3 ready / 0 copied / 0 validated / 0 registered, with totals unchanged at 62 hosted assets / 14 locally hosted videos. The temporary worker was disabled immediately after the attempt. Public, anonymous and authenticated execution was revoked from the seed-registration RPCs, and a covering index was added for the v42 diagnostic foreign key after advisor review. Final 1.0 remains unpromoted; accessibility is pending, Android/iOS signing remains blocked on genuine credentials, and Vercel remains paused.
1.0 Private Seed Execution + Completion Truth v43
BrightWatcher completed the first actual private binary transfer from launch seed batch 002. Candidate 649598 — NASA Explorers Microgravity was admitted only after a database-side authorization check confirmed exact batch membership, its linked verified PD-USGov-NASA rights evidence, and full-video-copy permission. The exact binary was fetched and hashed, uploaded to the private brightwatcher-owned-media bucket, verified against the real Storage object and byte size, registered to the exact rights-evidence record, and accepted by the fail-closed transfer finalizer. Final binary evidence is 12,137,359 bytes and SHA-256 afae6356aa4459d4cde7ce85b6ab3ca9825b2c17da1e532c72afd5c036318da3. Canonical hosted truth therefore advances by exactly one to 63 hosted assets / 15 locally hosted videos. Batch 002 remains partial at 2 ready / 1 validated / 1 registered private asset; the remaining two items are not counted as hosted. The temporary one-item transfer worker was immediately returned to a JWT-protected HTTP 410 disabled state. The new service-only launch_seed_completion_truth_v43 and launch_promotion_lock_v43 require all three batch items to carry validated private binary evidence before the seed can be complete or contribute to future promotion. Latest completed ingest run 192 processed 4,862 observations / 8 accepted / 0 rejected / no terminal error, bringing research candidates to 5,984. Strict load remains clean/fresh; rendered accessibility remains pending; Android/iOS signing remains blocked on genuine credentials; launch_promotable_v43=false; Vercel remains paused.
1.0 Large-File Private Seed Transfer v44
Completed ingest run 193 processed 4,861 observations / 19 accepted / 0 rejected / no terminal error, bringing canonical research candidates to 6,003. Candidate 649599 — Apollo 11 Intro 720p remains backed by exact verified PD-USGov-NASA full-video-copy rights. The standard private Storage upload rejected the corrected video/ogg original with HTTP 413 before object creation. v44 then implemented the documented TUS resumable path against the direct Supabase Storage hostname using fixed 6 MB chunks and the exact 94,207,467-byte original. TUS creation itself returned 413 Maximum size exceeded, proving a current project/platform upload ceiling before any chunk was accepted. The temporary worker was immediately returned to JWT-protected HTTP 410. The new service-only launch_seed_transfer_constraints_v44 records this separately from rights status. No blocked item was counted: batch 002 remains 2 ready / 1 validated / 1 registered private asset, with 63 hosted assets / 15 locally hosted videos. Current formal gates remain 5 passed / 1 pending / 2 blocked / 0 failed; rendered accessibility remains pending, Android/iOS signing remains blocked on genuine credentials, launch_promotable=false, 1.1/1.2 remains locked, and Vercel remains paused.
1.0 Rights-Cleared Sub-50MB Seed Recovery v45
Completed automated ingest run 194 processed 4,863 observations / 21 accepted / 0 rejected / no terminal error. Three additional research candidates were separately admitted only after exact item-level NASA public-domain evidence was verified, bringing canonical research candidates to 6,027. Because the two remaining batch-002 originals are 94 MB and 161 MB and the current project upload path rejects those sizes, BrightWatcher preserved them as rights-valid but infrastructure-blocked rather than transcoding or weakening evidence. Recovery batch 1.0-launch-video-batch-003 used three exact NASA public-domain originals below the effective upload ceiling. All 3/3 are now physically present in the private brightwatcher-owned-media bucket, byte-size verified, SHA-256 hashed, linked to their exact verified full-copy rights records, registered as hosted video assets, and marked validated. Canonical hosted truth advances to 66 hosted assets / 18 locally hosted videos / 37 verified-rights records; visual assets remain 17 images / 31 thumbnails. The one-shot transfer worker was immediately sealed back to JWT-protected HTTP 410. The new service-only launch_promotion_lock_v45 recognizes batch 003 as complete but keeps launch_promotable=false and may_begin_1_1_1_2=false because rendered accessibility is still pending and signed Android/iOS remain blocked on genuine platform credentials. Vercel remains paused.
1.0 Source-Health Resilience + Observability Recovery v46
Automated ingest run 195 completed with 4,862 observations / 35 accepted / 0 rejected / no terminal error, raising research candidates to 6,062. This wave found a real monitoring defect during a four-source health refresh: the legacy v21 fusion treated the single newest measured_at timestamp as the whole source-health cohort, temporarily collapsing coverage to 4/114. The current run-195 measurements were restored immediately and the four verified direct checks were reconciled into the same measurement bundle, returning source-health truth to 113/114 measured / 113 healthy / 0 unhealthy / 1 unmeasured / 99.12%. NASA TikTok remains explicitly unmeasured. The new service-only bw_core.launch_source_health_resilient_v46 now selects the latest evidence per source within a six-hour window, eliminating the global-latest-batch fragility; it uses security_invoker and is restricted to service_role. These checks are operational evidence only and confer no media-copy rights. Batch 003 remains 3/3 private/validated, Wave W remains clean, strict load remains clean/fresh, accessibility remains pending, signed Android/iOS remain blocked, formal gates remain 5 passed / 1 pending / 2 blocked / 0 failed, final 1.0 is not promotable, 1.1/1.2 remains locked, and Vercel remains paused.
1.0 Unified Launch Truth v47
BrightWatcher now has a single current service-only launch contract in bw_core.launch_unified_truth_v47. It replaces the historical batch-002 ambiguity by reading the active batch-003 seed directly and combines catalog, resilient source health, queue, vetted/Public-Watch, rights, hosted-media, strict-load, accessibility, release-gate, stale-evidence, operational-alert and latest-ingest state in one fail-closed read model. Current canonical truth after completed ingest run 196 is 6,094 research candidates, 117 sources / 114 active / 113 measured / 113 healthy / 0 unhealthy / 1 unmeasured (99.12%), 435 vetted / 435 Public Watch, 424 consumer-playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 66 hosted assets, 17 hosted images, 31 hosted thumbnails, 0 hosted screenshots and 18 locally hosted videos. Active rights seed batch 003 remains 3/3 validated and 3/3 privately registered. Accessibility evidence #12 reverified the static/source contract but remains pending because no genuine rendered multi-browser/device run is available in the current execution environment. Strict load remains clean/fresh, stale passed gates are zero, open operational alerts are zero, formal gates remain 5 passed / 1 pending / 2 blocked / 0 failed, launch_promotable_v47=false, and 1.1/1.2 remains locked. Vercel remains paused.
1.0 Consumer Product Expansion v48
The live /bw/ product has been materially rebuilt rather than receiving another control-plane-only revision. A new Studio layer now sits above the standard searchable feed and is generated directly from production bw-public-feed records. It adds a dynamic featured-video hero, in-product playback, horizontally browsable rails for Space & science, Nature & Earth, Ideas & society, Skills & careers, Fresh from trusted sources, and a trusted-publisher discovery grid. Only records that the public feed already classifies as vetted and playable are eligible for these rails; research candidates remain excluded until their existing promotion gates are satisfied. The original searchable/infinite catalog remains available immediately below the Studio layer. Current canonical truth after completed ingest run 198: 6,120 research candidates, 117 sources / 114 active / 113 measured, 435 vetted / 435 Public Watch, 424 playable, 2 queued jobs / 250 requested items, 31 paused jobs / 14,250 requested items, 37 verified-rights records, 66 hosted assets and 18 locally hosted videos. No additional local media was copied in this product wave because no new item-level verified rights cohort was promoted. Final 1.0 remains unpromoted: rendered accessibility remains pending and signed Android/iOS builds still require genuine credentials. Vercel remains paused.
1.0 Consumer Feed Expansion v49
The Studio product-depth bottleneck was traced to the production feed: the previous RPC capped every page at 40 playable records even when WordPress requested 100. v49 replaces that path with bw_public_feed_page_v2, a service-role-only SECURITY INVOKER contract with a bounded 120-record ceiling. Database validation returned 120/120 records from the current 424-playable library in approximately 84.3 ms. bw-public-feed Edge Function v12 now serves contract v5.0, and the live Studio requests all 120 records for its featured hero, category rails and publisher discovery. This triples the initial visible discovery pool without promoting research-only records or weakening Wave W rights controls. Completed ingest run 199 processed 4,863 observations / 18 accepted / 0 rejected / no terminal error, bringing canonical research candidates to 6,138. Vetted/Public-Watch remains 435, playable remains 424, verified rights remains 37, hosted assets remain 66 and locally hosted videos remain 18 because no new item-level rights-cleared hosting cohort became eligible. Final 1.0 remains unpromoted; accessibility remains pending, signed Android/iOS remain blocked on genuine credentials, and Vercel remains paused.
Wave AO — Source Health Recovery + Continuity Guard
A live source-health regression was repaired without weakening launch policy. Current health had slipped to 109/114 measured / 109 healthy / 0 unhealthy / 5 unmeasured. Fresh exact-source checks restored BBC Earth Videos, Epicurious Video, NASA at Home Videos and National Geographic Videos to current measured evidence; NASA TikTok remains explicitly unmeasured. Canonical source health is now 113/114 measured / 113 healthy / 0 unhealthy / 1 unmeasured / 99.12%. The new private service-only bw_core.launch_source_health_continuity_v74 uses security_invoker and marks source health launch-clean only while unhealthy sources remain zero and no more than one active source is unmeasured. Current canonical counts are 6,556 research candidates / 435 vetted / 435 Public Watch / 424 playable / 37 rights-verified / 67 hosted assets / 19 locally hosted videos. No new local media copy was claimed; the verified-copy gap remains one. Immutable snapshot #11 hash 44012e943859c6fde9c15e3f120c9d60. Final 1.0 remains unpromoted: rendered accessibility is pending and Android/iOS signing remains blocked on genuine credentials. Vercel remains paused.
Mobile
Android and iOS connected-source packages remain aligned to 1.0.0-RC1 through the permanent Supabase download function. Signed Android APK/AAB and iOS TestFlight/IPA artifacts remain blocked until real platform signing credentials are connected.
Android RC1 source · iOS RC1 source
Rollback
Rollback baseline: web v0.12.52 / mobile v0.5.8. Earlier prepared-but-unpromoted checkpoints remain archival only.
Checkpoint SHA-256
Android: a7b83a1e9e2e52bf6d7ed3e610ca497cc21bda597a650e14ba640361580f90b6
iOS: f2b87219a3893701dadeb713cb03d35c2ad9eeabe8b3e638cb446439d162466f
WordPress: 9d6aa8e09e974e67b79feaaaf8de31e36d27c1e3f79fa237c2a460d0eb924bb3
Docs: 02f797094b616aa2a0025bf3d124c32ae912c7f8e56fb33648273a334bc97dc7
Backend: d11f4b45f47c32a9c8bf6f41a71df3fcdbc986d078cf614f23318ebc2e42c4ac
Full: 5ffbd7e47e8bbc3caa230128575ed23b1de0a5573c7307849454142a6f1cdd30
Vercel remains paused. Supabase BW Dev remains backend source of truth.
