Repository navigation
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bd5223deee
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e41f377202
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 576a860be4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 21e19e81d0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a913232a66
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…tion (#958) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012Q88PP3G4JMJoxUjDKVpNj
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2d01255c24
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| only before its first successful execution claim/start transition linearizes; | ||
| while it is open, a new materialized route disposition may still be attached to | ||
| it under the kind's explicit coalescing rule. The first successful committed | ||
| claim/start transition makes the logical job **coalescing-sealed**, | ||
| permanently: no new route disposition may be attached to it afterwards. The |
There was a problem hiding this comment.
Close coalescing before pre-start cancellation
When a pending coalescing job is cancelled before its first claim—a transition explicitly allowed in section 3.4—this definition does not seal it because only the first successful claim/start does so. A later router can therefore either attach a new disposition to a terminal CANCELLED job, silently losing that obligation, or refuse the attachment but remain unable to use the post-seal successor path because the job was never sealed and its idempotency key remains reserved. Make pre-start cancellation atomically close coalescing, serialize it against attachment, and define both race orders.
AGENTS.md reference: AGENTS.md:L350-L361
Useful? React with 👍 / 👎.
THOTH-ASYNC-01-ADR-01 - ADR-0012 shared asynchronous architecture (Amendment 13)
Programme: THOTH-ASYNC-01 #957
Owning task and decision ledger: THOTH-ASYNC-01-ADR-01 #958
Repository:
thoth-pub/thothRisk / owner: CRITICAL / CTO
Scope: Cross-programme architecture and documentation only. No shared-engine implementation, migration or runtime activation.
Approval route: Repository decision-doctrine Route B - PR-first staged approval, with the expressly authorized transitional task branch
feature/async/adr-0012targetingfeature/worker.Current source decision (reconciled 2026-10-21): Amendment 13, including Revisions 1 and 2, has CTO architecture-content approval, an
APPROVEDADR-0012 status, CTO approval of the exact final ADR Git blob, and a fresh independent CRITICAL final-source-head review: APPROVED, no blocking source findings. This does not grant a configured GitHub PR approval, Draft-to-Ready transition, merge authorization, repository authority or operational activation. PR #960 remains DRAFT and UNMERGED; merge readiness is HOLD.Exact current source / authority identity
SHA-bound evidence applies only to these exact objects. Any source commit invalidates final-head review, and a later material ADR byte change invalidates this exact-final-blob approval.
Amendment 13 - effective approved specification and Route-B evidence
The effective material correction is original Amendment 13 + Revision 1 + Revision 2, with R2 controlling overlapping R1/original text and R1 controlling overlapping original text. Unaffected prior approved amendments remain binding. GitHub owns lifecycle evidence; the committed ADR and report do not self-pin approval comment IDs.
Selected correction: Each event has an immutable original-epoch classification for every logical route. Every first
(event_id, route_key)disposition writer must prove classification, path-specific eligibility and authorization inside its database-consistent admission transaction. An in-epoch contract mismatch may obtain a disposition only through compatible explicitly authorized first historical enrollment and a canonical terminalENROLLEDanomaly.Detection, first mismatch enrollment and authorized reconciliation/divergence share a database-enforced canonical anomaly creation/terminal-decision order, including when no anomaly row existed at the first read. Detection-first creates
OPEN; compatible enrollment-first atomically creates a born-terminalENROLLEDanomaly, the unique route disposition and required job/attachment facts. Later detection converges without reopening it. Divergence is lawful only from a previously committedOPENanomaly, with explicit authority and covering/compensation evidence; it creates no route disposition or job. Contradictory existing durable state fails closed for separately authorized incident recovery, never invented automatic repair.Preserved architecture: activation epochs and immutable route-contract revisions; selection/withdrawal and strand-safety ordering; transactional business event emission; event/route/job distinction and durable backlog; atomic routed-job/disposition/input creation; coalescing attachment versus first-claim seal; deterministic post-seal successors with distinct effect identities; revision-bound/current-state semantics; target-scoped idempotency and effect fencing; at-least-once execution, checkpoints, ambiguous provider-effect reconciliation, trust-separated worker pools, authorization/audit and BE-04 expand/migrate/retire/contract compatibility. The final ADR includes 47 numbered invariants, 30 active Amendment-13 validation cases (A13-T01-T24 and A13-T26-T31), with T25 expressly retired, and the earlier Amendment-12 post-seal validation requirements. These are implementation acceptance specifications, not tests executed by this documentation PR.
Historical Amendment 12: The prior approved correction resolved R-21E-01 (post-seal recovery) by requiring distinct, deterministic and atomically materialized successor generations instead of retrying a permanently sealed identity; it retains its own independent reviews, candidate/approval-state history and exact blob approval in issue #958. Its 2026-10-15 approved ADR blob
1c98ce0cca1eeb4bf46bbfc526a3826c534f637eand former PR heada913232a6623936855d635885d513d4c778c4b25are historical only and must not be treated as approvals of Amendment 13.Scope, owning boundaries and validation
Against
feature/worker @ b44303c214498baf76c9d9a0a7cab374377f9cbe, PR #960 is 49 commits ahead, 0 behind, exactly six documentation paths:The final source commit changes four existing documentation paths (ADR-0012, register, changelog and implementation report); it leaves architecture sections 3, 7 and 11 byte-identical to the content-approved candidate. ADR-0008 and ADR-0010 are superseded in part only under ADR-0012's authority condition; unaffected machine-role, least-privilege, staff/audit and service-operation seams remain binding. ADR-0013 programme-local exact-version reliance is distinct and not automatically granted.
The approved architecture assigns
thoth-pub/thoththe shared PostgreSQL durable engine and trusted worker contract;thoth-pub/thoth-disseminationdissemination-specific executors;thoth-pub/thoth-appthe released BE-04 read-surface compatibility/migration obligation; andthoth-pub/infrastructurethe separately authorized runtime/IAM substrate. This PR implements none of those later executable changes.GitHub Actions at the exact head:
check-changelogrun39463029745succeeded; runs39463029561(build-test-and-check),39463029491(run-migrations) and39463029529(publish-to-dockerhub) completed with successfulclassifysteps and the actual build/test/lint/format, migration and image-publication jobs SKIPPED. Workflow-level success is not a runtime or database-test pass. No Rust, SQL, data, provider/IAM or infrastructure source change is part of this PR.Historical review findings, configured review and remaining controls
The five historical PR review findings are source-level corrected by the current approved architecture but require explicit, separately recorded GitHub-thread disposition:
R-E41F-01(withdrawal/strand predicate);R-576A-01(atomic job/disposition);R-576A-02(mutually exclusive anomaly terminal outcomes);R-21E-01(post-seal successor);R-960-A12-DET-ENR-01(detector versus first-enrollment with no initial anomaly). A thread-resolution UI state is not a configured GitHub APPROVED review and does not suppress new findings. The owning issue records the authoritative adjudication; use live GitHub thread status rather than a historical count in this description.As of 2026-10-21 preflight, PR #960 had 38 COMMENTED review submissions and zero APPROVED, no explicitly requested reviewers or teams, and remained DRAFT. The independent source review recorded on issue #958 does not constitute a formal GitHub PR-review submission. The live branch protection / configured reviewer requirements must be checked at the Ready/configured-review gate; do not assume a
cleanmergeability status proves those permissions.Next separately authorized gate: reconcile any outstanding PR-thread effects; identify configured reviewer/check requirements and authorize Draft -> Ready, accounting for potential automatic reviewer/CI side effects; obtain configured exact-head review and adjudicate any new findings, then secure a separate CTO CRITICAL exact-reviewed-head merge authorization before guarded merge into
feature/worker. Subsequentfeature/worker -> developintegration, ADR repository authority or a separately pinned ADR-0013 reliance route, implementation, migration, provider action, deployment and production activation remain independent controls.Not authorized by this PR metadata: source edits, commits or pushes; review requests, Ready transition or configured PR-review submission; issue-body replacement; merge, rebasing or target change; manual CI; data/schema migration; provider/IAM/runtime reads or writes; Docker publication; release; deployment; production activation. PR metadata and historical thread-source dispositions do not grant those permissions.
Tracks #957 and #958.