Database: enforce redacted HTTP header evidence #71

Closed
nsaspy wants to merge 0 commits from hackmode-rage-database/http-header-policy-20260831-1343 into master
Owner

Slice

Database-owned #26 storage contract for bounded/redacted HTTP header evidence.

Current canonical :http-exchange records persist method/URL/status/body digests/raw evidence reference/timing, but the #26 contract also requires bounded/redacted headers. Capture/ZAP/mitmproxy process work remains outside this PR.

RED-first contract

Exact test head 706efb1ca5729042f3dccf81577a7979c273f983 requires:

  • sanitized request/response header pairs to survive the typed execution-record + Tek9 round trip;
  • secret-bearing headers such as Authorization to fail closed at the canonical persistence constructor rather than entering graph evidence.

The current constructor has no request/response header keywords, so core is expected to fail at the new regression before implementation.

Intended GREEN

Smallest database-only change in source/hackmode-database/execution-graph.lisp:

  • accept bounded sanitized header alists;
  • reject malformed/oversized entries and sensitive header names;
  • preserve deterministic replay identity and existing Tek9 graph authority;
  • no raw bodies, provider process logic, ZAP semantics, mitmproxy addon, Hackpert reasoning, or StarIntel product work.

Relates to #26 and hands a provider-neutral storage target to #133 consumers.

## Slice Database-owned #26 storage contract for bounded/redacted HTTP header evidence. Current canonical `:http-exchange` records persist method/URL/status/body digests/raw evidence reference/timing, but the #26 contract also requires bounded/redacted headers. Capture/ZAP/mitmproxy process work remains outside this PR. ## RED-first contract Exact test head `706efb1ca5729042f3dccf81577a7979c273f983` requires: - sanitized request/response header pairs to survive the typed execution-record + Tek9 round trip; - secret-bearing headers such as `Authorization` to fail closed at the canonical persistence constructor rather than entering graph evidence. The current constructor has no request/response header keywords, so core is expected to fail at the new regression before implementation. ## Intended GREEN Smallest database-only change in `source/hackmode-database/execution-graph.lisp`: - accept bounded sanitized header alists; - reject malformed/oversized entries and sensitive header names; - preserve deterministic replay identity and existing Tek9 graph authority; - no raw bodies, provider process logic, ZAP semantics, mitmproxy addon, Hackpert reasoning, or StarIntel product work. Relates to #26 and hands a provider-neutral storage target to #133 consumers.
nsaspy closed this pull request 2026-09-04 20:56:34 +00:00
Some checks failed
agent-pr-serialization / one-open-pr-per-agent-lane (pull_request_target) Failing after 1s
agent-framework-boundary / keep-agent-framework-out-of-product-tree (pull_request) Successful in 10s
core / common-lisp-core (pull_request) Failing after 49s
monorepo / hygiene (pull_request) Successful in 3m41s

Pull request closed

Sign in to join this conversation.
No description provided.