Skip to content

Source corpus-fixture expectations from runtime traces #808

Description

@khatchad

The vendored corpus fixtures encode what a human read off the subject's call sites. That reading can be wrong, and when it is, the fixture pins the wrong tensor type and the error persists as a green test.

Proposal: source those expectations from an actual run instead. The subject is executed under a tracing shim that records concrete argument types per traced function with no subject edits; the observed types become assert statements in the vendored Python fixture, verified to run to completion under python3.10; the JUnit expectations then mirror the asserts. That is the established fixture idiom here, with the one change that the source of truth is an observation rather than an inference.

Runtime evidence is bounded by exercised paths, so it cannot confirm that a fixture admits every reachable call site. It is decisive in the other direction: an expectation the run contradicts is simply wrong, and that is the class of error a hand-derived fixture cannot catch on its own.

Scope is the vendored corpus fixtures whose subjects actually run. Companion work on the refactoring side pins the emitted input_signature rather than the inferred tensor types, in ponder-lab/Hybridize-Functions-Refactoring#810; the two layers fail differently, since the consensus and drop-condition logic sits between a tensor type and the signature that gets written.

Metadata

Metadata

Assignees

No one assigned

    Labels

    workstream:precisionAriadne precision (corpus-fixture audit)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions