Skip to content

History / python to rust migration

Revisions

  • docs(itinerary-planner): correct activities/transfers status — planner wiring shipped (travel#62), prod register pending The prior commit (f42679b) overclaimed activities + transfers as "verified live on prod (planner v48)". No v48 was registered — prod is still on planner v47. Corrected to the accurate state: - Hotels + Google Places: verified live on prod through the planner. - Activities + transfers: MCP tools return real data on prod as DIRECT tools; the planner routing to them shipped in travel#62 (commit 8cdbd8f), is accepted by the Rust runtime (registered on kind v12), and is validated locally — but the prod catalog re-register and the planner-routed live verification are still PENDING. - Flights (Duffel): pending test-token refresh. Also: migration page diamond now lists 6 call_* MCP steps (was 4); widget-contract page adds activity_list + transfer_list (renderers pending in the SPA).

    @kadyapam kadyapam committed Jun 26, 2026
  • docs: correct step-result accessor (drop .context) + add convergence-skip and arc-set-transience drifts §6 corrected: a python step's result is exposed downstream at the bare `{{ step.field }}` (and synthetic `{{ step.data.field }}`), NOT `{{ step.context.first_tool }}` nor `{{ step.context.data.first_tool }}` — both resolve null. Verified against prod execution 328414768463355904. §7 (new): exclusive arcs skip non-selected targets terminally; never point a shared convergence node at a conditional arc — route the odd branch through a noop that fans in unconditionally. §8 (new): arc-level `set: ctx.*` is one-hop-transient (not persisted as ctx.updated); reference the producing step directly for multi-hop reads. Refs noetl/ai-meta#135 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

    @kadyapam kadyapam committed Jun 25, 2026
  • docs: Python→Rust playbook migration gotchas + itinerary-planner conformance Adds python-to-rust-migration.md cataloguing the Python→Rust runtime authoring drifts surfaced migrating muno/playbooks/itinerary-planner: - tool kind must be a real Rust ToolKind (kind: agent → kind: playbook) - every workflow needs a `start` step - HTTP/callback bodies use json: not data: - bind inputs via input: (not ambient context.get) - the playbook tool returns child STATUS, not the child's result (gated #136) - step-result accessor paths nest under .context.data. (#135) Updates playbook-itinerary-planner.md: step table agent→playbook + start row, and a "Rust runtime conformance & known gaps" section (fixed parse, open routing path drift #135, gated MCP child-result async gap #136). Cross-linked from Home.md + _Sidebar.md. Refs noetl/travel#59, noetl/travel#60, noetl/ops#209, noetl/ai-meta#135, noetl/ai-meta#136

    @kadyapam kadyapam committed Jun 25, 2026