Skip to content

Commit 4533ce0

Browse files
hyperpolymathclaude
andcommitted
doc(zig-api): update playbook with proven_header_has_crlf wiring status
Add row to Current Status table documenting proven_header_has_crlf / safeHeaderDefault as ACTIVE 2026-04-17. Update Open Questions section to confirm proven header wiring completed (comment on evening work). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 06ce88c commit 4533ce0

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

UNIFIED-ZIG-API-STACK.adoc

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,14 @@ The trigger was the estate-wide V-lang ban on 2026-04-10 (V-lang detected via
411411
`ZigApi.ABI.Foreign.prim__gnosisSetHandler`. Header: `zig_api.h` lines
412412
197–212.
413413

414+
| `proven_header_has_crlf` / `safeHeaderDefault`
415+
| ACTIVE (2026-04-17)
416+
| CRLF injection guard wired into `gnosis.zig:writeResponse`.
417+
`safeHeaderDefault` calls `proven_header_has_crlf` (formally-verified
418+
from libproven_ffi) to validate Content-Type header before serialisation.
419+
Fail-closed policy: if CRLF detected or proven errors, response refused
420+
with 500 error instead of being sent.
421+
414422
| `zig-groove-bridge`
415423
| PARTIAL
416424
| Dodeca-API + discovery logic written; attachment / full Groove manifest
@@ -431,8 +439,9 @@ The trigger was the estate-wide V-lang ban on 2026-04-10 (V-lang detected via
431439
`zig-api/ffi/zig/build.zig` links `libproven_ffi.a` built via
432440
`verification-ecosystem/proven/ffi/zig/build_standalone.zig`.
433441
The two stacks now chain: zig-api is a proven consumer.
434-
Next wiring candidate: `proven_header_has_crlf` in `gnosis.zig` header parsing
435-
(the `Content-Length:` and `Content-Type:` extraction in `serveRequest`).
442+
**Update 2026-04-17 (evening):** `proven_header_has_crlf` now wired into
443+
`gnosis.zig:writeResponse` via `safeHeaderDefault` helper; validates
444+
Content-Type header for CRLF injection before serialisation.
436445

437446
* *C adaptor auto-regeneration pipeline.* **Resolved 2026-04-17.**
438447
`just gen-header` (Bash + Python3 extractor in `scripts/gen-header.sh`)

0 commit comments

Comments
 (0)