Skip to content

fix(release): unblock the v0.1.4-nightly.20261027.3796 release checks - #64

Merged
danspark merged 3 commits into
mainfrom
codex/release-ci-3796
Nov 1, 2026
Merged

danspark merged 3 commits into
mainfrom
codex/release-ci-3796

Conversation

@danspark

@danspark danspark commented Nov 1, 2026

Copy link
Copy Markdown

Problem

Release run 41323134582 for v0.1.4-nightly.20261027.3796 (source PR #62, merged as 23aa96769) failed three checks. None of them come from the T2 overlay; all three are in upstream code at the pinned commit b88da913 and passed PR CI on 2026-10-28. No release was published.

  • Test Server 1: UsageService "reports saved usage of a removed directory only for windows it reaches" reads the wall clock. By 2026-11-01 its 2026-08-01 usage had aged out of retention, so the expected bucket was pruned.
  • Test Server 2: the runner image moved to Git 2.56.0. When a worktree's .git file points at a deleted gitdir, Git now says "gitfile does not point to a valid repository" instead of "not a git repository". Storage cleanup therefore reported that worktree as failed rather than kept. Nothing was deleted either way.
  • Linux x64 launch check: the fixture threads, last active 2026-10-27, aged past the default auto-settle window. The server settled them on startup and the sidebar hid them in the collapsed Settled shelf, so the check timed out looking for "Release launch check". Its screenshot shows an empty thread list with "Settled 2".

Change

Three overlay rules, one commit each:

  • Backport upstream's test fix test(server): pin clock in saved-usage window test pingdotgg/t3code#28603 (1280ccd0d) unchanged, pinning TestClock near the write.
  • Storage cleanup also recognizes Git 2.56's invalid-gitfile message. Upstream has not changed this check yet.
  • The desktop launch check writes settings.json with sidebarAutoSettleAfterDays: null before launching. Upstream fixed the same failure by editing the binary fixture (ae521d1d7). The overlay patches text, so carrying a copy of that fixture would silently override later upstream fixture changes. This text rule fails loudly if the script changes.

Scope and approval

This is a release-CI compatibility repair within the authorized nightly release task in the linked T3 thread. Privacy protections, analytics overlay rules, dependency versions, lockfiles, update destinations and the Linux x64/ARM64 outputs are unchanged. The pinned upstream tag stays v0.1.4-nightly.20261027.3796.

Verification

  • The usage test failed locally on the pinned source. With the backport, which matches upstream's commit line for line, all 40 UsageService tests pass.
  • The storage cleanup test failed locally under Git 2.56.0 with the CI error. With the change, all 122 storage cleanup tests pass.
  • I ran the candidate server against a copy of the launch fixture. Without the setting, a startup sweep settled both threads. With it, a complete sweep settled neither, and the server kept the setting when it rewrote settings.json. PR CI does not run the packaged launch check, so the release workflow's x64 launch step is the final proof.
  • node .github/t2code/overlay.mjs verify passes, all 37 release-control tests pass, and vp run check:changed passes format, lint, Knip, typecheck of 36 packages and the adjacent tests.
  • The failed release run stays unpublished. A new release run is needed after this merges.

Model: Claude Opus 5.5. Harness: Claude Code in T3 Code.

🤖 Generated with Claude Code

danspark and others added 3 commits November 1, 2026 13:15
The release run for v0.1.4-nightly.20261027.3796 failed in Test Server 1
because "reports saved usage of a removed directory only for windows it
reaches" read the wall clock. Its saved usage is dated 2026-08-01, and on
2026-11-01 that day had aged out of the retention window, so the expected
bucket was pruned and the assertion saw an empty list. PR CI passed on
2026-10-28, before the boundary.

Backport upstream's fix (pingdotgg#28603, 1280ccd) unchanged: pin
TestClock near the write and provide the test clock layer. The test failed
locally on the pinned source and all 40 UsageService tests pass with the
backport. Carry it as an overlay rule until the pinned upstream includes it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…Git 2.56

Storage cleanup treats "not a git repository" from a pre-removal Git check as
"repository or branch changed" and keeps the worktree. Git 2.56 reports a
worktree whose .git file points at a deleted gitdir as "fatal: gitfile does
not point to a valid repository" instead, so cleanup marked the entry failed
rather than kept. Nothing was deleted either way, but the report was wrong,
and "compares the checked-out branch without a full status" failed in the
v0.1.4-nightly.20261027.3796 release run once the runner image moved to Git
2.56.0. PR CI passed on 2026-10-28 with the older runner Git.

Recognize both messages. The existing test failed locally on Git 2.56.0 with
the pinned source and all 122 storage cleanup tests pass with the change.
Upstream has not changed this check yet, so carry it as an overlay rule.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The packaged-app launch check copies a fixed fixture database whose two
threads were last active on 2026-10-27, then waits for "Release launch check"
in the sidebar. Once those threads aged past the default auto-settle window,
the server settled them on startup and the sidebar moved them into the
collapsed Settled shelf. The Linux x64 job in release run 41323134582 timed
out there; its screenshot shows an empty thread list with "Settled 2".

Write settings.json with auto-settle disabled before launch, so the check no
longer depends on the date. Upstream fixed the same failure by editing the
binary fixture (ae521d1). The overlay patches text, so a carried copy of
that fixture would silently override later upstream fixture changes.

Running the candidate server against a copy of the fixture reproduced the
failure: without the setting, a startup sweep settled both threads. With it,
a complete sweep settled neither. PR CI does not run this check; the release
workflow's x64 launch step does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@danspark
danspark merged commit 00e5726 into main Nov 1, 2026
15 checks passed
@danspark
danspark deleted the codex/release-ci-3796 branch November 1, 2026 16:36
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