the-custodian/docs/changes/netkingdom-target-2026-10-17/scanner-response-r1
codex ae055669d0
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Reject generated-only commits / generated-commit-guard (push) Successful in 8s
Record native security preparation and owner checkpoints (5/7)
2026-10-17 07:53:05 +02:00
..
hub-readback.json Record native security preparation and owner checkpoints (4/7) 2026-10-17 07:52:38 +02:00
manifest.json Record native security preparation and owner checkpoints (4/7) 2026-10-17 07:52:38 +02:00
metadata-handoff.template.json Record native security preparation and owner checkpoints (4/7) 2026-10-17 07:52:38 +02:00
README.md Record native security preparation and owner checkpoints (4/7) 2026-10-17 07:52:38 +02:00
rehearsal-cases.json Record native security preparation and owner checkpoints (4/7) 2026-10-17 07:52:38 +02:00
review.json Record native security preparation and owner checkpoints (4/7) 2026-10-17 07:52:38 +02:00
source-references.json Record native security preparation and owner checkpoints (5/7) 2026-10-17 07:53:05 +02:00

T04 private response source review

Source review completed 17 October 2026 for RMGR-WP-0021-T04 / TSA-10. The canonical Repo Manager checkout was clean at inspection and remains unchanged. No scanner rerun, historical-content scan, private finding read, Git mutation, message, provider operation, approval or credential response was performed.

The actual missing deliverable is an owner-admitted private review and response contract, not another scanner. The existing adapter returns only fixed status, scope, counts, scanner identity and affected Git blob IDs. secret_scan.main and the existing CLI serialize that summary and return the appropriate refusal code. There is no inspected finding classifier, response executor, private finding store, response port or false-positive exception admission in this scanner path. The docs explicitly preserve this boundary and deny implicit exceptions.

Adding a suppression registry, automatic credential routing/classification, response engine or approval parser would invent a new contract. No such source change is justified by the current record. No code or tests were changed. The smallest useful next deliverable is the exact owner review below, followed by a separately admitted synthetic rehearsal through the selected existing private review path. The packet supplies that preparation without claiming the rehearsal has occurred.

Existing seam

Current surface Established behavior Missing owner evidence
src/repo_manager/secret_scan.py:scan_staged Content-silent changed-staged-blob summary; clean/blocked/unverified Summary-to-private-case binding and intended repository reviewer
src/repo_manager/secret_scan.py:main and cli.py JSON summary plus exit 0/1/2 Existing approved private review entry point; operator identity; recipient acknowledgement
docs/secret-detection.md Blocked content may be inspected only in approved private review; no raw report/value/path in public evidence Who admits the private lane, exact privacy boundary, retention, recipient and timeout/abort
RMGR-WP-0021-T04 Synthetic metadata route, private classification, exception lifecycle and genuine exposure response Actual owner/approval/response receipts; reviewed exact false-positive contract

The scanner result contains no repository owner or credential kind. A blob ID is an opaque correlation hint, not an authorization, private review grant or proof of which credential provider owns a match. Bind repository identity, exact reviewed revision/index context, scanner pin and receipt reference separately; do not resolve repository content or filenames in a public routing step. The summary also does not establish whether a credential was ever accepted or exposed elsewhere. A rejected commit does not revoke prior exposure.

Exact owner review needed

  1. Repo Manager identifies the actual repository reviewer and the existing approved private entry point. The private response owner names its operator, recipient/custody boundary, permitted synthetic input, evidence custodian, retention/deletion, timeout and abort obligations. This packet supplies no owner assent or new storage/service.
  2. The actual reviewer classifies a synthetic case in that admitted private lane, returning only a case/receipt reference and bounded disposition. Public routing never carries matched content, paths, scanner diagnostics, candidate credentials or private finding hashes that permit content guessing.
  3. For a false positive, the repository/control owner defines an exact proposed scope and regression; the authorized reviewer supplies genuine approval, expiry/review and revocation conditions. The current scanner has no exception switch: a reviewed source correction may be proposed, but a review record alone cannot silently bypass the scanner. An expired, wider or mismatched disposition must not be treated as authorization. Broad path/rule exclusions and inline comments remain ineffective under the current contract.
  4. For genuine or uncertain credential exposure, keep the commit refused and route metadata to the actual incident/credential owner after classification. Use warden route find / show for the classified need before requesting any access. Existing secrets-engine/Platform custody, access-engine authorization and provider/consumer adoption gates apply; Repo Manager does not revoke keys. Require separate revoke/replace/adopt/validate evidence where appropriate. CUST-WP-0073-T05 remains founder-deferred under decision 1591daa1-6e85-4dfd-aadd-5a9fe1ef47fa; this review neither reopens it nor substitutes elapsed time or a synthetic case for a founder trigger/decision.

Unblock T04's synthetic exercise when those actual owners supply the named private lane, admission and evidence contract. Then use the bounded cases in rehearsal-cases.json. No code integration should precede a specific owned seam. T04 remains todo in the read-only Hub observation; TSA-10 remains open.

Existing evidence preserved

scanner-unavailable-r1/namespace-hook-results.json already establishes six configured-hook generated-fixture outcomes with no real credentials/index reads, host scanner change or provider call. It proves detection/refusal and cleanup, not private classification, exception approval or response. T05 remains done; T03 independently retains forge/CI coverage. The gate audit explicitly assigns private synthetic finding-to-response to T04 under TSA-10. No broad test or scanner benchmark was repeated for this source-only review.

The metadata handoff template is deliberately incomplete and non-executable. rehearsal-cases.json lists expected checks, not executed results. Source hashes, the read-only task observation and artifact hashes are retained in this packet.