chore(t3x): auto-build on a 12h cadence, not every main commit - #15
Merged
Conversation
The desktop auto-build watcher polled HEAD every 60s (120s in the running LaunchAgent) and rebuilt on every main change, so an active repo rebuilt the ~470MB dmg near-continuously. Slow it to a deliberate 12h cadence: - Default --watch --interval 60 -> 43200 (12h). The watcher still rebuilds only when main changed since the last build; it no longer tracks every commit. - Failure backoff caps at max(30min, interval) instead of a flat 30min, so on the 12h cadence a persistently failing build retries every 12h, not ~48x/day. (Also fixes the cap assignment to use the value, not the literal "cap".) - Docs updated to match. A one-shot manual build (plain --install) still bypasses the interval. The running LaunchAgent's --interval was also updated to 43200 out of band. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This was referenced Aug 2, 2026
radroid
added a commit
that referenced
this pull request
Aug 18, 2026
…s package A five-axis review (standards / spec / claim re-verification / internal consistency / prototype QA) turned up 102 findings, ~60 unique. The load-bearing ones, all verified against the code before editing: - The compose-don't-replace correction was applied unevenly: the check-in prompt still said "I am the scheduler for this thread. Do not schedule your own wake-ups", the report kept the CLAUDE_CODE_DISABLE_CRON switch PLAN drops, and the report's deferred table still had session_crons in Phase 3. All now carry the composed story. - Deference now matches #42's Guard #15: T3 stands down while a recorded wake is pending regardless of distance (the binary clamps at 3600s), and fires wake_lost only past a new wakeGraceMs. TESTS 11c reworded. - session_crons carries a cron EXPRESSION, not a timestamp (SessionCronSummary in sdk.d.ts 0.3.170) — the nextFireAtMs parse is the fork's and is now an explicit [A]. - pingdotgg#5127's voiding was overstated: the aborted branch resolves the Deferred with {} but then DENIES the tool call while the session stops. What survives is user-input.resolved with empty answers — voided reads as answered downstream, which is still why the durable record exists. - The §1.4 "second kill" is gone upstream (pingdotgg#5710, e70cdb4): the no-turnState branch emits token usage plus a log, no lifecycle event. - total_cost_usd is stamped onto turn.completed.totalCostUsd, not "unread"; nothing aggregates it, and its semantics stay [A]. - Numbers re-stamped on the a4cc136 ledger: ClaudeAdapter churn 16 / ~4.6k lines, orchestration.ts 20, settingsSearch.ts 14, SettingsPanels 36/2088, contracts/settings 26, the _chat row churn 4 / risk 64 (the fork's added delta stays 0), Sidebar +184/-81. #112 answered with measured churn (RightPanelTabs 14, rightPanelStore 7). - Seam accounting unified on PLAN §6 (3 rows, phases 1-4); SETTINGS_SECTION_ICONS attributed to SettingsSidebarNav.tsx; the "search-invisible" claim dropped (the id union is derived). - Fork main SHAs are rewritten by every sync, so the docs now anchor on the merge-base; the 08-18 force-rewrite to 94c6328 is recorded. - Report section refs renumbered after the mobile insert (§13→§14 etc.), the 137-sum test table now sums to 159, the orphaned decision-4 chips and the four-vs-five scenario counts fixed. - Prototypes: tokens re-lifted where they had drifted ([data-app-sidebar] values, sky-300 not sky-400, computed base literals), p5 gains the self-pacing and wake-lost states (15 total), the spinner became the product's stepped pulse, switches got role/aria, p2 prices the sidebar row chrome honestly (deferred — it would be a new Sidebar.tsx row), p6/p3 align with #44's v1 contract (never pushes, PRs opt-in later). - build-report.mjs: function replacer, escapeHtml on marker fields, a GENERATED banner in the output, honest self-containedness claim, +x. - LoopRecord gains the checkIns array the console's ledger reads; workSource leaves phase 1 (lands with #44); stop-with-pending-crons now calls stopSession, the honest cancel from #42 1c. - The archived loop/ design's DESIGN.md banner no longer overclaims, and its report.html carries a superseded pointer. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The desktop auto-build watcher (
scripts/t3x/auto-build-desktop.sh --watch) polled HEAD every 60s (120s in the running LaunchAgent) and rebuilt whenevermainadvanced. On an active repo that means near-continuous ~470MB.dmgrebuilds — the laptop never settles. Requested change: build on a slow, deliberate cadence (at most every 12h, only ifmainchanged), keep manual builds, and stop failures from retrying every 30 min.Changes (
scripts/t3x/auto-build-desktop.sh)--watchinterval60→43200(12h). The watcher still rebuilds only whenmainchanged since the last build (build_onceis a no-op on unchanged HEAD); it no longer tracks every commit. It does not rebuild the instantmainmoves — a change is picked up at the next poll.max(30min, interval)instead of a flat 30 min. On the 12h cadence a persistently failing build now retries every 12h, not ~48×/day. Short intervals still top out at 30 min (unchanged). This also fixes the new cap line to assign the value (delay="$cap"), not the literal stringcap— caught by a backoff arithmetic unit-check.A one-shot manual build (
scripts/t3x/auto-build-desktop.sh --install) still bypasses the interval entirely.Verification
bash -n(syntax) clean.INTERVAL=60→ 120/480/1800s (unchanged);INTERVAL=43200→ 43200s at every failure count.--helpreflects the new default.🤖 Generated with Claude Code