[PASS] version 0.5.0
[WARN] admin password hash is still a launch placeholder (deployment blocker, not source-release blocker)
[PASS] php-lint 34 files
[PASS] architecture-guard
ARCHITECTURE GUARD PASS: reusable core is free of 8 instance/destination identity values
[PASS] theme-guard
THEME GUARD PASS: reusable core is free of 73 instance theme values
[PASS] regression
[PASS] php-binary -- PHP 8.4.23 (cli) (built: Jul  3 2026 12:26:56) (NTS)
[PASS] yaml-parse -- 3 files parse with the frozen parser
[PASS] json-parse -- 14 files valid
[PASS] destinations-contract -- 1 active (rf); base_paths unique, unreserved
[PASS] frontmatter-type -- 16 pages carry frontmatter type:
[PASS] manifest-clean-contract -- build reads manifest as an object map; --clean can remove stale generated outputs
[PASS] hardcode-scan -- 18 PHP files free of destination literals
[PASS] required-files -- 13 files present
[PASS] shim-byte-equality -- 3 deployed shims byte-identical to generator template
[PASS] admin-no-tables -- 0 <table> tags; cards/lists used
[PASS] func-crossref -- 166 called helpers all defined
[PASS] brace-balance -- 34 PHP files balanced (heuristic; php -l deferred)
[PASS] feed-redirects -- legacy /rss.xml and /rising.xml rows present
[PASS] build-features -- manifest, --clean, graph, story feeds, robots, sitemap, reserved validation
[PASS] discovery-emitter -- eg_emit_robots_txt
[PASS] discovery-emitter -- eg_render_human_sitemap
[PASS] discovery-emitter -- eg_emit_graph_json
[PASS] test-dest-residue -- no data/test or content/test
[PASS] newsletter-global-note -- admin documents the global-list limitation
[PASS] media-records -- 14 coded records; src/alt_text/rights/status present, files exist, responsive codes resolve
[PASS] social-hardcode -- social: config key parses; no hardcoded social profile URLs in templates
[PASS] sidebar-config -- sidebar: sections present; all item paths site-absolute
[PASS] chrome-no-tables -- no <table> in layout.php / chrome.php / content-page.php
[PASS] media-folders -- media/ folders exist; build.php copies media/ to assets/media/
[PASS] breakpoint-consistency -- drawer: CSS max-width 60rem == JS min-width 60rem; picture: 36rem portrait / 56rem landscape
[PASS] server-config-dynamic-surfaces -- htaccess serves index.html+index.php; eg_mkdir_p enforces 0755 on created dirs
[PASS] servable-file-modes -- written/copied files get explicit 0644; site.css/site.js copy failure is fatal
[PASS] landing-body-class -- body_class includes 'landing'
[PASS] landing-media-codes -- 3 asset codes all resolve to approved records
[PASS] chrome-no-hardcoded-social -- no hardcoded social profile URLs in chrome/landing
[PASS] css-no-unshipped-assets -- stylesheet self-contained (0 url() refs, all shipped or data:)
[PASS] chrome-single-source -- shared helpers defined once in media.php; layout.php + chrome.php consume the same entry points
[PASS] asset-slash-guard -- trailing-slash rule carries a %{REQUEST_URI} extension guard (css/js/img/fonts/json/xml/txt/pdf); /assets/site.css provably not redirected; page URLs still canonicalized
[SKIP] php-lint -- PHP present but live-run checks need the sandbox deployment; run there
[SKIP] build-run -- PHP present but live-run checks need the sandbox deployment; run there
[SKIP] test-dest-live -- PHP present but live-run checks need the sandbox deployment; run there
[SKIP] contract-suite -- PHP present but live-run checks need the sandbox deployment; run there

Summary: 33 PASS, 0 FAIL, 0 DEFERRED, 4 SKIP (37 checks)
[PASS] clean-build
--clean: removed 110 previously emitted file(s).
WARN: data/rf/venues.json missing or empty; no venues pages emitted
Enjoy Gulf Coast static build complete.
  destinations: 1
  content_pages: 16
  object_pages: 31
  api_files: 32
  shims: 3
  skipped: 0
  sitemap urls: 49
  search entries: 46
  redirect rules: 2
  warnings: 1
Warnings:
  - data/rf/venues.json missing or empty; no venues pages emitted

RELEASE VERIFY PASS — source is eligible for a versioned release.
