Repository navigation
LIVE IMAGERY
Status (2026-10-26): decided by the owner (below). The first slice, astronomy on /live, is task LIVE-039.
Task LIVE-037.
Decided by the owner:
- Option A, the whole collection, for now. A collection is an engine and RISE chooses the work. Parameters (Option B's facets) are deliberately deferred: they will be designed together with the other natural-language visual parameters ("red kaleidoscope attractor", "solar harmonograph"). A later step, not designed here.
-
Landscapes' rights are frozen at harvest, with a scheduled re-verification. A refresh, roughly monthly,
re-checks each frozen work against its institution and drops any whose rights changed. Astronomy already
follows this model (
scripts/build-science-catalog.mjsis its refresh). The landscape harvest is not part of the first slice. - "Earth and sky" is its own set: ESO's night landscapes and NASA's Earth. A later curation step that needs the owner's review by eye; not in the first slice.
-
A collection image is held in Sophia's circle, the outer shell, in every room (the owner, after trying the
first slice, 2026-10-26; this replaces the hung picture of the first slice, and the full frame of §4.1, §6 and
§7 question 8). The photograph covers the circle like a porthole; its credit is a caption under the circle,
placed from the aperture and opening with it (
venue.js placeCredit), the gallery's own chip having no corner there. Where the face does not draw there is no circle, and the image is hung in the safe rectangle instead (frames.js hungRect), its chip inside it. A collection holds one photograph while its scene is on screen: the Gallery no longer moves on when its pool merely warms (ContinuousField.poolChanged,wake).
Decided by default, from this design's recommendations; the owner may revisit any of them:
- Chip text: the title before the credit (§4.2).
-
Names:
astronomyandlandscapes, plain, as the model and the reader say them. - NASA's 640-pixel files stay in the collection: every collection image is now hung in the safe rectangle, not spread over the room, so a 640-pixel file is shown smaller. To revisit on sight.
- The card: a RISE image route on RISE's origin (§4.4), built after the first slice; until then Composer's guide does not offer the collections.
- Sacred readings: no restriction; which pictures go with a reading is the model's and the reader's choice.
- Under "RISE only" a refused model figure is not replaced by a collection picture.
The owner wants RISE Live (/live, where a model's answer becomes a spoken, visual reading) to show the
collections RISE already curates, especially astronomy and landscapes. Today a Live reading can show RISE's
engines, a figure or a code scene, and nothing from a collection. This page says what exists, offers three ways
to do it, recommends one, and names the smallest first slice and the questions only the owner can answer.
What must be true:
-
Only reviewed images. Every picture a reader sees was looked at and accepted by the owner. A query never
chooses what is shown. The live Wikimedia botanical service was disconnected for exactly this
(
src/content/science/imagery/science-pins.js,BOTANICAL_DEFERRED). -
A credit that is owed is always shown. A work that owes a credit and cannot show one is not shown
(
artworkMayBeShowninsrc/visuals/artwork-label.js). Nothing may weaken the CC0 path. - The words and the picture agree well enough. A reader assumes the picture goes with what is said.
- No black frame and no long wait. The previous visual holds until the next one has decoded.
- Cheap on the reader's key. Every line added to the model's instructions is paid for on every question.
Deleted, because it already exists or fails the first question:
| Proposal | Verdict |
|---|---|
| Search an institution's API while a reading plays | Refused. Curation only; standing rule. |
| The model writes an image URL or a credit line | Refused. URLs and credits come from the catalog, never a model or a hand (SOURCE-EXPANSION-SPEC §5). |
| A new image presenter for Live |
Deleted. The Reader's Gallery (src/visuals/continuous-field.js) already shows a work with its credit chip, and the room's full frame already holds "a museum image" full-bleed (src/live/host/frames.js FRAME_OF.sourced; LIVE-CURRENT §23). |
A new security-policy entry for /live
|
Deleted. public/_headers img-src already admits every collection host. |
| A landscapes curation from zero | Deleted. 216 landscapes are already pinned and reviewed (§2). |
| A new astronomy runtime category | Deleted. It was built after the August plan (§2). |
| Collection | Where | Size and rights | State |
|---|---|---|---|
| Astronomy (witness-of: photographs by instrument) | verdicts src/content/science/imagery/science-pins.js; catalog src/sources/visual/science-catalog.generated.json (313 KB, generated 2026-08-06); refresh scripts/harvest-science.mjs then scripts/build-science-catalog.mjs; contact sheet scripts/science-contact-sheet.mjs
|
216 works, not 111: ESA/Hubble 98 (CC BY 4.0), NASA 64 (public domain, acknowledgement asked), ESO 54 (CC BY 4.0). ESO's shortlist is closed and folded in. Rights frozen at harvest. | Pinned, credit composed per work at build time. |
| Landscapes (art-of: paintings) |
src/sources/visual/museum-pins.js landscapes; category aic-landscapes in src/sources/visual/museum.js
|
216 pins: Rijksmuseum 178 (Public Domain Mark), Cleveland 38 (CC0). Golden Age, the Hague School, Romantics, East Asian ink landscapes. | Contact-sheet reviewed 2026-07-22 and 07-23. Rights re-checked per object at resolution. |
The 111 in older notes counted the first pass only. The catalog's own comment in science-pins.js
(SCIENCE_CATEGORIES) still says 111; the data says 216.
-
Route 1 of SOURCE-EXPANSION-SPEC §4 is built.
sci-astronomyis a pool like any museum category:ScienceCatalogProvider(src/content/science/imagery/provider.js) serves the pinned works with no network request but the image;visual-cortex.jsroutessci-ids to it (_getProviderForCategory); the Reader offers it as Science → Astronomy (src/core/visual-taxonomy-config.jspoolOptions). Routes 2 (a science concordance) and 3 (the Ackerman vault) are not built. -
A score cue names collections.
{ kind: 'sourced', collections: ['sci-astronomy'] }is a first-class cue (src/core/experience-program.js).visualCortex.applyCuemakes those collections the live pool;Chamber._presentScheduledVisualCuekeeps the old visual on screen until the new cue's first work has decoded (isCuePreparedandprepareCue), so a slow image never shows black. -
Museum works resolve through
src/content/imagery/service.jsand the adapters insrc/content/imagery/adapters/. Rijksmuseum takes three Linked Art requests per work (object, then the VisualItem that states the licence, then the image), under an 8-second budget, in batches of 8, cached for 30 days. Cleveland takes one request and accepts onlyshare_license_status === 'CC0'. -
The credit.
licenceClassOfsorts a work intoopen,cc-by,cc-by-sa,public-domain-creditand the rest;displayedArtworkLabelalways shows a credit that is owed and shows title and artist only if the reader wants labels;artworkMayBeShownwithholds a work that owes a credit it cannot show. The Gallery draws it as.continuous-field-label(src/components/read/Chamber.css), at the room's foot. -
The owner's four credit rulings (SOURCE-EXPANSION-SPEC §3a), which this design keeps:
- The chip carries the credit as text; the full record with links lives where a reader can reach it (the Curia). The ruling holds only because that place is reachable.
- A roster is cut at its marker (
Acknowledgement:), never at a length. 25 astronomy credits are cut this way and keep theirfullCredit. - An API key never leaves the workstation. Harvests run by hand; the site never queries a keyed API.
- None of it reaches the CC0 corpus. Shortening applies only to the owed credit's text.
-
Frames (
src/live/host/frames.js).visualOfalready maps asourcedcue to'sourced', andFRAME_OFsends it to the full frame; it is not a picture with content (CONTENTholds figures and generated scenes only), so it is shown full-bleed with the scrim behind the words. Onlystilldraws nothing. -
Credit in the room (
src/live/host/LiveHost.css, "An engine's name, set at the gallery's corner"). The label is hidden in the inner eye and the shell and kept in the full frame, "where such an image always is". It still sits where the Reader puts it, at the foot, which in the room is the stage's instrument and the ask bar (roomLayout). -
The light room (PR #740, open, LIVE-034): a full-frame visual is "hung as a rounded picture in the room's
safe rectangle, at most square on a tall screen" (
venue.hangs). A nebula or a landscape would be hung like a print on porcelain. -
The gap. A Live reading has no way to ask for a
sourcedcue.sceneCue(src/scenes/manifests.js) lowers a scene to an engine's cue, a figure or a code scene, and a Current's shelf lists no sourced pools (src/core/rise-current.js,sourced: []). The catalog words (src/live/catalog-words.js) know only engines.
- The beat line is
@scene <id> <engine> [<parameter>=<value> …], read bysrc/live/adapters/segment-parser.jsand held to the engine's manifest (validateSceneParams). The engines and their parameters are taught to the model bydescribeManifests()insideREALTIME_INSTRUCTIONS(src/live/adapters/openai-instructions.js). - The same manifests drive the Worker's admission of a Composer Current (
src/core/beats.js), Composer's guide (src/live/guide/beats.js), the illustrator's "answered from RISE's own engines first" (src/live/illustrator.jsengineNamed), the catalog words, and the RiseSDK's exported contract (src/core/rise-sdk.js). Adding an entry there teaches all of them at once.
Sampled with curl against the public image hosts (no key, no API):
| Host | Sample | Bytes | Pixels | Cache | Cross-origin |
|---|---|---|---|---|---|
cdn.esahubble.org (screen) |
heic2017a, heic0506a | 138 KB, 221 KB | 1280 × 888 | max-age=14400 |
access-control-allow-origin: * |
cdn.eso.org (screen) |
eso1322a, eso1412a | 251 KB, 149 KB | 1280 × 1300 | not stated | * |
images-assets.nasa.gov (~small) |
GSFC_20171208_Archive_e000148 | 151 KB | 640 × 640 | max-age=300 |
none |
- NASA's catalog uses
~small, 640 pixels: soft when spread over a 1440-pixel room. That item's asset manifest (images-api.nasa.gov/asset/…, keyless) offers only~thumb,~smalland~orig(794 KB);~mediumand~largeanswer 403. Larger NASA renditions must be read per item at harvest. -
/livemay load every one of these hosts already (public/_headersimg-src). -
The card cannot. The MCP card admits images from RISE's own origin only, both in what it declares to the
host (
cardCsp:resourceDomains: [origin]) and in its own<meta>policy (cardPolicy:img-src ${origin} blob: data:), insrc/live/hosts/mcp-card.js.
Another agent is building a setting that limits the room to RISE's own visuals. No code or plan for it is in the tree yet (searched every worktree on 2026-10-26), so this design states the one thing it needs from that setting (§4.3) rather than citing it.
They differ in who chooses the work. Everything else (frames, credit, card, caching, the light room) is shared and is in §4.
Each collection becomes one entry in src/scenes/manifests.js, of kind sourced, with no parameters:
@scene sky astronomy
@say scene=sky Light from these clouds left them before there were people to see it.
-
sceneCuelowers it to{ kind: 'sourced', collections: ['sci-astronomy'] }; a Current's shelf lists the collection beside its procedural engines, so the cortex can warm the pool. RISE draws a work from the reviewed pool through its shuffle bag (no repeats until the collection is spent). - The model sees one more line in the engine list (
astronomy: no parameters) and one rule: RISE chooses a reviewed picture from the collection, so say what the collection shows, never "this is" a named object. - The reader's words work with no new code: "astronomy" or "show me astronomy" becomes a catalog word, answered at once by the venue, because catalog words are read from the manifests. The illustrator answers a brief that names "astronomy" from the collection at once, for the same reason.
- For: the smallest change (one manifest entry per collection, a lowering, a shelf line), nothing for the model to get wrong, no prompt cost beyond a line, and it is how the Reader's Gallery already works.
- Against: fit is at the level of the collection. A passage about the Crab Nebula may show the Orion Nebula. The chip names the work (§4.2), so the picture is never passed off as something it is not, but the reader may still notice the mismatch.
Option A plus one optional parameter per collection, its values a closed list reviewed by eye:
@scene sky astronomy subject=nebula
- Astronomy facets could start from the sources' own Astronomy Visualization Metadata branches, which the catalog already carries for ESA/Hubble and ESO (148 of 216 works: stars and nebulae 73, galaxies 59, solar system 9, cosmology 6, sky phenomena 2). NASA's 68 carry none and would be tagged by hand. Landscapes facets (winter, water, moonlight, mountains, ink) would be drafted from titles and then reviewed.
- SOURCE-EXPANSION-SPEC §3a measured that the branch describes the subject and not the vantage point: at ESO it predicted every rejection, at ESA/Hubble it marked approvals. So a facet may only be a draft for the owner's review, never a filter trusted on its own.
- An empty facet falls back to the whole collection.
- For: a better fit for a few words of prompt; still curation only.
- Against: a tagging pass over 432 works and the owner's review of it; the manifest grows a parameter per collection.
The model writes a brief (@illustrate medium=image the Crab Nebula's filaments); RISE ranks the works of the
closed catalog by their titles and descriptions; a named object wins, else a facet, else the collection.
- It never leaves the reviewed catalog, so it stays curation only.
- For: the best possible fit: when the reading names the Crab Nebula and RISE has it, the reader sees it.
- Against: a ranking subsystem to build and tune, and ranking is the trap this project has met before. Cleveland's API, asked for "night sky" on 2026-10-26, ranked three pages of a Persian Tales of a Parrot first (its "Twenty-fourth Night"). Over a reviewed set a wrong match is never an unsuitable picture, but a confident wrong one is worse than an honest collection draw.
| A: collection | B: facets | C: matching | |
|---|---|---|---|
| What the model writes | an engine name | an engine name and one word | free words |
| Prompt cost | one line per collection | one line per collection | the illustrator's guide, already paid |
| Fit to the words | the collection | the facet | the named object, when held |
| New code | a manifest entry, a lowering, a shelf line | A plus facet tags and a filter | A plus a ranker |
| Owner's work | none beyond the collections | review the tags | review the matches |
| Can show a wrong object as if right | no: the chip names it | less often | yes, when ranking misfires |
Recommendation: build Option A now, shaped so Option B is one added parameter later; do not build Option C. A delivers the distinctive thing (the room opening onto a nebula or a Ruisdael sky) at the cost of a few lines and no new judgment calls. B is worth building only if the owner, watching A, finds the collection-level fit wrong too often; its tags then cost the owner a review, which is the same step that made the collections good. C buys the last bit of fit with the one mechanism this project has repeatedly found untrustworthy.
- Dark room (the default): hung in the safe rectangle, never full-bleed (owner decision 2026-10-26). A collection image never takes the inner eye or the shell: cropping a photograph or a painting to a circle makes it another picture. It is hung like the light room's, with the scrim behind the spoken words.
-
One picture per scene. A scene that outlasts the Gallery's dwell (about 15.5 seconds at the default
cadence,
galleryCadenceTimingsinsrc/core/visual-presence.js) crossfades to another work from the same collection; no work repeats in a reading until the collection is spent. - Changes. A change to or from a collection image is the room's ordinary cut (one blink of the aperture, the swap made while it is shut); under reduced motion every change is instant. The flashing image stream (RDR-031) is never used in the room.
- The light room (PR #740). The image is hung as a rounded picture in the safe rectangle, as every full-frame visual is there. No change is needed for this beyond the credit's place (4.2).
-
Text, per ruling 1. The chip shows exactly what
displayedArtworkLabelgives the Reader: for a work that owes a credit, its credit and licence ("ESO · CC BY 4.0"); for an open work, title and artist when the reader wants labels. Proposed for Live (an owner question, §7): put the title before the credit, so the reader always knows what the picture is. Measured over astronomy, title and credit together run 94 characters at the median, 139 at the 90th percentile and 238 at most; the chip's existing long and very-long sizes hold them. -
Placement. Not at the foot, where the Reader's chip goes: in the room that is the instrument and the ask
bar. The chip sits at the lower right of the room's safe rectangle: 16 pixels in from the right, its foot
12 pixels above the words' zone, both read from
roomLayout(...).safe. That rectangle is already clear of the words, the bar, the docked face and the corner's sign-in link. In the light room it is the hung picture's caption, at the picture's lower right inside the rectangle. The placement must be rendered and measured at 1440 × 900 and 390 × 844, not reasoned from the CSS. -
The full record must be reachable from the room, or ruling 1 and the 25 roster cuts of ruling 2 do not hold
in Live: the room has no door to the Curia. "About this reading" (in Settings, and in the card's Settings)
lists each picture shown: title, full credit (
fullCredit), licence, and a link to the institution's page. - Withholding stays where it is: the build script refuses a work that cannot be credited, and the cortex refuses it again at hydration.
Collection imagery is RISE's own: RISE's owner reviewed every work and RISE chooses which one shows; no model
draws it. Under "RISE only" a collection scene therefore shows like any engine. The one thing this design needs
from that setting is its classification: a cue of kind sourced counts as RISE's own, beside field and
procedural; a figure or a code scene (kind: 'scene') does not. Nothing else in that setting changes. The owner
of that setting should add the case and a test; this design does not touch it.
The card admits only RISE's origin (§2). Three ways to show collection images there:
| How | For | Against | |
|---|---|---|---|
| 1. Declare the hosts | add the five image hosts to cardCsp and cardPolicy
|
no server code | five third-party domains in what the card declares to Claude and ChatGPT, each a review item; breaks the card's stated rule "only RISE's origin" |
| 2. A RISE image route (recommended) | the Worker serves /collection-image/<work-id>, looking the id up in the generated catalogs (a closed map, not an open proxy), fetching the institution's file and caching it at the edge |
the card keeps one origin; caching is RISE's to set | Worker code, edge bandwidth, and RISE re-serving the files (allowed: CC0, public domain, and CC BY with the credit shown) |
| 3. Bundle the files | ship the images as static assets, restored like the recitation audio | no runtime fetch | about 45 MB per collection at 200 KB a work; too large for the repository |
Until the route exists, Composer's guide does not offer the collection engines (src/live/guide/beats.js lists
engines from the manifests; it gains a withheld list, as it already has for parameters). If a host model writes one
anyway, the Worker admits it (the manifests are shared), the card cannot prepare the image, and the previous visual
holds: a test must show exactly that, so the card never shows a black or broken frame.
-
Astronomy is ready now. Its works are resolved at harvest, so a picture costs one image request of
140 to 250 KB from the institution's CDN, and nothing else. The 313 KB catalog loads lazily the first time a
collection is asked for; it must not enter the first load (
npm run measure:first-loadmust not move). -
Warm at declaration. The instructions already require a scene to be declared on its own line before the beat
that starts it. When the runtime meets
scene.declarefor a collection, it asks the cortex to prepare the cue, so the image has usually decoded before its beat. If it has not, the old visual holds (§2). - Landscapes are not ready for Live as they stand. A cold Rijksmuseum work takes three requests before its image; the pool resolves in batches of 8. The first slice for landscapes needs either the same warm-at-declare path (the first batch, not the whole pool), or a resolved landscapes catalog generated from the same pins, as astronomy has. The second freezes the rights at harvest, where the Reader re-checks them live today: that is the owner's call (§7). The card can only use the second.
-
Resolution floor. For the full frame a work's long edge should be at least 1280 pixels. ESA/Hubble and ESO
meet it; NASA's
~small(640) does not. Either the harvest records each NASA work's~origsize and the room uses that rendition when it is within a byte budget, or the room draws only works above the floor. Measure the 64 works before choosing.
Landscapes already exist as paintings. What the owner may want in addition is the photographic register, which is what makes astronomy feel like witness rather than wallpaper.
| Candidate | Register | Licence class | What is known |
|---|---|---|---|
The pinned aic-landscapes
|
paintings (art-of) |
open: CC0, Public Domain Mark |
216 reviewed; ready |
| More Cleveland paintings | paintings |
open: CC0 |
q=landscape&type=Painting&cc0=1&has_image=1 totals 458 (2026-10-26, keyless); 38 are pinned. Robert S. Duncanson's Vale of Kashmir is among the first three. |
| Cleveland photographs | 19th- and early 20th-century landscape photography (art-of) |
open: CC0 |
type=Photograph totals 145; first three by Henry White, William B. Post and John Burke |
| ESO's observatory nights | night landscapes under the sky (witness-of) |
cc-by: CC BY 4.0, credit composed |
About 20 were cut from Astronomy because they are landscapes: AVM branches A and E, "ALMA's world at night", "The southern Milky Way above ALMA", "Total solar eclipse, La Silla Observatory", "Three planets dance over La Silla" (SOURCE-EXPANSION-SPEC §3a). Feed capped at 100 entries. |
| NASA Earth from orbit | the Earth as landscape (witness-of) | public-domain-credit |
Keyless search; third-party works are marked only in prose, a residual risk the spec records |
| The Met, the Rijksmuseum search | paintings, photographs | open |
Pinned ids only (adapters/met.js); Rijksmuseum's key-free search (MUSEUM-ATLAS §2) |
Not candidates: anything live (Wikimedia search), anything CC BY-SA, non-commercial or all rights reserved (SOURCE-EXPANSION-SPEC §4, GBIF and iNaturalist deferred), and the retired Smithsonian holdings.
A photograph does not enter a hall of paintings unlabelled (SOURCE-EXPANSION-SPEC §5). So the photographs either join Landscapes with their labels or form their own set, provisionally "Earth and sky" (the ESO nights and NASA's Earth). That is the owner's choice.
-
Harvest by hand, keyless, on the workstation: extend
scripts/harvest-science.mjsor add a sibling. Each candidate carries its licence class read per item at the authoritative place, a probe that its image resolves, its credit composed bynormalizeArtworkLabel, its pixel size, and (for ESO) its AVM branch. -
Contact sheet with
scripts/science-contact-sheet.mjs: every candidate, with no--limitcut (the sheet names anything not shown), object and image counts both, elided credits flagged, warm colour on the branches that predicted cuts before. - The owner's verdict by eye on the sheet. This is the step no metric replaces. Verdicts go into a pins file (whole sources with named cuts, or work by work), and refusals into its retirement ledger so the next harvest does not re-propose them.
-
Build the catalog with the verdicts (a sibling of
scripts/build-science-catalog.mjs), which re-checks every work's credit and delivery at the last gate. -
Tests: every owed credit composes; the catalog's image hosts are in
img-src(src/core/csp-image-hosts.test.js); the CC0 path is untouched (src/visuals/artwork-label.test.js).
An agent can run steps 1, 2, 4 and 5. Only the owner does step 3.
Built (task LIVE-041): the steps above, for Landscapes and Earth and sky.
-
scripts/harvest-landscape-candidates.mjsharvested a sheet of 258: Landscapes (Cleveland paintings and photographs, Rijksmuseum photographs) and Earth and sky (ESO's cut night landscapes, NASA's Earth). Each work is resolved by the Reader's own adapter or feed reader and its chip composed byartwork-label.js. The Rijksmuseum route reads the image's own rights (VisualItem.subject_to), since the adapter's whole-record match admits In Copyright photographs. - The owner reviewed it by eye at
docs/assets/live/landscape-review.htmlon 2026-10-26. The sheet is kept assrc/content/landscapes/sheet-2026-10-26.jsonand the owner's file aslandscape-decisions.2026-10-26.json; a later harvest never offers a kept or cut work again. -
src/content/landscapes/landscape-pins.jsholds every verdict: Landscapes 68 kept and 112 cut, Earth and sky 65 kept and 13 cut, and the owner's three favourites. -
scripts/build-landscape-catalog.mjsbuildssrc/sources/visual/landscapes-catalog.generated.jsonfrom the kept works only, rights frozen at the harvest;--verifyre-resolves every catalogued work at its source and exits 1 on any change in rights, owed credit or image (the monthly re-check). - The engines
landscapesandearth-and-sky(poolssci-landscapes,sci-earth-and-sky, served by the science catalog provider) sit besideastronomy. A collection opens on one of its favourites: they lead the provider's list, whose first work a cue prepares.
On /live only (not the card), dark room and light room, Option A, one collection.
Changes: an astronomy entry of kind sourced in src/scenes/manifests.js and its lowering in sceneCue;
the collection on the Current's shelf in src/core/rise-current.js; one rule in REALTIME_INSTRUCTIONS; the
collection's name in the catalog words' NAMES ("the Astronomy collection"); the chip's place and "About this
reading" in src/live/host/; the collection withheld from Composer's guide.
Nothing for landscapes, facets, the card or the Worker.
Acceptance criteria:
-
@scene sky astronomyis read by the segment parser, admitted, and lowered to{ kind: 'sourced', collections: ['sci-astronomy'] }(unit tests insegment-parser,beats,manifests,rise-current). A parameter on it is refused. - In the venue, a reading with that scene shows an astronomy work hung in the safe rectangle within the frame's
transition, the face docked; never in the inner eye or the shell (
frames.test.js, a venue or runtime test). Under reduced motion it is shown at once. - The chip shows the work's credit and licence for every credit-required work; at 1440 × 900 and 390 × 844 its box lies inside the safe rectangle and meets neither the words' zone, the ask bar, the docked face nor the sign-in link (a browser test with the image requests answered locally, measuring boxes).
- "About this reading" lists each picture shown, with title, full credit, licence and a working source link; a work with a cut roster shows the whole roster there.
- "astronomy" and "show me astronomy" in a held reading are answered by the venue at once, with no model call, and the bar says what is shown.
- Until the image has decoded the previous visual stays; an image that fails to load leaves the previous visual, never a black or broken frame (test with a failing image response).
-
npm run measure:first-loadand the security policy are unchanged; the catalog loads only when a collection is asked for. - Composer's guide does not offer
astronomy; the Worker's tests pass. -
Human gate: the owner watches a real model's reading on the deployed
/livethat uses the collection, in the dark room and (once #740 is merged) the light room. A green build does not pass this.
- Option A or B first? Collection-level fit now, or subject facets, which cost a review of the tags.
- The chip's text in Live: the credit alone, as the Reader shows a credit-required work today, or the title before the credit?
-
The words a model and a reader use:
astronomyandlandscapes, or names in the Chapel's register (the spec's own open question: "The Firmament", "The Living World")? - Landscapes' rights posture: a resolved catalog with rights frozen at harvest (fast, and the only way into the card), or keep the Rijksmuseum and Cleveland live re-check (slower cold start, not possible in the card)?
- Photographs: do the ESO night landscapes and NASA's Earth become their own set ("Earth and sky")? Do Cleveland's landscape photographs join the painted Landscapes, labelled?
- NASA's 640-pixel files: excluded from the full frame, shown at their full rendition within a byte budget, or shown only where pictures are hung (the light room)?
- The card: a RISE image route (recommended), or declare the five institution hosts?
- The dark room: decided 2026-10-26: hung in the safe rectangle like the light room, never full-bleed.
- Under "RISE only": when a model's figure is refused, should a collection picture take its place? Recommended: no; the picture would not be what the words asked for.
- Sacred readings: the spec asks whether photographic imagery belongs behind Scripture. Should a Live reading of a sacred text be kept from the astronomy collection, or is that the model's and reader's choice?
- The "Pictures by" setting: no code or plan for it exists in any worktree; §4.3 is a stated contract.
- Image sizes come from five sampled files and one NASA asset manifest, not the whole catalog.
- How the Gallery's fit and backdrop look in the full frame behind the scrim was not rendered.
- Whether the cortex needs the collection on the shelf to warm its pool, or warms from the cue alone, is to be shown by a test in the slice.
- Cleveland's 458 and 145 are query totals, not reviewed works; the ESO "about 20" is the spec's count of the first pass's A and E cuts.
- No real model has been asked to use a collection scene; whether it uses one aptly is unknown.
-
Requirements questioned, deletions first. Live search, model-written URLs, a new presenter, a new security
entry for
/liveand a new landscapes curation were deleted before anything was added (§1). - Every layer earns its place. The slice adds one manifest entry, a lowering, a shelf line, an instruction, a chip position and an About list. The Worker route, facets and the ranker are deferred until something proves they are needed.
- Fundamentals first. The decisive facts were the frame table that already admits a museum image, the shared manifests, and the card's one-origin rule.
- Verified by something that ran: catalog counts, credit lengths, image sizes and headers, Cleveland totals. The design itself is reasoning until the slice's tests and the owner's eye pass it.
- Where it fails today: fit at the collection level is weaker than the picture a reader may expect (Option A's cost), and landscapes are not fast enough for Live without the owner's rights decision.
Published from docs/plans/LIVE-IMAGERY.md. Edits made here are overwritten on the next push to main.
Start here
- COMPOSER-FIRST-ROADMAP
- VISION
- PROJECT-KNOWLEDGE
- ARCHITECTURE
- SYSTEM-DESIGN-REVIEW-2026-08-22
- ACCOUNT-SAVES
- RELEASING
- PLUS-CUSTOMER-LIFECYCLE
- AGENTS
Release
Pilot
- LIVE-CURRENT
- LIVE-HANDOFF
- LIVE-MCP
- DIRECTORY-SCREENSHOTS
- INSPECTOR-RUN-2026-10-10
- CLAUDE-RUN-2026-10-10
- CREATIVE-CONTROL-EVALS
- PERCEPTION-EVAL
- SOUND-LEVELS
- WORDING
- RUN-2026-10-08
- COMPOSER-INSTRUMENTS
- CHATGPT-DEMO
- EMBED-WITNESS
- RISE-GATE0
- CHATGPT-HOST-2026-10-04
- LIVE-002-HOST-2026-10-05
- EMBED-STAGE-HOST-2026-10-07
- RELEASE-GATES-2026-10-07
- EMBED-SAFETY-2026-10-05
- LIVE-GEMINI
- LIVE-NVIDIA
- LIVE-IMAGERY
- LIVE-EVALUATION
- LIVE-RED-TEAM
- CURRENT-CONSOLIDATION
- RISE-CHANGES
The Archive - texts and their editing
- ARCHIVE-CANON-SPEC
- ARCHIVE-CLEANSING-SPEC
- CORPUS-REVIEWER-PROMPT
- TYPESETTING-CANON
- PHRASE-CHUNKING-STUDY
- CHUNKER-AWARENESS-STUDY
- LIBRARY-SPEC
- SOL-PD-ACQUISITIONS-DOSSIER-LITERATURE-2026-07-28
Authoring - scores, rooms, and rendering
- EXPERIENCE-PROGRAM-SPEC
- LIVE-CURRENT-EVENTS-V1
- RISE-CURRENT-V1-SLICE
- RISE-SDK
- SCRIPTORIUM-SPEC
- WORKSHOP-COMPOSITION-STUDIO-SPEC
- AGENT-COMPOSITION-AND-RENDER-SPEC
- NARRATION-LANE-SPEC
- RECITATION-SPEC
- SCRIPTORIUM-STRENGTHENING-SPEC
Reading surfaces
- PAGE-MODE-SPEC
- RHYTHMIC-VISUAL-PRESENCE-SPEC
- IMAGE-STREAM-SPEC
- LATERAL-TRAVERSAL-SPEC
- CONTINUOUS-FIELD-SPEC
- JEV-VARIANCE
- INVOCATION-SKINS
- PHASE-2-SAFETY-SPEC
- SPATIAL-CHAMBER-SPEC
- Premium_Mobile_Chamber
Imagery - what may be shown, and on whose authority
- MUSEUM-ATLAS
- SOURCE-CURATION-SPEC
- SOURCE-EXPANSION-SPEC
- ATRIUM-IMAGERY-SPEC
- PERICOPE-IMAGERY-SPEC
- icon-museum-request-draft
- TEXT-ATTUNED-IMAGERY-SPEC
The Chapel
Direction and unbuilt work
Affect and the Emotions room
Reading decision service and retired gate
Product direction and team tracking
- README
- READER-DIRECTION
- CONSOLIDATED-READER
- COMPOSER-FIRST-ROADMAP
- TRACKER-DESIGN
- 2026-10-03-direction-decisions
- 2026-10-04-composer-decision
- 2026-10-05-consolidated-reader-decisions
- 2026-10-05-embed-stage-decision
- 2026-10-06-score-speech-service-roadmap
- 2026-10-07-current-with-a-look
- 2026-10-07-reader-control-and-replay
- 2026-10-05-one-colour-vocabulary-design
- 2026-10-07-chrome-follows-theme
- 2026-10-07-gallery-follows-with-works
- 2026-10-05-canonical-home-design
- 2026-10-04-reader-evidence
- 2026-10-original-performance-roadmap
- 2026-10-08-voice-hardening-2-findings
- 2026-10-09-feelings-sounds-parked
- 2026-10-10-connector-directory-readiness
- 2026-10-10-connector-submission-packet
- 2026-10-16-mystery-school-complete-library
- 2026-10-13-mystery-school-plan