Repository navigation
Rollout: serve /llms.txt in production - #59
Merged
Merged
Conversation
Cloudflare Preview DeployedPlayground: https://schematics-playground-pr-59-srgubgtlrwmvglpx.bjacobso.workers.dev Built from commit 2026-10-08T05:21:46.129Z This comment updates automatically with each push. |
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 free
to 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.
/llms.txtstill serves the playground HTML after #58 because Alchemy skipped the frontend deployment. Fix the playground input hash so public assets trigger a rebuild/upload, then fail production deployment verification if the canonical URL serves an app shell.Cause and evidence:
caf21caexplicitly planned[Playground] noopand updated only the API/build-SHA binding. The new frontend asset and_headerswere never uploaded.Cloudflare.Website.Vitehashes memo globs relative torootDir(apps/playground). The configuredapps/playground/**,alchemy/**, andpackages/**globs were repository-relative, so the added public files did not affect the input hash.public/llms.txtleaves the original hash unchanged and changes the corrected hash./llms.txtmanifest entry and theContent-Type: text/plain; charset=utf-8header rule. Its normal handling supports both the public asset and_headerswith SPA fallback enabled. The fallback is serving HTML because the old frontend remains deployed; changing CDN query strings does not repair the skipped upload.Changes:
alchemy/playground-memo.ts, use globs relative to the Vite root, and explicitly include the nearest lockfile. Public assets, source, and repository/workspace build inputs now invalidate the memo; ignored build output remains excluded._headers, workspace inputs, ignored output, and asset/header inclusion with SPA fallback enabled. Include their shared inputs in the Turbo test cache key.Smoke Cloudflare production llms.txtimmediately after the production deploy. It GETshttps://schematics.run/llms.txtwith a 15-second timeout and fails unless status is 200, content type istext/plain, and the body starts with# Schematics. Status, MIME, andcf-cache-statusare logged for diagnosis.Verification:
pnpm checkpassed: formatting, agent-doc validation, 270 package tests, types, builds, built docs validation, and local HTTP smoke.pnpm turbo run test --filter @schematics/serverpassed again after the final Turbo cache-input adjustment./llms.txtand the text header rule.200 text/htmlresponse, so the previously green broken deployment would now fail.pnpm format:checkandgit diff --checkpassed.Template IDs: repairs production
llms-txtand makesllms-linksreachable through the deployed entry point; extendsllms-testedto production HTTP verification. Existing document links and their offline validation remain intact.No manual deployment or merge was performed. Live production validation awaits the existing pipeline after merge.
Final status: root cause reproduced, fix and regression checks passing, ready for review; production verification pending merge/deployment.
Open workspace in Conductor