docs: resolve ADR-014 migration-008 false alarm (cols shipped in 007)
Reconciliation finding: the v0.6.0 report's "migration 008 videos.rate_limited_at" was a mislabel. Both transcript_status and rate_limited_at shipped in migration 007; the sequence legitimately skips 008, nothing was lost, and the runner's column reads are sound. Updated the ADR-014 implementation note to state this (was flagged as an unresolved discrepancy). The item-2 (shared per-egress-IP rate gate vs per-video backoff) flag stays open — still unconfirmed.
This commit is contained in:
+11
-10
@@ -402,16 +402,17 @@ the rate gate (the batch path moves into k3s per the deferred CronJob item).
|
|||||||
|
|
||||||
**Implementation note (2026-06-03, v0.6.0 — added during reconciliation).** A v0.6.0 release
|
**Implementation note (2026-06-03, v0.6.0 — added during reconciliation).** A v0.6.0 release
|
||||||
shipped 429 handling: `domain.SourceRateLimited` (429 no longer collapsed to `SourceNone`),
|
shipped 429 handling: `domain.SourceRateLimited` (429 no longer collapsed to `SourceNone`),
|
||||||
youtube adapter maps 429 → `SourceRateLimited`, migration 007 `transcript_status` + (per the
|
youtube adapter maps 429 → `SourceRateLimited`, **migration 007 added `videos.transcript_status`
|
||||||
v0.6.0 report) a `videos.rate_limited_at` column, `TAPIR_FETCH_BACKOFF` config, runner records
|
+ `videos.rate_limited_at`** (durable per-video retry state), `TAPIR_FETCH_BACKOFF` config,
|
||||||
rate-limited + skips within the backoff window, and a "⏳ Retrying later" badge. This realises
|
runner records rate-limited + skips within the backoff window, and a "⏳ Retrying later" badge.
|
||||||
decision items 1, 3, and 4 well. **Item 2 (a single shared per-egress-IP rate gate) appears to
|
This realises decision items 1, 3, and 4 well. **Item 2 (a single shared per-egress-IP rate
|
||||||
be realised as per-*video* backoff state, NOT a process-wide IP gate** — multiple videos can
|
gate) appears to be realised as per-*video* backoff state, NOT a process-wide IP gate** —
|
||||||
still each hit the endpoint and collectively trip the per-IP 429. Treat item 2 as **not yet
|
multiple videos can still each hit the endpoint and collectively trip the per-IP 429. Treat item
|
||||||
confirmed done**; verify in `internal/runner`/youtube adapter and, if absent, it remains open.
|
2 as **not yet confirmed done**; verify in `internal/runner`/youtube adapter and, if absent, it
|
||||||
ALSO: the v0.6.0 report referenced "migration 008 videos.rate_limited_at" but **no migration 008
|
remains open. (Resolved during reconciliation: the v0.6.0 report's reference to "migration 008
|
||||||
exists on `main`** (tree jumps 007→009). Resolve whether `rate_limited_at` actually shipped (in
|
videos.rate_limited_at" was a **mislabel** — both columns shipped in migration **007**, not a
|
||||||
007? lost? renumbered?) — a documentation/build discrepancy flagged during reconciliation.
|
missing 008. No migration was lost; the sequence legitimately skips 008. `rate_limited_at`
|
||||||
|
exists and the runner's column reads are sound.)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user