Skip to content

refactor(host): migrate compatibility frontends - #1

Merged
fffonion merged 7 commits into
masterfrom
subagent/compat-frontends-migration-fd3423ca
Sep 18, 2026
Merged

fffonion merged 7 commits into
masterfrom
subagent/compat-frontends-migration-fd3423ca

Conversation

@fffonion

Copy link
Copy Markdown
Contributor

Summary

Merge the independently implemented and reviewed host-descriptor/resource-effects migration candidate into the repository default branch.

Verification

  • Candidate SHA and dependency pins verified by the 19-repository final audit
  • Repository-scoped implementation review passed
  • Whole-change organization review passed

Merge method must remain merge commit so frozen dependency SHAs stay reachable from the default branch.

Replace the sibling path dependency with a full git rev pin so CI and
local builds resolve pd-vm, pd-host-function, and pd-host-schema from
b1d6cffede77f49410bf63525f30b9a46b02dc01.
Update Lua Call construction for the frozen arity, emit qualified
file-module namespace calls, and rewrite JS file-module alias.member()
calls into implicit externs the shared parser can lower.
Stage complex examples against a stub stdlib, unwrap SourceWithMap
diagnostics, drop the sibling rustscript checkout from CI now that
pd-vm is git-pinned, and rewrite git deps on crates.io publish.
Lower imported file-module member calls to alias::member in frontend IR
instead of flattening them to unqualified implicit externs or probing the
bare member first. Local objects, tables, builtins, and shadowed aliases
stay as member access.
Replace the synthetic strings stub with the exact b1d6cff strings.rss
fixture, run the four examples through the real mapped runner, keep
SourceWithMap spans on rejection, and rewrite pd-vm/pd-host-function git
deps to crates.io 0.1.0.
Parse original JS, fold only frozen-rewound file-module callees at original
offsets, then rewrite Call IR and the semantic index to alias::member while
keeping original callee spans. Mark Lua file-module qualified calls as
implicit externs so unknown members report the qualified symbol on the
call-site line. Guard README 0.1.0 pins.
Assign collision-free same-length placeholders before parse, reject
multiline callees that would move line mapping, and rewrite only the
span-matched implicit externs.
@fffonion
fffonion merged commit 6a64cc9 into master Sep 18, 2026
8 checks passed
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