Build Toward the Whole: PixelForge - #35
Merged
Merged
Conversation
The schema was published next to ops-state.json but nothing checked the document against it. The generator could write any shape and a hand edit would never be caught. Add a dependency free validator covering the schema subset in use, make the generator refuse to write a non conforming state, validate the committed ops-state.json in vitest, and expose ops:state and ops:validate npm scripts so the generator is a first class command. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01656XvdqNAVojSPQBtLZAAt
…ract The launcher wrote PixelForge.launchDraft.v1 to sessionStorage on Create In Editor but nothing ever read it, so every preset, quick create card, and template opened the default 1200 by 800 document. Introduce src/launchIntent.js as the single contract: the launcher writes it, the editor consumes it once on mount and opens the requested size. Template cards now seed the draft with their dimensions instead of ignoring them. Backgrounds the document model cannot fill yet are reported to the user instead of being silently replaced. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01656XvdqNAVojSPQBtLZAAt
The production home route rendered four hardcoded project rows with fake names, edit times, and sizes, and clicking any of them just opened the editor. PixelForge has no recent files store, so the list now renders an honest empty state. The row markup stays behind a recentFiles prop so a real source of truth can feed it later without a redesign. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01656XvdqNAVojSPQBtLZAAt
The health job fetched the live page and its assets but had no way to tell whether it was looking at the build that was just deployed or a stale one still being served, so a failed or partial upload could pass on the strength of the previous release. Vite now stamps index.html with the commit via a pixelforge-build meta tag, the deploy workflow passes github.sha into both the build and the health check, and the check fails when the served stamp is missing or differs. Local runs without an expected stamp still work and report the stamp as informational. The script is importable so its parsing and enforcement are covered by vitest against a local http server. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01656XvdqNAVojSPQBtLZAAt
The guide still said keys live in local storage and never leave the browser, and its setup steps omitted the CORS proxy that the H-1 remediation made mandatory, so a reader following it could never complete a generation. Describe session storage, add the proxy step, and state where each key actually travels. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01656XvdqNAVojSPQBtLZAAt
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
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.
Applies the Build Toward the Whole patch series.
Commits
Gate
npm test (Node 22) — 42 files, 300 passed— passing locally on this branch.Not for merge yet.