|
7 | 7 | {"id":"cooked-15c","title":"Add IsPrivateAddress test for DNS resolution error path","notes":"Gremlins: 1 NOT COVERED mutant at url.go:51:9. All test cases use IP literals, never reach net.LookupIP error.","status":"closed","priority":4,"issue_type":"task","owner":"14095054+wthrbtn@users.noreply.github.com","created_at":"2026-02-07T07:07:23.190437+01:00","created_by":"Jörgen","updated_at":"2026-02-07T07:11:30.977357+01:00","closed_at":"2026-02-07T07:11:30.977357+01:00","close_reason":"Tests written and verified. Remaining NOT COVERED in gremlins is a Go coverage instrumentation limitation with switch case conditions."} |
8 | 8 | {"id":"cooked-192","title":"F-08: Build asset SHA-256 integrity verification","description":"Add SHA-256 checksums for embedded assets in Makefile and Dockerfile. Verify after download.","status":"closed","priority":2,"issue_type":"bug","owner":"14095054+wthrbtn@users.noreply.github.com","created_at":"2026-02-07T03:35:41.850851+01:00","created_by":"Jörgen","updated_at":"2026-02-07T03:47:34.275009+01:00","closed_at":"2026-02-07T03:47:34.275009+01:00","close_reason":"Implemented and tested in security remediation session"} |
9 | 9 | {"id":"cooked-1u1","title":"WI-1: Project bootstrap - main.go, config, embedded assets","notes":"Plan: WI-1. Create cmd/cooked/main.go with version vars, CLI flag parsing with env var fallback, config struct, go:embed declarations.","status":"closed","priority":0,"issue_type":"task","owner":"14095054+wthrbtn@users.noreply.github.com","created_at":"2026-02-07T00:47:20.511595+01:00","created_by":"Jörgen","updated_at":"2026-02-07T00:50:08.182667+01:00","closed_at":"2026-02-07T00:50:08.182667+01:00","close_reason":"Closed"} |
10 | | -{"id":"cooked-2tn","title":"Trusted proxy headers (X-Forwarded-For, X-Forwarded-Proto)","description":"1. When cooked runs behind nginx/caddy, all request logs show the proxy IP (127.0.0.1) instead of the real client IP\n2. Add a --trusted-proxies flag that accepts CIDRs or IPs (e.g. 127.0.0.1, 10.0.0.0/8)\n3. When set, cooked reads X-Forwarded-For to extract the real client IP for logging\n4. Also read X-Forwarded-Proto to detect https when behind a TLS-terminating proxy, which affects --base-url auto-detection\n5. Without this, operators cannot correlate cooked logs with client requests","status":"open","priority":3,"issue_type":"task","created_at":"2026-04-03T13:50:10.485869642Z","created_by":"jorgen","updated_at":"2026-04-03T13:50:10.485869642Z","source_repo":".","compaction_level":0,"original_size":0,"labels":["logging","ops","proxy"]} |
| 10 | +{"id":"cooked-2tn","title":"Trusted proxy headers (X-Forwarded-For, X-Forwarded-Proto)","description":"1. When cooked runs behind nginx/caddy, all request logs show the proxy IP (127.0.0.1) instead of the real client IP\n2. Add a --trusted-proxies flag that accepts CIDRs or IPs (e.g. 127.0.0.1, 10.0.0.0/8)\n3. When set, cooked reads X-Forwarded-For to extract the real client IP for logging\n4. Also read X-Forwarded-Proto to detect https when behind a TLS-terminating proxy, which affects --base-url auto-detection\n5. Without this, operators cannot correlate cooked logs with client requests","status":"closed","priority":3,"issue_type":"task","assignee":"jorgen","created_at":"2026-04-03T13:50:10.485869642Z","created_by":"jorgen","updated_at":"2026-04-03T14:28:46.720154678Z","closed_at":"2026-04-03T14:28:46.719916356Z","close_reason":"Added --trusted-proxies flag with X-Forwarded-For client IP extraction","source_repo":".","compaction_level":0,"original_size":0,"labels":["logging","ops","proxy"]} |
11 | 11 | {"id":"cooked-323","title":"Git-aware mode","notes":"Won't fix — cooked is URL-agnostic by design. It fetches whatever URL you give it without knowing about git forges. Coupling to cgit/gitea/forgejo URL patterns adds complexity for unclear value. Users already construct the correct raw-file URL.","status":"closed","priority":4,"issue_type":"feature","owner":"14095054+wthrbtn@users.noreply.github.com","created_at":"2026-02-07T01:53:59.885773Z","created_by":"Jörgen","updated_at":"2026-03-31T17:40:15.468418339Z","closed_at":"2026-03-31T17:40:15.467892325Z","source_repo":".","compaction_level":0,"original_size":0} |
12 | 12 | {"id":"cooked-3av","title":"Fix TestSetup_JSONOutput coverage theater — test Setup() not stdlib","description":"logging_test.go:12-37 never calls Setup(), tests slog.NewJSONHandler directly. If Setup() had a bug (wrong level, wrong output), this test wouldn't catch it. Fix: test Setup() directly by verifying it sets slog.Default() and produces JSON.","status":"closed","priority":2,"issue_type":"bug","created_at":"2026-03-31T16:10:20.247718800Z","created_by":"jorgen","updated_at":"2026-03-31T16:13:51.192098325Z","closed_at":"2026-03-31T16:13:51.191573419Z","source_repo":".","compaction_level":0,"original_size":0,"labels":["high","testing"]} |
13 | 13 | {"id":"cooked-3i4","title":"F-06: Add HTTP server timeouts","description":"Set ReadHeaderTimeout, ReadTimeout, WriteTimeout, IdleTimeout, MaxHeaderBytes on http.Server in main.go.","status":"closed","priority":1,"issue_type":"bug","owner":"14095054+wthrbtn@users.noreply.github.com","created_at":"2026-02-07T03:35:41.700232+01:00","created_by":"Jörgen","updated_at":"2026-02-07T03:47:34.234999+01:00","closed_at":"2026-02-07T03:47:34.234999+01:00","close_reason":"Implemented and tested in security remediation session"} |
|
0 commit comments