feed: measure downloads at origin; drop OP3 prefix (ADR-0017) #9

Merged
arne merged 1 commit from adr-0017-origin-download-log into main 2026-06-26 12:46:23 +02:00
Owner

Stacked on catalog-feed-generation. Supersedes the OP3 decision (ADR-0008) with ADR-0017: we control our own origin, so routing every download through a third-party prefix is redundant — and the prefix was emitted with a malformed double-scheme URL (https://op3.dev/e/https://…, instead of stripping the scheme for https targets per op3.dev/setup).

This is the OP3-removal half. Enclosure URLs now point straight at our origin; downloads will be measured there from an append-only raw request log. That capture middleware + digestor is a deliberate follow-up (see ADR-0017).

  • feed.BuildEnclosureURL: drop the op3 param/branch; emit the plain origin URL
  • web.Server / NewServer: drop op3Prefix; main.go drops KOKOS_OP3 (+ now-unused import)
  • tests + goldens regenerated without the prefix
  • docs: ADR-0017 added; 0008 marked superseded; README / deploy / CATALOG / CONTEXT / feed-plan updated to origin-measured wording

Build, vet, and go test ./... all green.

🤖 Generated with Claude Code

Stacked on `catalog-feed-generation`. Supersedes the OP3 decision (ADR-0008) with ADR-0017: we control our own origin, so routing every download through a third-party prefix is redundant — and the prefix was emitted with a malformed double-scheme URL (`https://op3.dev/e/https://…`, instead of stripping the scheme for https targets per op3.dev/setup). This is the **OP3-removal half**. Enclosure URLs now point straight at our origin; downloads will be measured there from an append-only raw request log. That capture middleware + digestor is a deliberate follow-up (see ADR-0017). - `feed.BuildEnclosureURL`: drop the `op3` param/branch; emit the plain origin URL - `web.Server` / `NewServer`: drop `op3Prefix`; `main.go` drops `KOKOS_OP3` (+ now-unused import) - tests + goldens regenerated without the prefix - docs: ADR-0017 added; 0008 marked superseded; README / deploy / CATALOG / CONTEXT / feed-plan updated to origin-measured wording Build, vet, and `go test ./...` all green. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
ADR-0008 chose a third-party OP3 redirect prefix for IAB download
measurement. We control our own origin (the enclosure handler), so a
proxy in the request path is redundant — and the prefix's URL format was
emitted wrong (https://op3.dev/e/https://… instead of stripping the
scheme for https targets).

ADR-0017 supersedes 0008: enclosure URLs point straight at our origin and
downloads are measured there from a raw request log (the append-only log
+ digestor are a follow-up). This commit is the OP3-removal half:

- feed.BuildEnclosureURL: drop the op3 param/branch; emit the plain origin URL
- web.Server: drop op3Prefix field + NewServer param
- main.go: drop KOKOS_OP3 env + now-unused strings import
- tests/goldens: regenerate without the OP3 prefix
- docs: ADR-0017 added; 0008 marked superseded; README/deploy/CATALOG/
  CONTEXT + feed plan updated to origin-measured wording

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
arne changed target branch from catalog-feed-generation to main 2026-06-26 12:45:55 +02:00
arne force-pushed adr-0017-origin-download-log from a8e5b1dc1c to e6bc890a7c 2026-06-26 12:45:55 +02:00 Compare
arne merged commit 388ca32dae into main 2026-06-26 12:46:23 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tjue/kokosbananas!9
No description provided.