Skip to content

docs: clarify audit doc-Lows + record won't-do disposition (PR #94) - #94

Merged
lesnik512 merged 1 commit into
mainfrom
docs/f-tail-docs-and-disposition
Jun 14, 2026
Merged

lesnik512 merged 1 commit into
mainfrom
docs/f-tail-docs-and-disposition

Conversation

@lesnik512

Copy link
Copy Markdown
Member

What

PR 5 of the tail program — documentation only, no code changes. Adds the clarifications the pass-3 audit flagged and records the final disposition of every remaining finding.

CLAUDE.md (invariant nuances)

  • F2-09 — within-batch dispatch order is unspecified (ORDER BY governs selection, not the per-row dispatch sequence).
  • F1-01 — the true lease bound is fetch_batch_size + max_workers, not fetch_batch_size.
  • F2-04/F2-05activate_at / publish_batch NOTIFY timing is worker-clock-relative (vs activate_in's server-side make_interval).
  • F1-07 — NOTIFYs emitted during a fetch-loop reconnect window are lost (latency, not correctness).
  • F2-07deliveries_count counts claims, not handler runs; size max_deliveries with margin.
  • F2-01max_total_delay_seconds is a lower bound (allows ~one more interval).
  • F4-09 — test-broker session leniency on publish/cancel_timer/fetch_unprocessed.

docs/operations/troubleshooting.md

  • F3-03 — "Recommended alerts" (outbox row count, lease_lost rate, dlq_written vs nacked_terminal divergence) on the unbounded-growth section.
  • F5-03 residual — new entry: a chained-OutboxResponse publish failure surfaces as a handler-failure nack with no distinct signal; how to tell them apart (+ index row).

planning/audits

Appended a Tail disposition ledger: resolved (#85#94), documented (#94), won't-do with rationale (F4-03, F6-06, F1-02, F2-02-residual, F5-03-residual, F5-04, F3-04), deferred (#95: F7-07, F7-09, F1-08).

Verification

  • just lint clean (ruff + ty)
  • mkdocs build --strict passes (no broken anchors/links)
  • non-Postgres tests green (no code touched)

After this, only the deferred test-hardening items (#95) remain from the entire pass-3 audit.

🤖 Generated with Claude Code

Documentation-only. Adds the clarifications the pass-3 audit asked for and records the
final disposition of every remaining tail finding.

CLAUDE.md:
- F2-09 within-batch dispatch order is unspecified (ORDER BY governs selection, not dispatch)
- F1-01 true lease bound is fetch_batch_size + max_workers, not fetch_batch_size
- F2-04/F2-05 activate_at / publish_batch NOTIFY timing is worker-clock-relative
- F1-07 NOTIFYs emitted during a reconnect window are lost (latency, not correctness)
- F2-07 deliveries_count counts claims, not handler runs
- F2-01 max_total_delay_seconds is a lower bound (allows ~one more interval)
- F4-09 test-broker session leniency on publish/cancel_timer/fetch_unprocessed

docs/operations/troubleshooting.md:
- F3-03 recommended alerts (row count, lease_lost rate, dlq_written divergence)
- F5-03 residual: a chained-OutboxResponse publish failure surfaces as a handler-failure
  nack with no distinct signal (new entry + index row)

planning/audits: appended a "Tail disposition" ledger — resolved (#85-#94), documented
(#94), won't-do with rationale (F4-03, F6-06, F1-02, F2-02-residual, F5-03-residual,
F5-04, F3-04), deferred (#95: F7-07, F7-09, F1-08).

just lint clean; mkdocs build --strict passes; non-PG tests green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@lesnik512
lesnik512 merged commit 22f4e7b into main Jun 14, 2026
3 checks passed
@lesnik512
lesnik512 deleted the docs/f-tail-docs-and-disposition branch June 14, 2026 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant