Repository navigation
feat: add experimental Python spec authoring - #372
Open
armstrongsam25 wants to merge 2 commits into
Open
armstrongsam25 wants to merge 2 commits into
armstrongsam25 wants to merge 2 commits into
Conversation
Contributor
|
@armstrongsam25 is attempting to deploy a commit to the Vercel Labs Team on Vercel. A member of the Team first needs to authorize it. |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
armstrongsam25
marked this pull request as ready for review
October 2, 2026 22:49
This branch has not been deployed
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.
Python backends currently have to assemble json-render's UI wire format by hand. This change adds an installable, typed Python package with
Spec,Element, andActionBindingdataclasses that emit the existing field names, check element references, and preserve event/state bindings and false/empty/null values.Catalogconsumes JSON Schema exported by the application's TypeScript catalog instead of recreating Zod in Python. It validates the supplied schema exactly, returns detached JSON, and does not fetch external references. This is a proposed first slice for #7; API naming, distribution ownership, dependency policy, and future native Python catalog definitions still need maintainer agreement. The package is alpha, source-install only, and has no PyPI publishing workflow.The current React export omits runtime
on,watch, andstatefields and is lenient about props when multiple components exist. The package documents those limits, preserves the original wire JSON, and checks event/action compatibility separately. Rendering, prompt generation, expression/action execution, streaming, and Pydantic catalog authoring remain outside this initial version.Validation:
pnpm type-checkpasses across all 60 tasks; web dependency and production builds pass; all 122 docs route/parity checks pass. Only the intentionally changed Specs-page parity entry was updated.Contributed by Sam Armstrong with Personal AI Labs.