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. |
|
Matching website PR: https://github.com/tnldotdev/tnl.dev/pull/191. Passed locally on 294167a: generation/format checks, routine Go tests, Go lint, ingress races, PostgreSQL guest/storage/instrumentation and independent lock-order/run-fence checks, and database load smoke for steady state, relay recovery, and shutdown (PUBLIC_URLS=4). The real-clock cadence target also passed with PUBLIC_URLS=4 DURATION=2m: 32/32 heartbeats, zero late work, both affected slots recovered, current routing on both ingress processes. The guest runtime still serves its page/fonts/ping and closes an open visitor TLS connection within the ready deadline during a control outage after usage removal. Forwarding/source/capacity/cleanup assertions from the former server_usage suite live in server_forwarding_test.go; usage-only assertions are retired. The older Linux cross-team publisher-groups cleanup deadline failure remains tracked at the final integration gate. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 294167acca
ℹ️ 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".
| OR (control.ingress_leases.ingress_run_id <> EXCLUDED.ingress_run_id | ||
| AND control.ingress_leases.lease_expires_at <= EXCLUDED.registered_at) |
There was a problem hiding this comment.
Preserve the fence for previously retired ingress runs
If run A expires, run B replaces it, and B subsequently expires, this predicate accepts another registration from A because it compares only against B. Previously, ensureIngressUsageRun rejected that registration because A's stored lease revision differed, rolling back the replacement. This can occur when A keeps retrying its initial registration after losing the successful response: its controller has no acknowledged lease for the local expiry watchdog to fence. Removing the history check therefore allows a retired process run to obtain a fresh lease and serve again. Preserve retired-run fencing independently of usage accounting, and extend the registration test to cover A → B → A.
AGENTS.md reference: AGENTS.md:L213-L214
Useful? React with 👍 / 👎.
What
Remove the native hosted usage-accounting system as the next layer of the coordinated public-ingress/native-peer rewrite. Traffic forwarding keeps operator measurements, admission, IP policy, and guest time authority; control no longer stores or delivers customer transfer reports.
This follows #474 and belongs below the final integration gate in #470. The matching website layer removes the receiver, tables, transfer page, and transfer-review job.
Why
Hosted usage accounting is being retired without a replacement ledger or transfer UI. Guest demos now have durable ready-time authority, so their enforcement no longer depends on byte reports. Keeping the old collectors and delivery workers would retain unnecessary state and make the connection-path rewrite depend on an obsolete system.
Changes