Repository navigation
Add fanout regression receiving example [skip ci] [skip actions] - #101
Conversation
Exercise the existing TestPilot regression command on the published fanout0317 and owner15 522c revisions with three unchanged authored tests. The completed native course observed one precise missing-row failure before and all76 cases passing after; both runs retained164 passing subtests. Preserve the frozen executable receiver, source and input identities, and compact native qualification under one new receiving directory. No production module or workflow changes. [skip ci] [skip actions] skip-checks: true
Jacob-Met
left a comment
There was a problem hiding this comment.
Accepted within the stated receiving scope at commit 574555c6fa5412811fcf9cf6963f0bfe63b0daa7 (tree 06621982a9dd96ab7efe2587a5c2f7e5561733b6). I fetched all six published leaves by that immutable ref, recomputed every Git blob and SHA-256, and matched the reviewed files. The four executable inputs also match the completed native archive byte-for-byte.
Independent native receiving review for the published fanout regression example.
I reviewed the frozen driver and inputs before running one actual python -B -m testpilot regression course on hamon-thinkpad (Python 3.14.4, pytest 9.0.2, Git 2.53.0). TestPilot was pinned to b751e1c; fanout was 0317b4bc80638a8e952857aa5966b0e20d1fab72 before and the existing PR15 owner's 522c40bd3f40359d598b62cf2947d74b14c20a31 after.
Native result: verified_regression, zero reported model calls, all 17 frozen receiving checks accepted. The before report contains 69 maintained cases plus 3 retained cases: 71 passed and exactly 1 failed. The after report contains 73 maintained cases plus the same 3 retained cases: all 76 passed. Each raw pytest output separately records 164 passed subtests; those are not added to the JUnit case counts.
The sole failed-before/passed-after witness is test_missing_ready_row_surfaces_existing_ledger_error_without_submission, with before failure AssertionError: LedgerError not raised. The callback-state and transactional-admission retained cases pass in both revisions. The fixture honestly remains authored input, with the retained bytes unchanged at SHA-256 dd35698b41ae63f6d2117849e301bb04fcd3673afae18974160c960d2cb9e3b2.
The full command report preserves every native case, raw pytest output, source inventory and comparison. Both reported source snapshots matched their frozen identities; all 27 receiving input payloads, the working checkout/index and five earlier native evidence artifacts were checked for preservation. Git transport preserved the original shallow boundary and exact commits/trees; no fetch or install was performed.
Raw native evidence: 493,079-byte archive, SHA-256 91bb6320c6917d7037e583fc2ccc676e906efb9e8d2a2d2da2c94e396c6814e1 (59 TAR members / 58 payloads). Complete regression JSON is 48,535 bytes, SHA-256 ed97ba544a996bf1657aff19c47a55259c957b986206138b7ddd3aab2e60e11f. The first local export hit ENOSPC; its partial bytes were preserved and the same sealed native archive was fully recovered and rehashed, without repeating the course.
Acceptance is bounded to this existing regression CLI, exact authored fixture, source pair and native environment. It is not a performance result, a model-generation/provider qualification or a claim about current main. The guide correctly preserves these boundaries and distinguishes full maintained collection from retained-byte preservation.
Why
TestPilot's paired-revision command already exists, but a receiving course should demonstrate its complete result on an actual published estate change. This example connects it to the fanout indexed-eligibility change and preserves an exact authored regression witness.
What changes
Six new files under
docs/receiving/fanout-regression-3163ad952d45/provide a runnable receiver, an honestly labeled authored retained-test input, exact source and case identities, a usage guide, and compact native qualification. The receiver invokes the maintainedpython -m testpilot regressionCLI and verifies every native maintained and retained case, the complete source/report identities, and source/worktree/index preservation.Tool source is
b751e1cff2b7902bbebd6e7040f764d49bcb1a46. Target revisions are fanout original0317b4bc80638a8e952857aa5966b0e20d1fab72and the existing PR15 owner's source,522c40bd3f40359d598b62cf2947d74b14c20a31. The three unchanged authored tests occupy a distinct retained path, preserving the owner's four added maintained tests. Receiving scope claim.Actual native receiving
One ThinkPad course ran Python 3.14.4, pytest 9.0.2 and Git 2.53.0 with the frozen receiver and exact source objects:
The sole witness is the missing-ready-row
LedgerErrorcontract; before reportsAssertionError: LedgerError not raised. Both other retained methods pass. TestPilot returnsverified_regression, reports zero model calls, and supplies complete JUnit data with no timeout/error/skip. All 17 receiver checks passed. Source, input, worktree and index bytes remained unchanged.A teammate independently reviewed the actual command route, frozen inputs and receiver before execution. I then independently re-derived all 69/73 maintained identities from the original Git objects and compared every actual result and retained identity with the complete native report. The final guide and qualification were independently checked against that report. No replay was needed.
Native archive: 493,079 bytes, SHA-256
91bb6320c6917d7037e583fc2ccc676e906efb9e8d2a2d2da2c94e396c6814e1.Complete report: 48,535 bytes, SHA-256
ed97ba544a996bf1657aff19c47a55259c957b986206138b7ddd3aab2e60e11f.Source and scope
Published commit
574555c6fa5412811fcf9cf6963f0bfe63b0daa7, tree06621982a9dd96ab7efe2587a5c2f7e5561733b6, parentb751e1cff2b7902bbebd6e7040f764d49bcb1a46. The predicted tree adds only these six files and preserves all 1,551 base leaves.This is an executable receiving example for existing behavior. It changes no production module, model provider or workflow. Its witness is an error contract, not a performance result or model-generation quality claim. The source guide explicitly records the original shallow-bundle transport limitation and keeps 164 pytest subtests distinct from JUnit cases.
The sole workflow remains push-to-main/pull-request only. Commit, title and body retain skip markers; no Actions execution was requested.
[skip ci] [skip actions]