Skip to content

Preserve setup-time driver invariants - #439

Merged
jarcherNV merged 5 commits into
dev/jarcher/inference-runtime-apifrom
dev/jarcher/input-cleanup
Aug 11, 2026
Merged

Preserve setup-time driver invariants#439
jarcherNV merged 5 commits into
dev/jarcher/inference-runtime-apifrom
dev/jarcher/input-cleanup

Conversation

@jarcherNV

Copy link
Copy Markdown
Collaborator

Keep setup-time DriverInvariantError exceptions out of normal setup error policy handling in both batch and realtime demo drivers. Add regression coverage for setup invariant propagation and document MP4 generation handling across realtime resets.

Keep setup-time DriverInvariantError exceptions out of normal setup error
policy handling in both batch and realtime demo drivers. Add regression coverage
for setup invariant propagation and document MP4 generation handling across
realtime resets.
@greptile-apps

greptile-apps Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR moves Lingbot demo input preparation from the legacy mapping layer into a model-owned provider while preserving legacy behavior in tests. It also ensures setup-time driver invariant errors propagate directly, narrows compatibility-runner support to mapped scenarios, relaxes Lingbot session startup to support provider-prepared inputs, and documents continuous MP4 recording across realtime resets.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
flashdreams/flashdreams/runtime/demo/drivers.py Setup-time DriverInvariantError exceptions now bypass normal setup-error policy handling while retaining edge finalization.
flashdreams/flashdreams/runtime/demo/replay.py Replay run mode now supports model-owned providers without mappings, while compatibility runners continue to require a mapping.
integrations/lingbot/lingbot/demo/adapter.py Scenario preparation now stores provider-owned Lingbot input data in metadata instead of constructing a legacy mapping and canonicalizer.
integrations/lingbot/lingbot/demo/providers.py Lingbot input preparation now directly owns trace loading, live-camera integration, keyboard state, text-event prompts, and reset state.
integrations/lingbot/lingbot/webrtc/session.py Session startup now requires an initialized rollout rather than a legacy input mapping, enabling provider-prepared session inputs.
integrations/lingbot/tests/test_demo_providers.py Provider behavior is compared with the legacy mapping path for initialization, trace slicing, live controls, skipped inputs, text events, and resets.

Sequence Diagram

sequenceDiagram
  participant Driver
  participant Adapter
  participant Provider as LingbotInputProvider
  participant Session
  participant Sink
  Adapter->>Provider: create from PreparedScenario metadata
  Driver->>Provider: prepare_initial_input()
  Driver->>Session: start/reset(initial input)
  loop each input window
    Driver->>Provider: prepare_step(requirements, window)
    Provider-->>Driver: camera tensors and prompt update
    Driver->>Session: step(prepared input)
    Session-->>Driver: StepResult
    Driver->>Sink: write(result)
  end
  Driver->>Provider: reset() on generation reset
Loading

Reviews (5): Last reviewed commit: "Update LingBot input mapping test for sh..." | Re-trigger Greptile

Make the migrated LingBot demo provider convert UserInputWindow values directly
into model InferenceInput, including trace slicing, live camera integration,
skipped WebRTC input catch-up, and text-event prompt updates.

Allow shared replay runs to use mapping-free model providers while keeping
legacy compatibility runners mapping-gated, and update LingBot parity coverage
against the old mapping path.
Update the LingBot WebRTC inference-session startup path so shared demo
sessions only require an initialized rollout, not the legacy input mapping.
Clarify the remaining direct-session compatibility path and add assertions
that the migrated LingBot WebRTC demo uses a mapping-free shared scenario.
Adjust the event-driven LingBot scenario test to assert the migrated
mapping-free shared provider behavior. The test now drives the scenario through
LingbotInputProvider instead of expecting PreparedScenario.mapping to contain a
legacy LingbotInputMapping.
@jarcherNV
jarcherNV merged commit c2adab2 into dev/jarcher/inference-runtime-api Aug 11, 2026
8 checks passed
@jarcherNV
jarcherNV deleted the dev/jarcher/input-cleanup branch August 11, 2026 08:55
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