Repository navigation
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
hackd's projects response now carries state_token, a digest that ignores per-response and refresh-timestamp fields and Docker's humanized container status. `?wait=<token>&wait_timeout_ms=` answers when the token changes after a runtime refresh, or at the timeout with a fresh build. At most 16 requests wait; malformed parameters are 400. The daemon socket's idle limit rises to 70 s because Bun's 10 s default closes long-polls and server.timeout(request) cannot raise it. The CLI strips state_token so `hack projects --json` keeps its published shape. HACK-2218 R9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The waiter subscribed to refreshes only after building, so a refresh completing during the build was missed and the request could wait out its timeout with newer state cached. The cache now counts completed refreshes; the resolver reads the count before each build and nextRefresh returns at once when a newer refresh has completed. Addresses the persistent review. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@codex review |
Codex Review Summary: ✅ CompletedThis 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. |
|
Codex Review: Didn't find any major issues. Keep them coming! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
The fixed 32-hex test token in tests/projects-wait.test.ts matches gitleaks' generic-api-key rule. It is a synthetic state digest, not a credential; allow that exact line in that file, like the existing relay test token. History is scanned in full, so the line itself stays. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@codex review |
|
Codex Review: Didn't find any major issues. 🚀 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
Ready for lead: a50b4d7 HACK-2218 R9, based on hackd's Decisions taken (flagged):
Fixed during the loop (persistent reviewer P2): a refresh completing while the first payload was built could be missed, leaving the request waiting out its timeout with newer state cached. The cache now counts completed refreshes; the resolver reads the count before each build, and Ran locally (Linux, Bun 1.4.4, temp HOME,
Exact-head hosted CI (run 43700628817): every Linux job that ran passed (test shards 4–8 and fan-in, test focus, secret scan, Config compiler ubuntu, Desktop app Linux, docker-e2e fan-in, docs site). Candidate core, Docker e2e shards, linux-process-lifetime and runtime models/images were skipped by change scope. Desktop app (macOS): queued, not waited for. Optional Proof skipped. GitHub reports mergeable. Review: persistent Codex reviewer CLEAN at this head (round 3). Codex bot: no major issues and no security issues at a50b4d7. Not verified: macOS (the 70 s idle limit on a Mac daemon, and the daemon test there), a real state change end to end (covered by unit tests with fake refreshes), and desktop adoption. No further pushes planned after this note. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5c2ed8c2e2
ℹ️ 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".
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
The token dropped Docker's whole container status to ignore elapsed time,
so a branch container going from healthy to unhealthy (health is carried
only in that text for branches) could not wake a long-poll. Keep the
status's leading word and parenthesized parts ("Up (healthy)",
"Exited (0)") and drop only the elapsed time. Addresses the Codex review.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@codex review |
|
Codex Review: Didn't find any major issues. Another round soon, please! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
Ready for lead: 3323a32 Replaces the note at a50b4d7. Since then:
Decisions from the previous note are unchanged: Ran locally on this head (Linux, Bun 1.4.4, temp HOME, Exact-head hosted CI (run 43723848698): all 16 active checks passed, including every Linux job (test shards 4–8 and fan-in, test focus, secret scan, Config compiler ubuntu, Desktop app Linux, docker-e2e fan-in, docs site). Candidate core, Docker e2e shards, linux-process-lifetime and runtime models/images were skipped by change scope. Desktop app (macOS): queued, not waited for. Optional Proof skipped. GitHub reports mergeable. Review: persistent Codex reviewer CLEAN at this head (round 5). Codex bot: no major issues and no security issues at 3323a32. Not verified: macOS (the 70 s idle limit and the daemon test on a Mac), a real container state change end to end, and desktop adoption. No further pushes planned after this note. |
taking R9
The desktop app polls hackd's
GET /v1/projectsto show project state. This lets it wait for a change instead.wait=<generated_at>, butgenerated_atis stamped on every response, so it cannot mark a state. Responses now carrystate_token, a 32-hex digest of the payload withoutgenerated_at,profiling,runtime_checked_at,runtime_last_ok_atand the elapsed time in Docker's containerstatus("Up 12 seconds (healthy)" is digested as "Up (healthy)"). Those change on every 30 s refresh with no state change; the status's health and exit code, containerstateand the R2 state/health fields still count.?wait=<token>answers at once when the current token differs. Otherwise it rebuilds after each runtime refresh and answers when the token changes, or atwait_timeout_ms(default 25000, 1000–55000) with a fresh build. A client disconnect stops the wait. At most 16 requests wait; beyond that the answer is immediate. Malformed parameters return 400. Registry-only changes appear at the next refresh or at the timeout.server.timeout(request, n)does not raise that limit on Bun 1.4.4 (probed: requests were cut at ~12 s whatever value was passed). The daemon's internal server now setsidleTimeoutto 70 s. Bun's types declareidleTimeoutonly for host/port servers, so a small helper adds it. The socket stays owner-only. The unsupported gateway route does not wait.hack projects --jsoncan be served from the daemon payload, so the CLI stripsstate_tokento keep its published shape the same with and without a daemon.Docs: waiting for changes, next.18 release notes, desktop
DESIGN.mdR9 row marked as existing.Validation and gaps are in the ready note.
🤖 Generated with Claude Code