Skip to content

docs: sync CLAUDE.md + architecture/ to post-audit code, archive findings - #71

Merged
lesnik512 merged 1 commit into
mainfrom
docs/sync-claudemd-and-archive-audit
Jun 13, 2026
Merged

lesnik512 merged 1 commit into
mainfrom
docs/sync-claudemd-and-archive-audit

Conversation

@lesnik512

Copy link
Copy Markdown
Member

What

Two cleanups bundled (the loose ends after the 2026-06-12 code audit shipped in 0.9.0 + 0.9.1):

1. Doc-sync. CLAUDE.md and architecture/ still described pre-fix behavior — the 6 drift items the audit flagged, plus drift its own fixes introduced. Now corrected:

Doc Was Now
relay (CLAUDE.md + relay.md) _OutboxConfigError "rides AcknowledgementMiddleware to the nack path, row retried" worker catches it, logs ERROR; row retries via lease expiry, not retry_strategy (P18)
CLAUDE.md worker loop delete_with_lease_with_conn / mark_pending_with_lease_with_conn delete_with_lease(conn, …) / mark_pending_with_lease(conn, …)
CLAUDE.md NOTIFY long table names "silently lose NOTIFY and degrade to polling" make_outbox_table raises ValueError at construction (P7)
CLAUDE.md engine ownership phantom EngineState holder; OutboxBrokerConfig.disconnect() both gone — disconnect() removed in P24, EngineState never existed
CLAUDE.md schema note the P8 <table>_lease_ck CHECK; validate_schema() now probes partial-index predicates (S2)
CLAUDE.md + drain.md drain tests test_drain_timeout* / test_broker_stop_runs_subscribers_in_parallel (didn't exist) real names (T8 added them to test_fake.py; integration covers Postgres)
timers.md NOTIFY skipped "when activate_in/activate_at is set" "genuinely future-dated" — a past/zero value does fire NOTIFY

2. Archive. The findings doc is fully resolved (nothing deferred), so it moves planning/active/ → planning/archived/ with status: shipped + PR/release provenance in the frontmatter. The two release-notes "See also" links are repointed to the new path.

Verification

  • just lint-ci clean (ruff format/check, ty).
  • Every test name and identifier referenced in the docs (test_drain_*, <table>_lease_ck, <table>_pending_idx, timer_id_uq) verified to exist in the code.
  • Docs-only — no source/test changes.

🤖 Generated with Claude Code

…ings

The 2026-06-12 code audit shipped across 0.9.0 (#61/#66/#67) and
0.9.1 (#68/#69/#70), but the invariant docs still described pre-fix
behavior. Sync the drift the audit flagged plus the drift its own
fixes introduced, and retire the now-resolved findings doc.

CLAUDE.md / architecture:
- relay: `_OutboxConfigError` no longer "rides AcknowledgementMiddleware
  to the nack path" — the worker catches it, logs at ERROR, and the row
  retries via lease expiry, not the retry_strategy (P18). Fixed in both
  CLAUDE.md and architecture/relay.md.
- terminal-write API: `delete_with_lease(conn, …)` /
  `mark_pending_with_lease(conn, …)`, not the `*_with_conn` names.
- NOTIFY: over-long table names now raise ValueError at construction
  (P7), not "silently lose NOTIFY and degrade to polling".
- engine ownership: drop the phantom `EngineState` holder and the dead
  `OutboxBrokerConfig.disconnect()` (removed in P24).
- schema: note the P8 `<table>_lease_ck` CHECK; validate_schema now
  also probes partial-index predicates (S2).
- drain regression-test references point at the real test names (T8
  added them to test_fake.py; integration covers the Postgres path).
- timers NOTIFY-skip: "genuinely future-dated" wording (a past/zero
  activate_at/in does fire NOTIFY).

Archive:
- move planning/active/2026-06-12-code-audit-findings.md →
  planning/archived/ with status: shipped + PR/release provenance.
- repoint the two release-notes "See also" links to archived/.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@lesnik512
lesnik512 merged commit 5fca107 into main Jun 13, 2026
3 checks passed
@lesnik512
lesnik512 deleted the docs/sync-claudemd-and-archive-audit branch June 13, 2026 10:59
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