{
  "status": "PREPARE_ONLY_SOURCE_COMPLETE_NOT_EXECUTED",
  "files": [
    ".spt/preserved/hertz-fp-driver-review/d2/controls/custody-discriminator.ps1",
    ".spt/preserved/hertz-fp-driver-review/d2/controls/custody-observer.cs"
  ],
  "invocation": "pwsh -NoProfile -File <absolute-d2>\\controls\\custody-discriminator.ps1 -XtaskExe <Doyle-xtask.exe> -XtaskSha256 <Doyle-sha256> -QualificationRoot C:\\custody\\<fresh-id> -OutputRoot <absolute-d2>\\controls-out\\custody-<fresh-id> -BuildRepoRoot <Doyle-compile-time-repo-root> -GitExe <actual-resolved-git.exe> -GitSha256 <approved-git-sha256> -AuthorizePublicDummyQualification",
  "implemented": [
    "Pre-mutation refusal for missing inputs, configured xtask/git hash mismatch, old dbdb signer, reused/overlapping roots, reparse paths, ambient seed, and rig/fleet/secret-root locations. Qualification staging additionally excludes source/build repositories and LocalAppData.",
    "Future-only non-cargo Framework64 csc preparation. Input/compiler/arm manifests precede execution; read-share-only file handles plus rehashing protect admitted inputs during each bounded run.",
    "DEBUG_PROCESS observation of original launch-v2 host, original signer, both actual provenance git children, and descendant helpers. Reads only newly owned child environments through duplicated retained debug-event process handles; records role, presence/match booleans, pin acceptance, PID/birth, and parent PID/birth.",
    "No shim or PATH rewrite. Observed git executable must match the explicit pin; both argv roles and the actual child cwd must match expected provenance calls and Doyle's compile-time repo root. Unexpected images or missing children refuse.",
    "Normal signing/staging of an explicitly public non-executable fixture; timeout via suspension of second real git's initial thread until native inner-job termination; post-provenance staging-error arm; deliberate forbidden-helper inheritance rejected by the same observer; clean post-window helper arm.",
    "Native v2 outer/inner bounds and retained-handle disappearance evidence. Preserves partial manifests, captures, records, and staging. Retires only owned public dummy EnvironmentFiles after confirmed teardown; publishes final acceptance only after retirement."
  ],
  "coverage_boundaries": [
    "No compilation, parsing, formatting, tests, controls, signer/keygen execution, qualification-root creation, RIG_ROOT writes, fleet-home access, or product changes performed.",
    "Prepared observer depends on working x64 Windows debugging and readable x64 PEB/RTL_USER_PROCESS_PARAMETERS offsets. Unsupported/32-bit/unreadable child state fails closed; capability is not yet runtime-qualified.",
    "Coverage establishes every observed descendant's inherited environment at process creation and repeats at its initial loader breakpoint. It does not continuously monitor arbitrary later in-process environment mutation or claim hostile-kernel/foreign-process coverage.",
    "Timeout-held git-status has creation-boundary observation but intentionally does not reach its loader breakpoint. Normal and error arms require both actual git calls to exit successfully.",
    "Doyle's final xtask path/hash and compile-time repository identity remain admission inputs. Git pin must identify the actual resolved executable; alternate dispatchers/helpers are not silently admitted. Source equality is not executable attestation."
  ]
}