Skip to content

[TS PBT] Keep complete bounded samples usable for relation guidance - #610

Open
CaelmBleidd wants to merge 1 commit into
caelmbleidd/pbt-relation-campaignfrom
caelmbleidd/pbt-bounded-observation-guidance
Open

CaelmBleidd wants to merge 1 commit into
caelmbleidd/pbt-relation-campaignfrom
caelmbleidd/pbt-bounded-observation-guidance

Conversation

@CaelmBleidd

Copy link
Copy Markdown
Member

With the public default of 100 PBT runs, the bounded observation recorder retained only part of the run and all relation guidance was disabled by INCOMPLETE_CAPTURE. The public regression first failed on unchanged #603: enough recorded equality samples agreed, but the campaign made no auxiliary attempt.

A sampled relation now describes only the complete retained sample. INVOCATION_LIMIT, INCOMPLETE_CAPTURE and TRUNCATED_INVOCATION remain visible sampling warnings. The same support gate is used by inference, guidance selection, entry binding and local binding; it does not copy or fabricate relation status/evidence. Source, identity, repeated-point, context, value and genuinely insufficient-support failures remain blocking.

The recorder adds one optional invocation field: pointsTruncated is false for a whole point capture, true when point data was lost, and null when an older producer supplied no marker. Truncated invocations remain in the raw concrete observations but supply neither pair evidence nor independent support. Unattributable legacy or inconsistent point drops remain blocking. This prevents byte/point limits from making a partial pair or a hidden repeated point appear complete.

The JSON trace retains original recorded observations, source identity, sampling limitations and dropped/omitted counts. SAMPLED never claims agreement on unrecorded PBT executions, and executable-build status remains UNVERIFIED. Queries still refute each relation independently; no global symbolic assumption is added.

Validation

  • Exact red public regression on Guide one USVM phase with bounded empirical relation challenges #603 44a3f85a57ac8a90ea1caf1a390ff09b27def60b, followed by green public 100-run execution, native confirmation and retained unrestricted original search.
  • 77 Kotlin tests passed: inference/domain/selection, entry/local binding and refuters, and public relation campaigns. Controls cover bounded entry admission, partial records, legacy/current JSON, repeated/mismatched/non-numeric/nested/incomplete records and insufficient independent samples.
  • 50 native recorder/compiler-capture tests passed, including complete byte-budget accounting and point-truncation markers.
  • Strict Detekt passed for all changed Kotlin files; diff checks passed.

12 files, +230/-25. Based directly on #603 at the SHA above, rechecked before publication. No experiment, selector, core, README or merge changes.

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