Uh oh!
There was an error while loading. Please reload this page.
docs(README): add hero video — theme-aware cover linking to the 90-second overview - #11941
Merged
Conversation
…cond overview Insert a theme-aware cover (dark/light via #gh-dark-mode-only / #gh-light-mode-only) immediately after the chips line, linking to the official 90-second overview on YouTube (https://youtu.be/CX_FlOoOtr0). Covers copied from the private steedos-labs/video-studio repo at projects/2026-08-objectstack-hero-overview/covers/cover-en-{dark,light}.png, renamed to hero-cover-{dark,light}.png. Docs-only; no changeset.
…cover
Maintainer viewed the rendered README on github.com and saw both covers
stacked — GitHub's own rendered HTML (Accept: application/vnd.github.html)
emits both <img> tags with the #gh-dark-mode-only / #gh-light-mode-only
fragments intact and applies no theme CSS, so both render unconditionally.
- Keep the dark cover only; drop the #gh-fragment from its src (a single
image left fragmented would hide it from any renderer that DOES honour
the mechanism).
- Add a caption link below the image ("▶ Watch: ObjectStack in 90 Seconds")
so mobile web, desktop, npm's README render, and plain-text readers all
get a signal that the image is a clickable video, not a decorative
banner — none of those surfaces render a play button over a plain <img>.
- git rm docs/screenshots/hero-cover-light.png: no longer referenced
anywhere in the repo (verified via git grep before removal).
README.md diff vs main is still a pure insertion — no pre-existing line
touched.os-zhuang
marked this pull request as ready for review
August 25, 2026 02:42
os-zhuang
enabled auto-merge
August 25, 2026 02:42
Uh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes#11534
Summary
Adds a hero cover to the README, immediately after the chips line
(
README.md:22), linking to the official 90-second overview on YouTube(https://youtu.be/CX_FlOoOtr0).
Revised from the original two-cover plan after maintainer review found
both covers rendering stacked on github.com. Current shape:
docs/screenshots/hero-cover-dark.png,no
#gh-fragment on itssrc. GitHub's rendered HTML (see Verification)emits
<img>tags with#gh-dark-mode-only/#gh-light-mode-onlyfragments intact but applies no theme CSS to hide either one — so a
themed pair always showed both, on every renderer, not just mobile.
hero-cover-light.pngis removed (git rm); confirmed viagit grepthat nothing else in the repo referenced it.
▶ Watch: ObjectStack in 90 Seconds— because nothing in a bare<img>signals "this is a clickable video" to a reader scrolling past on mobile
web, desktop, npm's README render, or a plain-text reader; none of those
surfaces draw a play-button overlay for you.
Assets
docs/screenshots/hero-cover-dark.pngwas copied from the privatesteedos-labs/video-studiorepo,projects/2026-08-objectstack-hero-overview/covers/cover-en-dark.png, andrenamed under
docs/screenshots/. Verified byte-for-byte against thesource repo's
contentsAPI and by PNG magic-byte inspection beforecommitting:
docs/screenshots/hero-cover-dark.pnghero-cover-light.png(400,524 bytes, same provenance) was added in theoriginal round and is no longer shipped — removed in this revision as
dead weight once the block stopped referencing it.
Diff shape
README.mddiff vsorigin/mainis a pure 8-line insertion at theverified anchor (line 22, the chips line) — no pre-existing line touched,
no deletions.
docs/screenshots/hero-cover-dark.pngis the sole new file(the light cover, added and then removed within this PR's history, is not
part of the final tree).
Verification
Done:
docs/screenshots/hero-cover-dark.pngpresent with the byte count above,valid PNG magic bytes.
origin/mainis a pure insertion —git diff origin/main -- README.mdshows8 insertions(+), 0 deletions(-).git grep -n "hero-cover"returns exactly one hit, inREADME.md,pointing at the dark cover with no
#gh-fragment.Accept: application/vnd.github.htmlon the readme endpoint,ref=this branch)after pushing — exactly one
hero-cover<img>in the output,srccarries no
#gh-fragment:<img>/caption markup are well-formed HTML inside the<p align="center">block.grep -naP '[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]' README.md— clean, no rawcontrol bytes introduced (the
▶caption glyph is U+25B6, not a controlcharacter).
Not done, and not claimed: how the single cover looks to a themed human
viewer (GitHub's rendered visual chrome) — only the structural HTML above
was checked. Left for maintainer eyeball on the rendered PR page.
Gates run
Declared narrowing — verification ran UNLOCKED.
scripts/pm/os-verify-lock.shcould not take the shared verify lock on this host: no usable
flock. The sharedverify lock is declared Linux-only (
flockis util-linux, and a stock macOS doesnot ship it), so the commands below were run directly, without the lock —
a declared narrowing, not a silent one. No serialization guarantee held for
these runs, nor for any sibling agent in this container while they ran.
Gate family re-derived via
node scripts/pm/dispatch-gates.mjsagainst theactual changed paths (
README.md,docs/screenshots/hero-cover-dark.png,docs/screenshots/hero-cover-light.png) at commit618c58a56— same threeas the original round:
pnpm check:nul-bytespnpm check:doc-authoringpnpm check:doc-anchorsgithub-sluggeris not installed" (nonode_modulesin this docs-only worktree). The gate's own output: "Nothing was measured... NOT a finding." CI will run this on the real farm.pnpm --filter @objectstack/lint run check:doc-formula-expressionstypescriptinnode_modules. Same caveat as above.No changeset added (docs-only card;
content/docs/releases/untouched).Generated by Claude Code