Skip to content

feat(engine): per-request tool dispatch and standalone adapters - #74

Merged
MMinasyan merged 3 commits into
mainfrom
feat/melta-engine-contract
Oct 25, 2026
Merged

MMinasyan merged 3 commits into
mainfrom
feat/melta-engine-contract

Conversation

@MMinasyan

Copy link
Copy Markdown
Owner

Changes

  • Replace the engine's invocation-wide context and tool advertisement with one request source supplying a complete validated model request per round; tool dispatch receives the producing request's advertised names, with the argument, extra and names containers handed to each call as owned copies, so a callback cannot alter the retained settled output or a sibling's authority.
  • The durable tool gate checks the committed call's name against the advertisement of the request that produced it; later requests and mutable caller data cannot broaden that authority.
  • Add the ordinary standalone adapters over the included transport (one attempt, completed/errored/interrupted settlement mapping, cancellation settled as interruption) and the tool map (copied at construction; missing, unadvertised or unregistered names settle as unavailable results). Document the client and loop as the independently usable engine surface.

Tests

  • Regressions cover per-round advertisement changes and mutation barriers, per-call owned dispatch names, argument and extra clone isolation, the producing-request gate with no retroactive authority from later requests, and adapter mapping rows including verbatim callback errors and a single physical attempt per invocation.
  • Full Go suite, race suite, frontend suite, protocol fixture corpus, generated-binding freshness and the Wails build passed.
  • A consolidated review round ran; its findings were fixed or dispositioned with recorded reasoning, and the follow-up fix passed a consolidated review.

@MMinasyan
MMinasyan merged commit 2b0996a into main Oct 25, 2026
2 checks passed
@MMinasyan
MMinasyan deleted the feat/melta-engine-contract branch October 25, 2026 01:52
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