Skip to content

[TS PBT] Refute sampled entry relations independently - #576

Open
CaelmBleidd wants to merge 1 commit into
caelmbleidd/pbt-entry-refutation-basefrom
caelmbleidd/pbt-entry-refutation
Open

CaelmBleidd wants to merge 1 commit into
caelmbleidd/pbt-entry-refutation-basefrom
caelmbleidd/pbt-entry-refutation

Conversation

@CaelmBleidd

Copy link
Copy Markdown
Member

Sampled numeric entry relations can now be challenged independently of an original-property failure. The auxiliary query keeps the declared domain and complete original precondition, then searches for NOT(sampled relation) at the original predicate entry. A passing original property can therefore yield a confirmed hypothesis refutation without being reported as a property failure.

The candidate goes through the existing full native witness replay and shrinking path. The adapter owns the numeric entry comparison and records it only after admission; a native original FALSE or THREW still takes priority. Binding, stale source, unsupported admission, timeout, unknown solver result and failed input extraction remain separate outcomes. Exact entry transport binding does not upgrade the observation artifact's unverified executable-body status.

This is the entry-only part of #398 and reuses #353 confirmation. It does not close either issue: exact result/intermediate binding and one-time campaign consumption remain separate changes. The standalone refuter uses the supplied machine timeout; the campaign must supply its shared remaining budget and cancellation when integrating it.

Review scope and prerequisites

The PR targets caelmbleidd/pbt-entry-refutation-base at 29bfd78fe53da23e7f4ed9fe3881b53a43606b38 so its diff contains only this feature (11 files, +753/-13: +382/-13 production, +371 tests and fixtures).

The base combines main e56cea5018f5f04408083fe44be9a5212ae2600f, #544 4254b0987e1c5c4a23db894db1a1b27b24de8d75, #566 6fd488f54c4664b6a5ff240dcd0dd2db67908b3a, and #560 66fd1f3add914b8b3f309eaf391d1e01f67d6249. Its final compatibility commit only migrates inherited runtime-diagnostic assertions to the existing witness replay result API. No selector or campaign changes are included.

Validation

  • 42 related Kotlin tests passed: auxiliary/focused entry relation search, scalar capture, ordinary/DSL external witnesses, runtime limitation diagnostics.
  • 16 native external-witness tests passed, including real shrinking from [80, 0] to [1, 0], original-oracle priority, rejected admission, NaN, signed zero, infinities and malformed target rejection.
  • Strict Detekt passed for every changed Kotlin file; adapter TypeScript compilation and git diff --check passed.

These are local regression checks, not comparative experiment results. No benchmark campaign was run.

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