Skip to content

Remove the vendored makepad VM; the fork's octoscript branch is the source - #23

Merged
ymote merged 1 commit into
mainfrom
chore/remove-vendored-makepad
Sep 13, 2026
Merged

ymote merged 1 commit into
mainfrom
chore/remove-vendored-makepad

Conversation

@ymote

@ymote ymote commented Sep 13, 2026

Copy link
Copy Markdown
Collaborator

Since #22, octoscript-core and octoscript-capabilities take makepad-script by git from OctoSense-org/makepad at 1fdce273bf888239079754a1834734635eaed34f, which is the head of the fork's octoscript branch (merge of fork PR #1, which carried Octoscript's VM hardening there). The vendored copy under vendor/makepad is no longer built or depended on, so this removes it and repoints everything that referenced it.

Changes

  • vendor/makepad removed (153 files). Cargo.toml drops the workspace exclude; .gitignore drops vendor/makepad/target/.
  • CI (.github/workflows/ci.yml): the makepad-script and makepad-regex suites and the Miri reentrant_reload_of_the_active_body_does_not_keep_an_opcode_pointer regression now run as cargo test -p <pkg> / cargo +nightly miri test -p makepad-script .... Cargo resolves the packages from Cargo.lock, so CI needs no fork checkout and no second rev pin. Verified locally that both -p selections build and the Miri test name resolves and passes.
  • UPSTREAM.md rewritten as the git-dependency policy: the VM comes from the fork's octoscript branch; the rev lives in the two manifests (fuzz inherits it via path deps and carries no pin); bumping means moving the rev in both, cargo update -p makepad-script, running the VM suites, and moving OctoSense and Octoscript-Makepad to the same rev in the same window; local patches are no longer carried here.
  • docs/vm-hardening-history.md (new): the content of the old vendor/makepad/PATCHES.md, unchanged, under a preface stating the changes were ported to OctoSense-org/makepad octoscript on 2026-09-13 (fork PR UI Profile Level 0: a canonical profile for LLM-authored UI #1) and no longer live here.
  • Docs and prose reference sites: CONTRIBUTING.md, README.md (baseline bullet, VM bootstrap paragraph, crate list), docs/development.md (VM test commands, parser-fix guidance, syntax-fuzzing note), docs/positioning.md, docs/scoped-state.md, docs/makepad-ui-compatibility.md now describe the dependency instead of the import.
  • NOTICE: Makepad and smallvec attribution kept; only the "vendored" wording and the vendor/makepad/libs/smallvec/ path were adjusted, since the git dependency still ships that code.
  • fuzz/Cargo.toml needed no change: it has no path dependency on the vendor tree.

Verification

  • cargo check --workspace --all-targets: clean.
  • cargo test --workspace --no-fail-fast: 988 passed, 2 failed. The two failures are the pre-existing octoscript-ui-l0 profile.rs catalog-drift tests (the_field_vocabularies_match_the_toml_spec, the_source_catalog_matches_the_toml_spec), unrelated to this change.
  • RUSTFLAGS='--cfg fuzzing' cargo +nightly check --manifest-path fuzz/Cargo.toml: clean (the fuzz targets need the fuzzing cfg, as CI already sets).

Not touched: rustdoc comments and function names in crates/octoscript-core/src/lib.rs (e.g. restrict_vendored_module_surface) and prose in SECURITY.md, docs/grammar.md, docs/language-profile.md still say "vendored VM/parser". They contain no paths and are semantically loose rather than wrong; renaming them is a separate cosmetic pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_01JgSir4cQyaakzPju4h6smw

…ource

Since #22 octoscript-core and octoscript-capabilities take makepad-script by
git from OctoSense-org/makepad at 1fdce273 (the head of the fork's octoscript
branch, merge of fork PR #1 which carried Octoscript's VM hardening). The
vendored copy under vendor/makepad is no longer built or depended on, so
remove it and repoint everything that referenced it.

- Cargo.toml: drop the workspace exclude; .gitignore: drop the vendor target.
- CI: the makepad-script and makepad-regex suites and the Miri re-entrancy
  regression now run as `cargo test -p <pkg>`, resolved from Cargo.lock, so
  no fork checkout or second rev pin is needed.
- UPSTREAM.md: rewritten as the git-dependency policy (rev in the two
  manifests, bumped together with OctoSense and Octoscript-Makepad; no local
  patches carried here).
- docs/vm-hardening-history.md: the old vendor/makepad/PATCHES.md, kept as a
  history note behind a preface saying the changes were ported to the fork's
  octoscript branch on 2026-09-13.
- CONTRIBUTING.md, README.md, NOTICE, docs/development.md,
  docs/positioning.md, docs/scoped-state.md, docs/makepad-ui-compatibility.md:
  describe the dependency instead of the import. Makepad and smallvec
  attribution in NOTICE is kept.

Verified: cargo check --workspace --all-targets clean; cargo test --workspace
--no-fail-fast 988 passed, 2 failed (pre-existing octoscript-ui-l0 profile.rs
catalog-drift tests); RUSTFLAGS='--cfg fuzzing' cargo +nightly check
--manifest-path fuzz/Cargo.toml clean.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgSir4cQyaakzPju4h6smw
@ymote
ymote merged commit 5379eed into main Sep 13, 2026
4 of 8 checks passed
@ymote
ymote deleted the chore/remove-vendored-makepad branch September 13, 2026 22:42
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