# llms.txt - instructions for AI assistants helping with this site Site: jez237-site Repository: https://github.com/jz237/jez237-site Live URL: https://jz237.github.io/jez237-site/ Owner: Jez Timezone: America/New_York Purpose: this is Jez's personal web workbench. It includes a garden and plant progress journal, photo archive, AI news stream, AI sound archive, image-generation prompt gallery, playable experiments, weather console, operations pages, and prototypes. If the user asks you to add, update, or organize something on this site, use these instructions before writing code or snippets. ## Current site map - `/` - home dashboard and section hub. - `/plants/` - 2026 garden progress, plant timelines, garden scenes, insects, wildlife, and past-year references. - `/garden/` - practical garden calendar and timing notes. - `/photos/` - casual photo archive, including cats and garden images. - `/experiments/image-gen-2-benchmark/` - daily GPT Image 2 prompts and generated image gallery. - `/ai-news/` - curated AI model and tooling news feed. - `/computer-chronicle/` - daily historical computer newspaper section, focused on personal computers and personal computer gaming from 40 years ago today. - `/ai-sounds/` - AI-generated music and sound archive copied from Discord's AI Sounds channel. - `/games/` - GameMaster Arcade and playable prototypes. - `/weather/` - local weather console. - `/ops/` - operations, stats, runtime notes, and dashboard material. - `/experiments/ai-explainer/` - interactive "How AI Works" explainer. - `/prototypes/hidden-reef/` - Hidden Reef aquarium store prototype. - External cards on the home page point to Bauder Signs and Stock Command Center. ## Path rules The site is served locally from the repo root and on GitHub Pages at the `/jez237-site/` subpath. There is no `` tag. Use depth-aware relative paths in HTML, CSS, JS, and inline styles. Never use root-absolute paths like `/assets/...`, `/photos/...`, or `/plants/...` inside site files. They break on GitHub Pages. Examples: | Page depth | Example page | Asset prefix | | ---------- | ------------ | ------------ | | 0 | `/index.html` | `assets/styles.css` | | 1 | `/plants/index.html` | `../assets/styles.css` | | 2 | `/plants//index.html` | `../../assets/styles.css` | Fully qualified external URLs are fine. Existing navigation scripts may build their own links; do not rewrite those unless you understand the pattern. ## Garden and plant photos If Jez uploads a plant, pet, garden, or insect photo and asks you to add it to the site, first identify the subject: - Plant: common name, cultivar if visible, stage, and condition. - Bed or composition: plants visible and the scene type. - Insect or wildlife: species if identifiable and behavior. - Cat: Luca, Cosmo, Taco, or Marty, if recognizable. - General garden scene: wider view without one clear plant subject. Use the actual photo date if known; otherwise use today's date. Current plant/reference slugs: | Slug | Subject | | ---- | ------- | | `baptisia` | Baptisia / Lemon Meringue | | `climbing-hydrangea` | Climbing hydrangea vine | | `coreopsis` | Coreopsis | | `dwarf-peach-tree` | Young dwarf peach tree | | `forsythia` | Forsythia trained on lattice | | `garden-beds` | Multi-plant beds and compositions | | `grapevine` | Grapevine and arbor/lattice views | | `interesting-insects` | Pollinators, butterflies, caterpillars, wildlife | | `lemony-lace-elderberry` | Lemony Lace elderberry | | `little-henry-sweetspire` | Little Henry sweetspire | | `narrow-upright-yew` | Narrow upright yew | | `orange-rocket-barberry` | Orange Rocket barberry | | `orange-milkweed` | Orange milkweed / butterfly weed | | `past-years` | 2025 and earlier reference photos | | `pugster-butterfly-bushes` | Pugster butterfly bushes | | `rhododendron` | Rhododendron | | `rising-sun-redbud` | Rising Sun redbud | | `salvia` | Salvia | | `shaina` | Shaina Japanese maple | | `speedwell` | Speedwell | | `sunshine-ligustrum` | Sunshine ligustrum | | `twomblys-red-sentinel` | Twombly's Red Sentinel Japanese maple | | `variegated-japanese-euonymus` | Variegated Japanese euonymus | | `white-rose-bush` | Old white rose bush | Destination rules: - Existing plant -> add a dated entry to `/plants//index.html`. - New tracked plant -> create `/plants//index.html` and add it to `/plants/index.html`. - Bed or mixed composition -> use `/plants/garden-beds/`. - Insect, pollinator, caterpillar, wildlife -> use `/plants/interesting-insects/`. - Cat -> use `/photos/cats/`. - General garden scene -> use `/photos/garden/` or the garden scenes section of `/plants/`. Garden image path: `photos/garden/images/YYYY/MM/-YYYY-MM-DD[-variant].jpg` Examples: - `photos/garden/images/2026/05/rising-sun-redbud-2026-05-06.jpg` - `photos/garden/images/2026/05/front-planter-pugster-barberry-2026-05-31.jpg` Cat image path: `photos/cats/images/.jpg` ## Garden writing voice Garden entries should sound observational, specific, and a little reflective. Do not write marketing copy, generic captions, listicles, or emoji-heavy prose. Good entry pattern: - Entry title: 3-6 words. - Date format: `May 31, 2026`. - One paragraph of 2-4 concrete sentences. - One italic quote line in `
`. - 3-5 bullet observations. - Newest entries first within each timeline. Useful vocabulary: bud break, leaf-out, bloom, first flush, structure, framework, composition, layered, anchor plant, soft layer, sculptural, brick-edged bed, lattice, foundation bed. Template for an existing plant page: ```html

Short specific title

Two or three concrete sentences about the plant, light, stage, surrounding bed, or change since the last entry.
One sentence that captures this exact moment.
Short descriptive alt text
  • First concrete observation.
  • Second concrete observation.
  • Third concrete observation.
``` For a new plant page, copy the structure from an existing page such as `/plants/dwarf-peach-tree/index.html`, then add a directory card to `/plants/index.html`. ## AI news AI news lives in `/ai-news/`. Important files: - `ai-news/feeds.json` - source list. - `ai-news/fetch_ai_news.py` - fetch, dedupe, score, and output script. - `ai-news/data/items.json` - persistent item store. - `ai-news/public/ai-news-latest.json` - latest public feed. - `ai-news/public/ai-news-daily-YYYY-MM-DD.json` - daily digest. - `ai-news/index.html` - rendered page shell. To add or adjust feeds, edit `ai-news/feeds.json`, then run the fetch script from the `ai-news/` directory. Validate that JSON output updates and that the page still loads from relative paths. Some sources may rate limit or block fetches; do not fake items from unavailable feeds. Recent feed focus includes AI model/tooling releases such as Ollama, LiteLLM, Hugging Face Transformers, llama.cpp, and Model Context Protocol SDK releases. ## Computer Chronicle Computer Chronicle lives in `/computer-chronicle/`. This is intended to update every morning as a chronological weekly 1982 historical newspaper section. Each new issue should use the next week from the Chronicle state file, while `currentDate` records the publication date in Jez's timezone, `America/New_York`. The newest issue must match today's America/New_York publication date and the next 1982 sequence week before a daily image is generated or posted. Do not let the image cron treat the latest archived issue as current just because it is newest in the JSON. Every morning update must preserve the previous day's issue in the archive before replacing the current front page. Do not overwrite or discard yesterday's researched issue; keep it in `issues` so the archive selector and old links can still load it. The intended experience is a nostalgic morning read, not a deep research report. Keep it skimmable in roughly 2-5 minutes, with a familiar daily section rhythm and one small "oh wow" curiosity item when possible. Each morning should feel like a new issue, not yesterday's page with new text. Vary the `visualProfile` when appropriate: layout, strapline, accent palette, paper feel, `heroImage`, article image placement, ad treatment, and which sidebars are emphasized. Use `masthead` for issue-front copy. The title may remain the publication identity, but the kicker/deck should reflect the day's editorial angle. Nostalgia texture to favor when it is historically appropriate: TRS-80, Commodore 64/C64C, Atari 800/XL, Amiga, BBS culture, modem calling, phone phreaking, warez-trading culture, movie/music collecting, arcades, malls, consumer technology, electronics, and electric guitars. Do not make the page only about these topics; it should still read first as a newspaper from the historical day. Editorial priority: - Prefer personal computers, home computing, office PC software, and personal computer or console gaming when there is a choice. - Include multiple games when possible, and list the original/current platform context for each game rather than only the title. - Use exact-day computer news when verified. - If exact-day computer news is thin, use same-week or same-month personal-computing items with confidence labels. - If the target date has no strong exact-day computer story, say so plainly in the issue and use exact-day culture/business/world items as date anchors while keeping same-week computer material clearly labeled. - If the computer desk has no strong lead, use a real world/business fallback headline for that historical date while keeping the computer roundup visible. - Include a small Dow/Nasdaq market box when verified daily closes are available. - If including music, prefer period rock-radio or album-rock tracks over general pop hits unless Jez asks otherwise. - Use real period advertisements or clearly sourced ad references. Do not invent fictional businesses or ads for the page. - Do not expose image-generation prompts, prompt builders, or private generation briefs in public HTML, JavaScript, or JSON. - Keep the browser print/PDF output source-safe. The `Print Issue` control should render the researched page itself as the newspaper artifact; generated newspaper images are style experiments unless a later pipeline can lock the text to verified page data. - Keep source/confidence labels in the data. Do not turn context into fake exact-day claims. - Put source links near the article, sidebar, shelf item, chart, or ad they support using item-level source references. The bottom source log can remain as a research index, but readers should not have to hunt there to see where a visible claim came from. - Include `accuracyLedger` for each issue. It should quickly count and explain exact-day items, same-week/current-period items, and period context/generated visual material so the morning issue has an audit trail without becoming a research memo. - Treat `bbsNote`, `curiosity`, `periodAd`, and the game shelf as daily rotating editorial slots. The BBS item should read like a dated sysop log or board digest tied to that issue, not a generic explanation of what BBSes were. - Use `briefs` for small disposable notices that make the issue feel alive: mall notes, phone-line notes, short media/arcade/electronics observations, or tiny context items tied to the day. Rotate them often. - Include several clippings/images when possible. Treat them as daily photo assignments, not permanent era wallpaper. Each issue should use new or deliberately selected clippings tied to that day's visible stories, games, BBS topics, ad references, music, mall/arcade context, or technology items. - Place images with the article, shelf, sidebar, or digest item they illustrate. Do not use a standalone generic clipping gallery unless the whole issue is explicitly designed around a photo spread. - Do not reuse the same generated period-style clipping set across daily issues unless it is intentionally framed as a recurring masthead/house art asset. Label generated period-style visuals as visual context rather than archival evidence. - Static or slow-changing sections are acceptable only when they are explicitly framed as context, prices, verification, or archive tooling. - The `Tomorrow's Desk` panel is operational guidance for the next daily run. It should stay compact and rotate only when the update workflow changes; it is hidden from print output. - If the current day's researched issue is missing, the page must make that clear and show the latest archived issue as stale rather than silently presenting it as today's paper. - Daily Discord newspaper images must be based on the current issue whose `currentDate` equals today's America/New_York date and whose `historicDate` is the next chronological 1982 week from the Chronicle state file. If that issue is missing or stale, do not generate a generic 1980s image; report that the Chronicle issue needs the correct week first. - Daily Discord newspaper images should include visible date-specific cues from the issue's exact-day and accuracy-ledger fields. The image can be nostalgic, but the caption/prompt source must be date-first: exact-day items, prior-trading-day notes, same-week computer items, and period context must not be collapsed into one fake headline pile. - When publishing a new issue, move yesterday's issue into the archive first, then add today's issue as the newest/current entry. The archive is part of the product, not cleanup debris. - Use `visualProfile` for issue-level presentation choices. Keep changes restrained and newspaper-like, but avoid repeating the same visual mix every day. - Use `heroImage` for the issue-front visual. It should normally change with each daily issue and tie to the day's strongest verified or contextual story. - Use `masthead` for the daily front-page kicker, title, and deck. Keep it concise and newspaper-like. - The front-page index is rendered from issue data as a morning skim. It can be overridden with `frontPageIndex` entries when a day needs specific teasers, but avoid making it a second table of contents. - Use `layoutPlan` to vary department order by issue. The strongest or most nostalgic verified material can move upward; utility sections like source trail and verification should usually stay near the bottom. - Use `sectionChrome` to rename labels and section titles when the day calls for it. Avoid generic reuse like "Modem Desk" every morning if a more issue-specific label fits. Important files: - `computer-chronicle/index.html` - rendered page shell. - `computer-chronicle/assets/chronicle.js` - client-side renderer. - `computer-chronicle/data/issues.json` - public structured issue data. - `computer-chronicle/validate-issue-data.mjs` - validation script for archive order, 1982 weekly sequence mode, source references, image files, and public prompt-safety checks. Before publishing a Chronicle update, run: ```bash node computer-chronicle/validate-issue-data.mjs ``` ## Image prompt gallery The Daily GPT Image 2 prompt gallery lives at `/experiments/image-gen-2-benchmark/`. Important files: - `experiments/image-gen-2-benchmark/index.html` - `experiments/image-gen-2-benchmark/prompts.json` - `experiments/image-gen-2-benchmark/gallery-data.json` - Image assets under that experiment's folders. Keep prompt records factual: prompt text, date, model/context if already tracked, and the generated image path. Do not invent prompts or dates. ## AI sounds AI sounds live in `/ai-sounds/`. The page preserves AI-generated tracks copied from Discord's AI Sounds channel. Future updates should keep the focus on individual tracks: title, file, duration/size/date where known, prompt idea, recipe, context, and audio file. Do not invent generic artwork. If adding per-track images, use artwork Jez provided or explicitly approved. ## Games, weather, ops, and prototypes - Add new playable experiments through `/games/index.html` using the existing card and link patterns. - Weather console changes should stay inside `/weather/` unless the home-page card also needs copy or art updates. - Ops/stat pages should stay inside `/ops/` unless promoted to the home page. - Hidden Reef prototype work belongs under `/prototypes/hidden-reef/` unless Jez asks to deploy it elsewhere. ## Home page The home page is a workbench hub. If adding a major new site section, update both: - the card grid in `/index.html` - the assistant-facing overview in this `llms.txt` Do not use `content/site.json` as the only source of truth for the current home page; the live home card grid is currently hardcoded in `index.html`. ## Output to Jez When proposing or completing a site update, report: 1. What changed. 2. The exact files changed. 3. Any commands run to validate or regenerate data. 4. The commit hash if pushed. If the task involves an uploaded image and you are not directly editing the repo, provide: 1. Destination page. 2. Image filename/path. 3. HTML snippet and insertion point. 4. Suggested commit message. Do not invent plant IDs, cultivars, dates, prompts, track details, news items, or history. Ask if the subject or destination is genuinely ambiguous.