You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[TS PBT] Guide relational and metamorphic properties across multiple executions #401
Part of the full #345 delivery. Builds on #395, #351/#352/#353 and the observation/projection contracts in #396/#398.
Delivery stage
This is a stage-two extension of #345. Complete and record the core assessment in #405 before accepting this extension's end-to-end integration and results. Literature, interface design and focused experiments may start earlier; the extension never blocks #355 or #405.
Reuse the completed core contracts. This issue owns any extension-specific changes to observation, binding, scheduling, replay, shrinking and feedback integration, with focused follow-up PRs; do not retroactively broaden #351/#352 or require already completed core issues to reopen. A negative or inconclusive pilot is recorded honestly and informs design; it does not silently cancel this full-roadmap obligation.
Publish a separately identifiable extension configuration and evaluate it against the same original oracle with the extension disabled. Its final held-out evaluation belongs to #357 and is reported separately from the development pilot.
Goal
Exploit human-written relations between executions, including round-trip, idempotence, commutativity and reference equivalence, as first-class search and observation contexts.
Scope
Reuse original TypeScript predicates that call the tested program multiple times. Add declarative relation/context metadata only where it enables pairing or selection; do not require a second manually rewritten oracle.
Model shared symbolic base inputs and the stated transformations between executions. Preserve correlation instead of treating the calls as independent random samples.
Specify when calls share predicate-local state and when independent runs need fresh state. Follow ordinary user-code semantics; never silently clone away intended aliasing/mutation.
Compare direct search for the relational assertion with observation-guided search for its relevant intermediate relations. Correctly classify a false law/specification separately from a known implementation defect.
Include finite-float cases where a mathematical identity is false under JavaScript, NaN-sensitive equality, duplicate-sensitive collections and a relation requiring more than one execution.
Shrink the shared base input or related input tuple while preserving the transformation/relationship and the same failed assertion.
Definition of Done
Round-trip and idempotence plus at least one of reference equivalence/commutativity have meaningful real or curated examples with original concrete oracles.
A multi-execution observation changes a symbolic target and its candidate is confirmed through the complete TypeScript relation.
Correlation, mutation/isolation, wrong relation scope and unsupported transformations have explicit fixtures.
Part of the full #345 delivery. Builds on #395, #351/#352/#353 and the observation/projection contracts in #396/#398.
Delivery stage
This is a stage-two extension of #345. Complete and record the core assessment in #405 before accepting this extension's end-to-end integration and results. Literature, interface design and focused experiments may start earlier; the extension never blocks #355 or #405.
Reuse the completed core contracts. This issue owns any extension-specific changes to observation, binding, scheduling, replay, shrinking and feedback integration, with focused follow-up PRs; do not retroactively broaden #351/#352 or require already completed core issues to reopen. A negative or inconclusive pilot is recorded honestly and informs design; it does not silently cancel this full-roadmap obligation.
Publish a separately identifiable extension configuration and evaluate it against the same original oracle with the extension disabled. Its final held-out evaluation belongs to #357 and is reported separately from the development pilot.
Goal
Exploit human-written relations between executions, including round-trip, idempotence, commutativity and reference equivalence, as first-class search and observation contexts.
Scope
Definition of Done