Skip to content

refactor(host): migrate pd-edge to ABI25 descriptors - #2

Merged
fffonion merged 9 commits into
masterfrom
subagent/pd-edge-remove-legacy-abi-feature-12e2b155
Sep 18, 2026
Merged

fffonion merged 9 commits into
masterfrom
subagent/pd-edge-remove-legacy-abi-feature-12e2b155

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.

pd-edge migration and others added 9 commits September 17, 2026 03:26
…eturns

- Pin pd-vm and pd-host-function to the frozen RustScript descriptor core
  b1d6cffede77f49410bf63525f30b9a46b02dc01 (git deps) and refresh Cargo.lock.
- Edge macro: one return-type normalization in the async transform. The
  authored body is awaited into an explicitly typed VmResult<CallOutcome>,
  so unannotated Ok(CallOutcome::...) bodies infer without per-call-site
  annotations (335 E0282/E0283 -> 0).
- Frozen core returns VmResult from set_async_bridge/clear_async_bridge and
  reports reset failures/close-pending through reset_for_reuse +
  poll_reset_for_reuse: handle the results and only pool a VM that reached a
  clean quiescent reset.
Join ABI declarations with generated adapters into HostFunctionDescriptor,
install them transactionally, and keep linkme as discovery metadata only.
Keep abi.json as the full-surface snapshot and fail the crate test when it
drifts from a --all-features generator run.
Cover the exact SHA lock, every checked-in .rss program, MQTT sample
inference fixes, and the documented raw/dynamic descriptor boundaries.
Record the named MqttEvent catalog overlay as an explicit ABI-version and
fingerprint change. Coarse mqtt::connection::read_event wire type stays map.
…tadata

Install published ABI adapters through the frozen-core exact catalog path
and authorize restricted registries in the same transaction. Overlay closed
mqtt::connection::read_event as Named MqttEvent, keep remaining header and
query maps on an explicit allowlist, and declare per-function raw-handle
modes for every handle family including apply_exchange*.
Route production and test compile helpers through the edge catalog so
exact import identity is preserved. Repair the MQTT broker sample and
sweep all 26 checked-in RSS fixtures with no accepted-error escape.
Frozen pd-vm's optional edge-abi depends on crates.io pd-edge-abi 0.1.1
(ABI24). HTTP now compiles against the in-tree ABI25 catalog only.
Architecture tests cover the feature graph and catalog contracts.
Keep master's ABI25/host-descriptor work and drop vm/edge-abi so HTTP
stays on the in-tree catalog. Resolve Cargo.lock and dependency pin
tests onto the candidate: no registry ABI24 family, frozen core pin
b1d6cffede77f49410bf63525f30b9a46b02dc01 unchanged.
@fffonion
fffonion merged commit c898672 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