Repository navigation
Preserve original native history in bounded copies - #3829
Conversation
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
30c9cad to
b5da049
Compare
11cc10e to
c67acb5
Compare
|
debt-src at 83df817, every finding: |
9a139d5 to
8d93042
Compare
Type the harness hook and remove its new low-level type-only/error-import detours. The unallocated SQLite ID owns numeric refusal; both annotation sorts use it. Participant reads use the existing required-row decoder and preserve domain missing-row refusal. One unrun original-ID case added. Source-only: NRA syntax/compilation of six files, zero omissions; no Core subjects/MRO/SQL/store/pytest/provider execution. Hosted debt-src at parent is red; remaining import/native projection findings and preservation/application qualification remain open on same #3829.
Type the harness hook and remove its new low-level type-only/error-import detours. The unallocated SQLite ID owns numeric refusal; both annotation sorts use it. Participant reads use the existing required-row decoder and preserve domain missing-row refusal. One unrun original-ID case added. Source-only: NRA syntax/compilation of six files, zero omissions; no Core subjects/MRO/SQL/store/pytest/provider execution. Hosted debt-src at parent is red; remaining import/native projection findings and preservation/application qualification remain open on same #3829.
81c83d3 to
fafa769
Compare
|
debt-tools at 451610c, every finding: |
Type the harness hook and remove its new low-level type-only/error-import detours. The unallocated SQLite ID owns numeric refusal; both annotation sorts use it. Participant reads use the existing required-row decoder and preserve domain missing-row refusal. One unrun original-ID case added. Source-only: NRA syntax/compilation of six files, zero omissions; no Core subjects/MRO/SQL/store/pytest/provider execution. Hosted debt-src at parent is red; remaining import/native projection findings and preservation/application qualification remain open on same #3829.
fafa769 to
d02129a
Compare
Type the harness hook and remove its new low-level type-only/error-import detours. The unallocated SQLite ID owns numeric refusal; both annotation sorts use it. Participant reads use the existing required-row decoder and preserve domain missing-row refusal. One unrun original-ID case added. Source-only: NRA syntax/compilation of six files, zero omissions; no Core subjects/MRO/SQL/store/pytest/provider execution. Hosted debt-src at parent is red; remaining import/native projection findings and preservation/application qualification remain open on same #3829.
d02129a to
90f6d05
Compare
Type the harness hook and remove its new low-level type-only/error-import detours. The unallocated SQLite ID owns numeric refusal; both annotation sorts use it. Participant reads use the existing required-row decoder and preserve domain missing-row refusal. One unrun original-ID case added. Source-only: NRA syntax/compilation of six files, zero omissions; no Core subjects/MRO/SQL/store/pytest/provider execution. Hosted debt-src at parent is red; remaining import/native projection findings and preservation/application qualification remain open on same #3829.
90f6d05 to
891bc2a
Compare
Type the harness hook and remove its new low-level type-only/error-import detours. The unallocated SQLite ID owns numeric refusal; both annotation sorts use it. Participant reads use the existing required-row decoder and preserve domain missing-row refusal. One unrun original-ID case added. Source-only: NRA syntax/compilation of six files, zero omissions; no Core subjects/MRO/SQL/store/pytest/provider execution. Hosted debt-src at parent is red; remaining import/native projection findings and preservation/application qualification remain open on same #3829.
891bc2a to
b7fafd7
Compare
Type the harness hook and remove its new low-level type-only/error-import detours. The unallocated SQLite ID owns numeric refusal; both annotation sorts use it. Participant reads use the existing required-row decoder and preserve domain missing-row refusal. One unrun original-ID case added. Source-only: NRA syntax/compilation of six files, zero omissions; no Core subjects/MRO/SQL/store/pytest/provider execution. Hosted debt-src at parent is red; remaining import/native projection findings and preservation/application qualification remain open on same #3829.
Type the harness hook and remove its new low-level type-only/error-import detours. The unallocated SQLite ID owns numeric refusal; both annotation sorts use it. Participant reads use the existing required-row decoder and preserve domain missing-row refusal. One unrun original-ID case added. Source-only: NRA syntax/compilation of six files, zero omissions; no Core subjects/MRO/SQL/store/pytest/provider execution. Hosted debt-src at parent is red; remaining import/native projection findings and preservation/application qualification remain open on same #3829.
NRA source snapshots and compilation: five production modules plus one test, no omissions. Existing membership-query prefix is AST-identical; 85 existing annotations unchanged. Source checks only; no Core, MRO, SQL, store or test execution. Existing 29 authored scenarios still need the combined run.
The actual frozen90 integration run collected75:45pass/24fail/6setup errors. The selected-loading writer now enables the URI capability already used by reconcile; read-only ATTACH and rollback remain unchanged. Harness fixtures decode real UUID spellings; unresolved inputs receive actual registry entries. Incomplete-aggregate controls start with real owner registration and explicitly model foreign corruption by removing/restoring only the declaration-derived delete guard, keeping insertion membership intact and requiring schema before retention. NRA parsing and compilation of three changed modules:0 omissions,rc0. No author Core imports/MRO/SQL/pytest/provider execution. The original failed run is retained; corrected behavior and the wider original-data/native/physical journey are unverified.
The75-case891bc2 integration result is70passed/5failed/rc1. Four corruption controls asked only the base coordinator schema to validate a private root; use schema_at(source.path). The context control compared a restored read with a writer object before contributor JournalProvenance restoration; compare the complete original-store resolve at the selected source/record with the complete retained resolve. All coordinates, guard restoration, refusals, digest and allocation checks remain. Two test modules parsed and compiled through NRA, zero omissions, rc0. No product edits or author Core/SQL/pytest/provider execution. Both failed epochs retained; corrected behavior and original-data/native/physical acceptance remain unverified.
PracticeCopy pins selected source groups and drains each admitted writer separately before acquiring the original registry cut. No SQL lock is held while seeking another or the registry. Existing maintenance members own target/holder admission and unchanged-generation refusal. Source observations reject holder-side writes before accepting the materialization. Complete include and backup behavior is unchanged. Authored13 real-owner controls for admission, each of the four source writers, original registry association, holder side effects, hold generations and failure cleanup. Three changed modules parse and compile without execution. Controlled-copy tests, resource peak, original-data/native/physical acceptance remain OPEN; no replay or live/donor mutation.
Use existing NoMaintenanceHolder.acting inside the captured registry cut. Ordinary source writes now refuse before mutation, and the private target remains writable. Restore the original claim on every exit. Before/after source observations remain an additional fence. The declared target-only SelectedInputsProbe calls the complete selected operation before first include and through context/coordinator selection. Complete reader preflight refuses oversized groups; ordinary copies and backups remain unchanged. Exercise the decoded probe request and all four stores, donor-contained destination refusal and no-copy budget refusal. The preceding122-case execution is114passed/8failed/rc1. Seven cases met the real free-space guard on /tmp; exactly8affected cases passed in2.89s on fresh owned /home basetemp after fixing the stopped-thread oracle against unregister. Those are separate retained epochs, not122/122. Five correction modules compiled without executing subjects. New claim-scoped controls and original-data/native/physical acceptance remain OPEN.
7cbe0cb to
7a2b1f5
Compare
P1086: connect the selected request to the held workerCheckpoint 788302a, pushed to the continuing Owner repairBefore, After:
The operation finally has a route from its argument to its worker; previously the doorbell was installed on a wall with no door. Actual source checkThe existing installed Python3.14.8, with only this checkout's The first check compared the CLI subclass identity with the decoded base request and failed; the corrected check compares the declaration-owned request values. Both epochs are retained: Remaining delivery#3829 is merged, so it cannot land this next commit. The same-PR instruction needs correction to permit a linked successor repair PR; requested in bus56986. This comment preserves the continuing evidence on #3829 meanwhile. No substitute qualification carrier was opened. Assumed/Open: hosted checks and affected installer/rollback execution for this new source, original-data materialization/resource peaks and ordinary-reader comparisons, and the original configured-native/isolated-physical journey. The same original coordinates and3GiB selected allowance remain. No original store, uncertain input or credential was changed by the CLI/codec check. |
Original-history selected copy: 26 commits, 39 files, +2860 / -186
Shipped; original-data consumer in progress
Core#3829 merged as
012ec8f00f55992bde4302f6ffad05812af6319b. The installed runtime'sbuild.jsonindependently records that commit. Qualification-only#3871 is closed; its branch and both failed source-cut attempts remain preserved. The capture/recapture wait was removed from source landing.The installed ordinary readers now resolve the actual P867 selection: pi-mi birth
1792870523.265548, native sessionbc1b3764-382b-4c69-85c8-594e56b9e723at its original imported-session path, 6,274 context entries and 510 native rows. Saved context request80943 resolves throughContextManifestReference.read/the ordinary store reader; manifest digestd9e3efc8274e3dc4189d72e28fb8cab90a605e98cc9acb4e532c121c484d28ad. The read-only selection command exited0, used157,656KiB maximum RSS and left its capture destination uncreated. This is selection/read evidence; the actual worker materialization and native/physical reader journey follow.The encoded operation is
shared-board/p1086-original-selected-probe-01.json; its actual cap is3,221,225,472bytes.p1086-original-selection-01.{json,log,rc}retains the original identities, request reference, digests and resource baseline. The comparison driver uses canonical unresolved input reads, ordinary context/participant reads and original session+path native rows under the existing retargeted hold.Source delivery was attempted through Core; installed012 refuses its self-reviewer routing (
Thread 'pi-publication-carry' cannot message itself). Order-story readback records no delivery. The generic ClaimReviewer repair is merged asCore#3878/96b7673e29a6 and belongs in the next shared install. P1086 remains open for its real application outcome.Head:
7a2b1f5c791953f40127f7ff71804445e06d5b54, rebased onto main test cleanup58daba13e30363fd1439136a5e0afbb09a7c942d. Latest worker-proof commit: 3 files,+22/-10; the preceding file-capability correction was 7 files,+57/-19.Test-cleanup rebase and actual target-worker proof
The58daba13e rebase retained main's cleanup. The one conflict was the shared-helper import in tests/test_coordination_response.py: it now imports accept_initial/publish_initial/responder from conftest alongside the required CoordinationStore import. No fixture implementation or deleted test was restored. Of the39 owned files, only four test files changed across this rebase: that import consolidation, import lifting in test_context_manifest_deltas.py, and main's removed absence/inheritance assertions in test_input_documents.py and test_maintenance_barrier.py. All37 Python files parsed/compiled with no subject execution. Production source bytes are unchanged across this rebase; earlier executions retain their actual epochs rather than becoming a claimed new run.
A real candidate runtime was built/completed through RuntimeStack at core-eb8adb337-lock-2e2515cea9110ddb, including native/package preparation and client imports, without live publication. Its owner-resolved lock selects Toad9e0452dca and Textual94d743f5; that lock is included in the worker-proof commit. The annotation materialization control now calls InstallCommands.probe through actual interpreter worker pipes instead of invoking ProbeRequest.answer in-process. Executed through RuntimeStack.test against the installed candidate, with its declared dev extra and fresh owned basetemp: 1 collected/1 passed,5.45s,exit0. The outer command took70.468s;5.45s is not an end-to-end timing. This is real target-worker transport on private fixture data, not original-data, peak-resource, native-agent or physical acceptance.
Receipts:
p867-target-runtime-build-02.{log,rc},p867-target-runtime-build.json,p867-target-runtime-resolved.lock,p867-target-worker-test.{log,rc},p867-worker-proof-publish.{log,rc},p867-test-cleanup-rebase.log,p867-test-cleanup-continue-01.{log,rc},p867-test-cleanup-before.json, andp867-test-cleanup-push.{log,rc}. The earlier /usr/bin/time pre-start127 and bounded-shell command-substitution refusal are retained as failed launches, not test executions.Latest owner correction: derive the capture file family
Hosted debt-src on32ef correctly rejected the new
PracticeCopy.input_readersroster (InheritanceCleanupPhase) and the heterogeneous capture tuple (object.path_intype error).InputCaptureFile(RootFile)now marks the four participating store declarations.CompleteInputReader(InputCaptureFile)marks Bus and InputDispositions, which must be copied whole. ContextStore and CoordinationStore compose InputCaptureFile directly. Pin/drain selection, complete-reader preflight/copy and original-reader checks all useRootFile.declarations_in; the roster and mixed tuple are deleted. Existing writer/schema/copy parents remain unchanged. The flagged docstring word is replaced with 'in-flight', without changing transaction behavior.Actual post-correction execution: 19 collected/19 passed,4.97s,exit0, covering real file-family C3 construction, each of the four stores' in-flight/later writer controls and decoded selected materialization. Focused mypy on installer/practice.py: no issues,exit0. Six modules parsed/compiled without subject execution; all seven source/doc hashes were checked across rebase. Receipts:
p867-file-capabilities-{source.json,tests.log,tests.rc,mypy.log,mypy.rc,publish.log,publish.rc,publication.json}. These are fixture/backend and source proofs, not original-data/native acceptance. The preceding125-case epoch below remains its own execution.Previous selected-operation correction: 5 files,+151/-14, with its five hashes preserved through its safety rebase. Source parse/compile and checkpoint publication exited0. The affected nine-path execution collected125 cases:125 passed,21.65s,exit0, under the normal host TestLease with a fresh explicit owned
/home/ts/wtbasetemp. This is fixture/backend qualification, not original live-data, cross-runtime target-build, resource-peak, native or physical acceptance.This supplies a bounded selected copy of original input/context/coordinator evidence for the P867 saved-history journey. Ordinary complete copies and backups stay complete and uncapped. The two 75-case integration runs reached 45 passed / 24 failed / 6 setup errors, then 70 passed / 5 failed. The five affected cases at b7fafd7 subsequently passed in 2.42s, exit 0. That is a separate five-case execution, not a 75-case rerun; the original-data journey remains unverified. It is not a replacement for native preparation or permission to run a frozen root.
1. One fresh-file loading and publication lifetime
Before: selected records lacked a complete store-loading path. An entry-only prototype omitted saved request/version history and coordinator dependencies; copying whole stores exceeded the selected-copy allowance.
After:
ReconciledFile.retaining_rowsowns staging, read-only original attachment, schema admission, loading, dependency closure, sequence metadata, close, exclusive publication and cleanup. Its staged writer now explicitly enablesuri=True, matching the existing reconcile connection. The failed run showed the omitted connection capability prevented SQLite from interpreting the original's read-only ATTACH URI. ATTACH itself andmode=roare unchanged; there is no missing-source creation or filename fallback.TypedTable.loading/TableSchema.loading_rowsshare the existing table/index/guard/relation ordering. Unknown columns/triggers, missing declared retention keys, and existing or symlink destinations refuse rather than silently discard evidence.AttachedPracticeRebuildcopies original writable SQL values with declaration-derived keys and null-safe deduplication. It uses the existing requested-key compiler, not a second field roster orINSERT OR IGNORE. SQLitetotal_changessupplies progress, including WITH-prefixed inserts.SQLiteDatabase/TableSourcequalify all original-side reads through one attachment.2. Declared relationships and original row groups
Reference.foreign_keysandTypedTable.foreign_keysderive inherited/generated relationships. FK comparisons keep the referenced column on the left, preserving its affinity/collation; NULL does not invent a parent.RetainsChildren(TypedTable)supplies required inverse groups. Execution, harness, native and publication rows compose the capability where their original children are required. Publication intents keep their original evidence and append-dispatch records; partially received harness records remain partial. No claim, completion, ACK or publication is fabricated.Native membership remains owned by
NativeInputExecution. Its membership-led LEFT JOIN deliberately reaches the required-row decoder when a declared claim is missing; an inner join would erase the defect.source_assignmentsreturns the original decoded rows, and each row retains through its own declared key. Existingsource_assignment_idsderives its ID result from the same query. FULL and TRIAGE keep their separate membership definitions; stage SQL uses the existing declaration-awaresql_literalboundary. The four source-qualified table expressions now callTypedTable.qualified_table, keeping nominal table identity at its SQL boundary.3. The existing unresolved-input projection chooses seeds
SnapshotInputDispositions.retain_unresolvedconsumesunresolved(entries), including uncertain harness attempts absent from the ledger. The complete ledger still suppresses completed attempts from every ledger state;stored_unresolved()is not substituted for that projection.InputOrigin.harness_sourcesexposes no witness by default, whileHarnessAttemptOriginexposes itself.HarnessDelivery.retain_attemptowns the original bridge/recipient/full-reference retention and required-row refusal; provenance imports no coordinator row.WakeAssignment.for_harness_sourcesshares candidate acquisition and reference checking with the ordinary assignment reader. A same sequence naming another message refuses. Original recipient birth distinguishes recreation from rename; birthless evidence remains birthless. Names and request-generation scalars are not invented joins.ParticipantStore.read_atshares ordinary acquisition. Selected participants keep their generation/current-execution aggregate, while absent participants remain absent and incomplete present aggregates refuse. Required components use the existing required-row decoder; only missing rows translate to the original participant-domain failure. Malformed/duplicate rows are not hidden by a fallback.ParticipantRows(AttachedPracticeRebuild)adds that existing aggregate owner to each expansion of the same loading/fixed-point lifetime, including FK-discovered participants.PracticeCopy.include_inputsand the shared real coordinator-test factory select this policy explicitly; the generic attachment alone does not claim aggregate completeness. The low-level Participants→ParticipantStore hook is deleted. Two additional controls reach incomplete participants solely through FK discovery.4. Saved context and annotation history
ContextStore.retain_contextskeeps original sessions, file/item coordinates and the selected request/info/version/entry/predecessor chains.original_segmentsrestores the actual retained requests through the ordinary entry resolver. Native groups are selected by both original session ID and path, not a scalar pseudo-FK to a context.The browser already enforced full
SegmentManifest.contains_spaneligibility. The defect was the missing annotation seed in the selected coordinator copy, not digest-only browser eligibility.The shared structure is now:
WorkingMemoryAnnotations.for_segmentsand retention share that candidate/eligibility owner. Original label order, question/classifier versions and human corrections remain represented. Requests retain grant-wide usage across outcomes and contexts, including Submitted/Failed/Completed histories needed for duplicate suppression and hourly limits. The annotation hook compares its declared generated address columns directly: one natural address can have multiple correction rows, so it is not fabricated as a foreign key. Storage no longer imports a reader to reconstruct those values.The old
for_digestspath and duplicate eligibility loop are deleted, without an alias. Both annotation sorts useint(row.id);UnallocatedRowIdowns the numeric refusal instead of allowing an unstored label to masquerade as recorded history.5. Copy orchestration and resource bounds
Before: callers could independently copy a bus/ledger and later select contexts/coordinator rows without an expressed common-cut entry. Pinning alone held no SQLite transaction, and a marker alone was not holder or target authority.
The17f checkpoint supplied only an available
PracticeCopy.capturing_inputs()context; Salvage correctly found no production caller. The correction adds the declared target-onlySelectedInputsProbe(TargetProbe, RuntimeProbe[PracticeMeasurement]). Existing ProbeRequest/FieldCodec transport reachesPracticeCopy.capture_inputs, whose one scope encloses the first complete bus/ledger copy, context selection and coordinator selection. Birth lookup uses the original RegistryCut, not caller-provided name/generation records. Ordinary completePracticeBus.select,include()and live backups are unchanged; no automatic selected capture is inserted into an ordinary install.Existing maintenance members own current-holder/retargeted-runtime admission and unchanged-generation refusal. The scope pins selected source groups, drains/releases each admitted SQL writer separately, then acquires the original RegistryCut. No SQL lock is held while seeking another writer or the registry. Materialization selects existing
NoMaintenanceHolder.acting(), clearing both its request-local and exported child-process claim: ordinary source writes refuse before mutation, while the private target remains writable. Before/after source observations and the original registry revision remain an additional fence, not rollback or a substitute for prevention. The original claim is restored on every exit. Previously materialized, symlink and donor-contained destinations refuse. Complete reader groups receive an allowance preflight before their first copy.The report trace places start publication before
owners_stopped, terminal publication after cleanup, and phase timing only in the in-memory InstallClock. All15 capture controls pass in the125-case epoch, including the actual source-write refusal, per-store admitted/later writers, generation and failure cleanup. The annotation control also round-trips and executes the actual ProbeRequest with selected context/coordinator materialization and unchanged source checks. That is an in-process protocol/backend control; a qualified cross-runtime original-data request remains owed. The probe returns a data measurement, not native launch/write authority.PracticeCopy.include_contexts/include_inputsown selection and resource registration. The newly introducedCoordinationStore.retain_inputswrapper is deleted; its sole caller now usesCoordinationStore.retaining_rowsdirectly. This removes four local imports and four type-only imports from the low-level storage module. Native and annotation hooks remove two more local import detours. The preceding owner correction removed both new retention-local imports. The key family also answers recorded/unrecorded birth matching without importing the higher-level incarnation family; StoredInput uses its existing incarnation dispatcher.Bus and complete ledger capture must precede coordinator selection; selected contexts must precede coordinator finalization. A copied reader without its original source refuses. A resource is recorded only after successful publication.
Selected materialization requires
maximum_bytes. Existing bytes and the free-space floor reduce the remaining allowance. SQLite uses the actual page size andmax_page_count; staged groups and companions are measured before publication. Originalsqlite_sequencehigh-water marks survive even an empty selection. One-segment-at-a-time traversal avoids accumulating restored prefixes. Measured aggregate/WAL/temp/journal/memory/handle peaks are still owed; streaming is not that measurement. Ordinary full-copy paths are unchanged.Verification and next execution
Safety-base rebase/push receipts:
shared-board/p867-capture-safe-base.{log,rc}; exit0, local/remote head32ef26a04e equal, all five corrective-file hashes unchanged. The125-case execution below belongs to pre-rebase a0e4, not a new32ef execution. No installer/bootstrap operation was invoked by that rebase.Current receipts:
shared-board/p867-capture-claim-checkpoint.{log,rc},p867-capture-claim-source.json,p867-capture-claim-head.txt,p867-capture-claim-tests.{log,rc}. Five changed modules parsed/compiled without subject execution, no omissions, checkpoint rc0; actual affected execution125/125 in21.65s/rc0. The runner used installed c5 CPython3.14.8, the existing retained pytest dependency directory, explicit own src/tools, INT300 and--basetemp .capture-qualification-a0e4-home-1. No package install, new environment, full suite or local NRA gate. Carry owns qualification, landing and supported install; no central approval dependency or test handoff. Exact corrective-head source review requested in55393.The preceding17f run remains 122collected/114passed/8failed/17.02s/rc1. Seven failures hit the unchanged10GiB free-space floor on a4.9GiB-free
/tmpfilesystem; one stopped-thread oracle wrongly expected a process afterRegistryDocument.unregisterintentionally stores NoProcess. It now compares the actual stopped RegistryEntry unchanged after rejected activation. Exactly8 affected cases then passed in2.89s/rc0 on a fresh own/homebasetemp. Those two epochs are not122green.That first runner's default pytest cleanup attempted unrelated old DQDock scratch. The incident was disclosed in55078; mounted originals remained read-only and the checked canonical source file kept its prior bytes/mode/mtime, but complete preservation of non-mounted siblings is unproved. No manual cleanup/unmount was performed. All subsequent runs use explicit fresh owned
/home/ts/wtbasetemp; protected evidence remains retained.Earlier receipts
p867-capture-checkpoint.*and the definitive pre-start-Srefusal remain tied to their own epochs. The supported-I -Bsource checkpoint was not an UNKNOWN retry.The actual frozen
90f6d053seven-path run collected 75 cases: 45 passed, 24 failed, 6 setup errors, 13.22 seconds, exit 1. It used an owned source archive, installed c8 CPython 3.14.8, explicit archive src/tools/tests and the real pytest_session host lease. Full failed log:/home/ts/.cache/agent-scratch/pi-commander/submission-nov1/retention90-tests.logand.rc. This epoch remains retained, not replaced by a successful prediction.The next exact
891bc2a76cseven-path run collected 75 cases: 70 passed, 5 failed, 14.46 seconds, exit 1, using installed74 CPython3.14.8 and the owned exact-head archive. Log:/home/ts/.cache/agent-scratch/pi-commander/submission-nov1/retention891-tests.logand.rc; channel54638 and direct54640 deliver the result. A/B/D and the FULL allocation check pass in that epoch. Four corruption controls stop at a subset-schema assertion; one context control compares pre-read writer state with restored state. Neither run is erased.The exact
b7fafd7c7bbe655ca3b6b989c0ad7678408438d3correction then collected 5 cases: 5 passed, 2.42 seconds, exit 0. I read the complete log and rc at/home/ts/.cache/agent-scratch/pi-commander/submission-nov1/retentionb7-tests.logand.rc. It names all four direct/FK-discovered missing-generation/missing-pointer cases and the selected-context closure case. The log reports installed038 CPython3.14.8 and.review-retentionb7; exact-head preparation, TestLease and INT300 are integration's recorded execution facts (direct54699). Two pytest warnings remain visible. No author pytest was run. This qualifies those five corrected cases only, not the whole seven-path selection, common source cut, aggregate resource peak, native launch or original-data physical journey.Latest bounded corrections:
A: Harness fixture transcript IDs now pass actual UUID spellings through
TranscriptRecordIdText.decode; the declaration remains strict.B: The staged writer enables URI handling. The
SQLITE_FULLcontrol still requires FULL, not the CANTOPEN failure that previously stopped it first.C: Both direct and FK-discovered incomplete-participant controls begin with
ParticipantStore.registerand a valid aggregate. They explicitly simulate foreign corruption by removing only the chosen type's declaration-derived NoDelete guard, deleting one required component, restoring the exact guard and requiring the full schema. Insertion-membership guards stay installed. The ordinary aggregate reader must refuse before retention is attempted. This models external damage, not a permitted coordinator transition; integration accepted this explicit foreign-corruption shape in54640. The schema assertion now selectsCoordinationStore.schema_at(source.path), retaining the actual private root's cohort tables/triggers rather than incorrectly requiring only CoordinatorTable's base schema.D: Two obsolete unresolved-input callers now obtain actual RegistryEntry values from the declared registry. No string overload or selector change.
Ordinary-read context comparison: Before copying, resolve the exact selected source/record through the original ContextStore. Compare the complete retained CapturedContext with that original read, preserving restored contributor JournalProvenance, text, coordinates, recorded fields and source identity. Writer CapturedContext.value is not the ordinary-read contract. Original digest, contributor count, selected predecessor IDs and allocation high-water assertions remain.
Earlier run891 targeted NRA syntax coverage and compilation: two test modules, no omissions, exit 0. Both hashes survived rebase. The preceding 3-module and 11-module source/import evidence remains tied to its earlier epochs. These source passes execute no Core subjects/classes/MRO/SQL/stores/providers/native sessions; they are not corrected behavior or full dependency-closure acceptance. No author pytest or local NRA gate ran.
Salvage read the implemented participant/harness shape and accepted those two source repairs. Its static import graph covered 642 source modules at the pre-rebase epoch. A targeted post-rebase NRA-parsed query covered 97 reachable project modules and found no unconditional input-origin→harness-row path; guarded/class-time/dynamic/external effects remain OPEN. Neither result is a cold import. The ordinary harness witness annotation remains runtime-resolvable; no new TYPE_CHECKING detour or compatibility alias was introduced.
Latest receipts under
shared-board/:p867-run891-source.{log,rc},p867-debt-repair-run891-oracles-after.json,p867-run891-source.sha256,p867-run891-publish.{log,rc},p867-run891-head.txtandp867-run891-remote.txt. Earlier run75/closure/import/native/copy/source artifacts and all failed/refused epochs remain retained. Historical hosted successes and skipped smoke/rehearsal are neither a current-head verdict nor behavioral acceptance. The b7 result remains its actual five-case execution, without suppression or rebudgeting.The existing combined host selection was requested at bus 54258:
tests/test_retained_coordinator_groups.pytests/test_retained_annotations.pytests/test_context_manifest_deltas.pytests/test_coordination_response.pytests/test_harness_receipt_context.pytests/test_input_documents.pytests/test_working_memory_read.pyThat historical selection exercises actual selected-copy loading, original attachments, required groups, annotation corrections/grant history, original source preservation and refusals. Its earlier epochs remain as recorded above. The current extended run is Carry-owned under the normal host TestLease; no full suite or local NRA gate is launched. I retain failures and ownership of the remaining journey.
Assumed / still owed
Frozen P867 originals remain non-runnable;
retained_native.pyremains untracked and unwired. No original input or historical destructive action is replayed. This unfinished acceptance does not hold independent installer, shell or UI landings.