Current State
- Interaction (core/trace.py:10): stores inputs, outputs, metadata but does not store interactionspec, or checks
- Trace.with_interaction(spec) (core/trace.py:134): calls spec.generate(trace) but discards the interactionspec object after so we can't use this info in subsequent interactions/checks
- Check.run(trace) (core/check.py): returns CheckResult β no inputs tracked, not stored in trace
- ScenarioRunner (scenarios/runner.py): stores check results in TestCaseResult, but these are disconnected from Trace
- JSONPath resolution (core/extraction.py:78): uses trace.model_dump() β will automatically expose any new fields added to Interaction