Skip to content

feat(extension)!: add process and model MEP support - #54

Merged
DamianReeves merged 27 commits into
mainfrom
feat/process-mep-extension
Oct 28, 2026
Merged

DamianReeves merged 27 commits into
mainfrom
feat/process-mep-extension

Conversation

@DamianReeves

@DamianReeves DamianReeves commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

Add a standalone Rust process extension alongside Extism WASM, using the maintained Python compiler. Process users need neither Python nor Rust installed. Both routes retain legacy MEP 0.1 and implement exact 0.2.0-draft.1 with bounded JSON Library model transport for IR3/4. Unsupported Ion profiles, distributions and guarantees are refused explicitly.

  • Pin published morphir-extension-sdk=0.4.0; pair CLI 0.1.1 with exactly native 0.1.2. Compiler/extension version is 0.5.0.
  • Serve bounded Content-Length sessions with canonical numeric/string IDs, fixed negotiated capabilities, notification silence and shutdown/exit.
  • Build five process platforms through the existing wheel matrix. Check installed offline operation, Python API results/diagnostics, changed installed bytes and Windows runtime independence. Qualify the extracted process archive, runtime switching, unsupported platforms, real Rust hosts and repeated timing samples.
  • Require the shared executable MCK's independent Python JSON profile and saved-report recheck on every producer. Bind transferred evidence to exact artifacts, source, checker, corpus, lockfiles, claims and complete case identities. Preserve foreign filesystem paths. Stage both runtimes, separate descriptors and raw evidence; approved extension tags publish only the qualified set.

Windows checker setup uses a short scoped Cargo cache and explicit parent/submodule Git settings. The source-integrity guard remains enforced before and after compilation; an actual tracked edit is refused and preserved. Full build logs and a manual Windows diagnostic mode make setup failures inspectable. Existing MoonBit rich-Ion checks and historical WASM releases are preserved. No general performance claim is made.

Validation: local mise run check passes 2,632 tests with five intentional skips, strict typing and BDD. Rust checks, the independent consumer, actionlint, site checks and 14 strict OpenSpec validations pass. Full candidate 40726356123 succeeds at bce5d85 on all five native targets and portable WASM, including 546 canonical observations and saved rechecks. Real host checks, ten timing samples, extracted-archive runtime switching, installed-byte integrity and platform refusal pass. Local audit verifies all 39 staged assets, every final checksum, all 11 process archive payload/mode entries, and all six report/recheck pairs. A real incomplete four-platform set is refused. Historical WASM releases remain available.

Final bookkeeping commit d16b917 changes only docs, tasks and normative specs. Production code, package versions and qualification definitions are identical to the qualified candidate. All 16 implementation tasks are complete and main specs are synced. SDK publication and the upstream MCK profile are complete. The change remains active for approved component publication and final archival; no new Python/native/plugin tags have been published. The documentation site is already merged and deployed through #53/#55. Refs morphir-5hxy.

DamianReeves added a commit that referenced this pull request Oct 28, 2026
Finalize the completed `add-documentation-site` change after the MoonBit-style site was deployed in #53. Sync the site, examples and CLI-integration requirements into the main specs, archive the completed change, repair archived design asset links and retain the public deployment verification record.

The published site at https://finos.github.io/morphir-python/ uses the MoonBit blue/orange palette and split hero, code window, pipeline and feature-card layout. Production verification checked all 21 manifest file digests against deployed source d02f260, desktop/mobile themes, navigation, search and clipboard behavior. CI 40657687946 and Pages deployment 40658741564 passed for that source; this PR changes specification records only.

Validation: `openspec validate --all --strict` passes all 13 current items. The archive retains all 22 completed tasks and the original proposal/deltas. The process-extension implementation remains separate in #54.

Refs morphir-ukvn.9.
Rust consumers must use published morphir-extension-sdk =0.4.0 with
binding 0.5.0. Pair CLI 0.1.1 with native 0.1.2; bridge API stays 1.

Both real runtimes pass the independent Python JSON MCK profile and
saved canonical rechecks, including exact IDs and negotiated limits.
Run the pinned shared checker and saved-report recheck on every producer. Bind transferred observations to exact source, artifact, checker, corpus and discovery identities before assembly and promotion.
Disable checker debug information and incremental objects. Local upstream development artifacts exceed 17 GiB; release runners also need the compiler and independent host builds. Keep dev optimization and record both settings in the checker receipt.
Sync the verified model transport and process contracts. Record all-platform canonical MCK, archive, host and promotion evidence. Keep operational publication and archival pending maintainer approval.
@DamianReeves
DamianReeves marked this pull request as ready for review October 28, 2026 17:39
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-28T17:41:39.740444Z d16b917 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@DamianReeves DamianReeves changed the title feat(extension): add model transport and process MEP support feat(extension)!: add process and model MEP support Oct 28, 2026
@DamianReeves
DamianReeves merged commit f2032e3 into main Oct 28, 2026
13 checks passed
@DamianReeves
DamianReeves deleted the feat/process-mep-extension branch October 29, 2026 06:07
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