Skip to content

generator: reproduce the live site byte for byte - #35

Merged
207studio-founder merged 1 commit into
mainfrom
chore/generator-sync-2026-11-02
Nov 2, 2026
Merged

207studio-founder merged 1 commit into
mainfrom
chore/generator-sync-2026-11-02

Conversation

@207studio-founder

Copy link
Copy Markdown
Contributor

Running the _products generator now reproduces the committed site exactly. Generated into a temp copy, then diffed with diff -rq against the repo: empty.

  • The Rust generator writes sitemap.xml, robots.txt, llms.txt and llms-full.txt. blog-gen.mjs no longer writes sitemap or llms, so the two scripts can't overwrite each other.
  • The hand-written llms text moved to _products/templates/ with {{products}}, {{writing}} and {{ko_products}} slots.
  • New optional data fields:
    • site-data.json: lastmod (pairy-core-sdk 2026-10-30), ko_name/ko_summary, llms_detail, meta_description.
    • posts.json: lastmod.
  • send-approval-gate-mcp: the live page uses "…source included." in its JSON-LD and "…source." in its meta, og and twitter descriptions. description keeps the first and meta_description holds the second.

Live files are unchanged. git diff origin/main is empty for sitemap.xml, robots.txt, llms.txt, llms-full.txt, CNAME, _cloudflare and every HTML page. check_llms.py passes.

Known quirk, kept on purpose: llms-full.txt has Includes:\n- text\n- links under Scan-to-Grade, which is field names rather than items. The generator reproduces it. Fix it in both places in a later change.

🤖 Generated with Claude Code

- Rust generator owns sitemap.xml, robots.txt, llms.txt and llms-full.txt;
  blog-gen.mjs no longer writes the first two.
- Hand-written llms text lives in _products/templates with {{slots}}.
- site-data.json gains optional lastmod, ko_name, ko_summary, llms_detail
  and meta_description; posts.json gains lastmod.
- robots carries the AI-crawler rules; sitemap carries every live entry.

Running the generator into a temp copy gives an empty diff against the site.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
207studio-founder added a commit that referenced this pull request Nov 2, 2026
With an empty product list the Rust generator leaves the hand-written
/products/ redirect stubs alone, drops /products/ and /ko/products/
from the sitemap, and prints the llms Products heading only when there
is something to list. The llms templates now match the live text.
Running the generator, blog-gen.mjs and walk-gen.py on a clean copy
reproduces the tree byte for byte; the #35 product data still does too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@207studio-founder
207studio-founder marked this pull request as ready for review November 2, 2026 18:38
@207studio-founder
207studio-founder merged commit e162822 into main Nov 2, 2026
1 check passed
@207studio-founder
207studio-founder deleted the chore/generator-sync-2026-11-02 branch November 2, 2026 21:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant