Rendering resilience and build-rendered social feeds

Reveal motion now fails open, one script owns section visibility, and locally cached social cards are included in the initial Astro HTML.

September 7 audit follow-up

  • Repaired social and community feed output paths so polling writes into Astro’s public assets, where the site build and publishing workflows actually read them.
  • Added private, timestamped feed-check receipts and publication checks to distinguish an unchanged feed from a failed refresh or an unpublished update. Content-changing automated refreshes now update this changelog.
  • Tightened the feed-image validation boundary to reject dot-directory and trailing-dot paths instead of accepting them as cached image filenames.
  • Corrected the scheduled Bluesky handle to akasammythepuppy.me; verified that the Instagram integration can fetch posts rather than treating its stale public placeholder as an authentication failure.
  • Moved the three displayed Mello Zone article cards into the initial HTML, using the current packaged feed and keeping editorial links on Mello Zone. Removed the redundant browser fetch and card replacement.
  • Preloaded the Work hero image. Removed an initial offscreen-layout optimization after production review exposed a direct-fragment scroll jump. Its replacement defers offscreen Work sections only when the page has no section target; section links and printing retain normal layout and all authored content.
  • Extended navigation regression tests to observe actual heading positions without corrective scrolling, including back/forward history, slow-device visits and disabled JavaScript. Kept the rejected optimization and measured results in the regression log.
  • Verified the deployed release across all 15 canonical pages: 229 HTTP checks passed, browser regression checks passed, and Lighthouse Accessibility, Best Practices and SEO scored 100 throughout. Mobile Performance ranged from 94 to 100; Work scored 99 in both planned samples. These are measured lab results, not guaranteed future scores or search inclusion.
  • Strengthened automated publishing: validate refreshed feeds and the rendered release before committing, then verify the public JSON and initial HTML after Cloudflare’s Git deployment. Partial upstream failures now report an unhealthy run while retaining available cached content.
  • Corrected the validation workflow’s own trigger path and added feed workflow coverage. Generated sitemap updates travel with automated changelog changes.
  • Allowed multiple feed jobs to wait in the shared GitHub queue instead of cancelling another source’s pending refresh. Queued jobs check out current main before updating content.
  • Moved eligible livestream indexing notifications after verified publication instead of notifying Google before deployment. Offline portfolio pages remain indexable without using Google’s restricted livestream API. Escaped upstream stream titles safely inside JSON-LD and required public live-status labels to match their cached JSON.
  • Rechecked the supplied public calendar after it became accessible: embed and subscription both returned HTTP 200. Calendar interaction tests now require a successful public response and actual calendar data; no sharing permissions were changed by this release.
  • Fixed a cached-response indexing bug: the Worker returned noindex, follow for canonical 304 Not Modified responses even though fresh HTML said index, follow. Revalidation now preserves the page’s indexing policy, including when Content-Type is omitted.
  • Added a full HTTP regression matrix for every published page: ordinary, Googlebot and Bingbot requests; fresh GET/HEAD, conditional GET/HEAD and Markdown Accept headers. Genuine 404s remain excluded.
  • Made changelog updates and cached-response verification explicit repository requirements for future site edits.
  • Removed the first-visit loading overlay, timed hero and navigation entrances, and continuous hero backdrop/portal animations. Primary content now appears without an introductory sequence.
  • Expanded regression checks across every published URL for matching robots, Googlebot, Bingbot, and HTTP X-Robots-Tag directives; retained noindex on genuine errors and duplicate machine-readable copies.
  • Corrected the official X profile to akasammythepup in links, profile identity, social metadata, and discovery documents.
  • Added repeatable browser, accessibility, Schema.org vocabulary, JavaScript-failure, responsive layout, and mobile Lighthouse checks, with a separate regression log.
  • Made photo strips keyboard-focusable and placed the Back to top link inside the main landmark.
  • Replaced the navigation startup layout measurement with the matching responsive media queries.
  • Made the Discord and Google Calendar embeds load on request, preserving direct links and existing sharing permissions.
  • Added smaller, build-generated image variants while retaining original reference artwork and image dimensions.
  • Added an HTML Content Security Policy with build-generated hashes for executable inline scripts.
  • Added content-hashed first-party script URLs so repeat visits receive the code that matches the current page.
  • Gave labeled content groups valid accessibility semantics while retaining their wording and visual presentation.
  • Expanded the changelog search description and shortened long article search titles without changing their visible headlines or article text.

Automated content refreshes

  • 2026-09-08T02:16:39.933Z — social content refreshed: tiktok 4, instagram 4, bluesky 4, youtube 4.
  • 2026-09-08T01:24:12.882Z — social content refreshed: tiktok 4, instagram 4, bluesky 4, youtube 4.
  • 2026-09-08T01:11:33.661Z — social content refreshed: tiktok 4, instagram 4, bluesky 4, youtube 4.
  • 2026-09-07T19:49:26.208Z — social content refreshed: tiktok 4, instagram 4, bluesky 4, youtube 4.
  • 2026-09-07T19:36:06.190Z — community content refreshed: 6 articles from Mello Zone.

Reveal and loader resilience

  • Removed the second overlapping reveal observer from the motion script.
  • Kept reveal visibility under the main interaction script so one system controls the reveal state.
  • Changed hidden reveal styling to activate only after the observer is installed. If either external script fails, the authored page content remains visible.
  • Added a timed reveal fallback after observer setup.
  • Added an idempotent loader finish state, direct completion when the Web Animations API is unavailable, and a final loader watchdog.

Static social-feed HTML

  • Added an Astro build renderer for the locally cached TikTok, Instagram, Bluesky, and YouTube data.
  • Included homepage feed cards and the categorized Work feed cards in the initial rendered HTML.
  • Preserved the existing platform headings, official profile links, card text, preview images, alternative text, dimensions, and dates.
  • Kept the browser feed renderer as a fallback when build-rendered cards are not present.
  • Stopped the browser from fetching and replacing the local feed when the complete build-rendered version is already available.

Release verification

  • Extended the release audit to require at least one build-rendered card in every social-feed container.
  • Extended the audit to validate substantive Blog and Changelog entry routes along with the nine main canonical routes.
  • Backfilled the public changelog from verified repository history, grouping recurring automated feed refreshes instead of creating thin duplicate entries.
  • Aligned the GitHub validation workflow with astro/public/robots.txt as the crawler-policy source, required the built file to match it exactly, and connected CI to the Worker regression tests.

Page-specific search topics

  • Added evidence-backed Schema.org keywords to each canonical page and published content entry.
  • Kept each topic set limited to subjects already present on its page without changing the visible page language.

Page metadata and identity contract

  • Added evidence-backed page keywords to the HTML metadata while keeping the same topics in each page’s JSON-LD.
  • Completed Googlebot, Bingbot, robots, author, publisher, Open Graph, social-image, Twitter card, and image-source metadata on canonical pages.
  • Connected canonical pages to the About page, llms.txt, and verified Bluesky and GitHub identity profiles with relationship attributes.
  • Added WebPage microdata and first-party Person, WebSite, page, image, and publisher relationships to the structured-data graph.
  • Added ordered breadcrumb structured data to every canonical page below the homepage and every published Blog or Changelog entry.
  • Kept the homepage without a fabricated parent breadcrumb and kept the error page explicitly excluded from indexing.

Crawler and disclosure endpoints

  • Added explicit Worker X-Robots-Tag handling for canonical HTML, published content entries, and non-indexable error responses.
  • Preserved immutable static-asset caching while routing HTML and unknown paths through the Worker.
  • Added the canonical RFC 9116 security contact at /.well-known/security.txt with a compatibility redirect from /security.txt.
  • Added explicit content types and cache policies for robots.txt, both XML sitemaps, llms.txt, and security.txt.
  • Declared both the canonical sitemap and video sitemap in robots.txt and linked the security contact from llms.txt.
  • Expanded the release audit and Worker regression suite to enforce the metadata, identity, XFN, link, image, schema, breadcrumb, sitemap, crawler-header, and machine-readable-file contracts.

Responsive layout boundaries

  • Added a shared boundary layer for the homepage, every primary page, Blog and Changelog entries, and the error page.
  • Removed the effective 320-pixel page floor so browser zoom and narrow viewports do not create page-level horizontal overflow.
  • Constrained the expanded navigation to the available viewport height and kept it internally scrollable when zoom reduces the visible area.
  • Kept the Work, Community, and Connect horizontal carousels inside their own boundaries.
  • Adjusted long display headings and social-card titles so they wrap inside their sections instead of clipping or crossing into adjacent content.
  • Kept the homepage feed footer inside the feed content shell after build-rendered cards replace the loading fallback and reduced its trailing padding, removing the empty band below the cards.
  • Added the responsive boundary contract to the release audit.

Page delivery

  • Generate smaller, content-hashed stylesheets for each page at build time, retaining responsive rules, runtime interaction states, and the original cascade order.
  • Lazy-load the ten below-the-fold avatar gallery lead images on Work and remove its unused hero-image preload.
  • Share the existing interaction-delayed browser analytics behavior across the seven main creator pages, retaining CAPI page views and event deduplication.
  • Keep analytics disabled in local previews and continue respecting browser privacy opt-outs.
  • Constrain homepage platform icons to badge size so preview-image styling cannot enlarge them over the feed cards.
  • Add stylesheet regression tests for responsive states, complex selectors, and relative asset paths.
  • Match the Community website link’s accessible name to its visible Open label.

Connect directory and responsive media

  • Redesigned Connect with a fox-emblem hero, recognizable platform marks, grouped destination cards, and a highlighted email contact panel in the existing gold, orange, bronze, brown, and black palette.
  • Preserved the directory’s wording, destinations, professional disclosure, and canonical route.
  • Kept the directory responsive, keyboard-accessible, and readable without JavaScript; added no browser libraries or icon fonts.
  • Added opt-in build-time responsive WebP variants using the existing Sharp dependency, starting with the Connect emblem.
  • Retained original media, skipped animated and EXIF-oriented inputs, avoided enlargement, and published variants only when smaller than their source.
  • Added content-hashed image URLs, immutable asset caching, a reusable build cache, and regression tests for image bounds, aspect ratio, transparency, and original-file preservation.
  • Removed the numbered Connect section-navigation bar and its unused styling while preserving the directory sections and their anchor targets.
  • Kept closed mobile navigation out of the keyboard focus order, returned focus to the toggle when closing from the menu with Escape, and closed the menu when keyboard focus moves elsewhere.
  • Reset navigation state when crossing the mobile/desktop breakpoint so an open mobile menu cannot leave desktop scrolling locked.
  • Updated the interaction-script version across primary pages and articles so repeat visitors receive the navigation fix.

Canonical delivery and Siteliner review

  • Added the missing proxied www DNS record and a Cloudflare edge redirect to the canonical HTTPS creator domain, preserving paths and query strings.
  • Extended HTTPS redirection to static assets and discovery files, which bypass the page Worker.
  • Added a read-only live delivery check for sitemap-listed pages, permanent redirects, crawler headers, and discovery endpoints, with redirect regression tests.
  • Kept changelog summaries and distinct article canonicals intact after reviewing their expected text overlap.
  • Displayed the existing creator-updates description on Blog without inventing posts or adding new routes.