Skip to content

Report provenance and apply write-back for compiled TypeScript views - #742

Merged
ctate merged 1 commit into
mainfrom
ctate/report-provenance-apply-851c7a
Oct 19, 2026
Merged

ctate merged 1 commit into
mainfrom
ctate/report-provenance-apply-851c7a

Conversation

@ctate

@ctate ctate commented Oct 19, 2026

Copy link
Copy Markdown
Collaborator
  • native automate provenance and native automate edit now work for TypeScript apps on compiled views under native dev. A view-reload build compiles its views with source attribution: each record names its element's file, UTF-8 byte span, line and column and the <use> sites that placed it, and each view lists its markup files with the hash of the bytes it was compiled from. The Debug decoder stamps this on the widget tree, so the app's provenance answers match the native markup interpreter's for the same markup, structural ids and iteration keys included.
  • Reloaded programs carry the same attribution, so an edit lands on the bytes on disk and the next reload reports the new bytes. The automation and TypeScript docs drop the note that write-back needs -Dtypescript-view=false.
  • Release builds, and Debug builds without view reload, are unchanged: identical core archives, contracts and exports, and identical stripped release binaries for the audited examples. A compiled-core battery compares provenance responses with the interpreter's for every widget and drives an edit from the compiled span.

- `native automate provenance` and `native automate edit` now work for TypeScript apps on compiled views under `native dev`. A view-reload build compiles its views with source attribution: each record names its element's file, UTF-8 byte span, line and column and the `<use>` sites that placed it, and each view lists its markup files with the hash of the bytes it was compiled from. The Debug decoder stamps this on the widget tree, so the app's provenance answers match the native markup interpreter's for the same markup, structural ids and iteration keys included.
- Reloaded programs carry the same attribution, so an edit lands on the bytes on disk and the next reload reports the new bytes. The automation and TypeScript docs drop the note that write-back needs `-Dtypescript-view=false`.
- Release builds, and Debug builds without view reload, are unchanged: identical core archives, contracts and exports, and identical stripped release binaries for the audited examples. A compiled-core battery compares provenance responses with the interpreter's for every widget and drives an edit from the compiled span.
@vercel

vercel Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
native-sdk Ready Ready Preview, v0 Oct 19, 2026 12:17am UTC
native-sdk-schema Ready Ready Preview, v0 Oct 19, 2026 12:17am UTC

@ctate
ctate merged commit ff108d0 into main Oct 19, 2026
63 of 65 checks passed

This branch was successfully deployed

2 active deployments
Preview – native-sdk — 79ed1a8f Deployed Oct 19, 2026 by vercel[bot]
Preview – native-sdk-schema — 79ed1a8f Deployed Oct 19, 2026 by vercel[bot]
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