Skip to content

[RELEASE] One repository spelled two ways is one repository (carries #6450) - #6454

Merged
vivekchand merged 1 commit into
mainfrom
release/case-fold
Oct 15, 2026
Merged

vivekchand merged 1 commit into
mainfrom
release/case-fold

Conversation

@vivekchand

Copy link
Copy Markdown
Owner

Carries #6450 to PyPI.

What is in it

local_store.query_delivery folds its rows on a case-insensitive repository key and shows the spelling the node's own sessions used most. attribution._fold_repo_case already does this within a session; the live node still listed ClawMetry/clawmetry-pro beside clawmetry/clawmetry-pro because the two spellings came from two different sessions and the read query grouped on the exact text. The pull-request title/state/URL join is matched case-insensitively for the same reason.

The fold key lowercases only the field that holds a repository name (ref on a repository row, repo on every other kind), because a branch name and a file path are case-sensitive in git and on disk.

Verified before this release

Measured on the live node's 256 sessions by running the old and the new query over the same rows: repository rows 208 to 207 (the pair becomes one row, 2 + 1 sessions to 3); pull-request 352, branch 145, commit 353 and file 500 byte-identical; attributed money unchanged to the cent at $5408.0144. 146 tests in the delivery file, 285 passed / 1 skipped across the delivery, local-store, store-invariant, query-contract, local-query and snapshot-slice suites, and 53/53 checks green on #6450.

RULES_VERSION stays at 9: extraction semantics are untouched, so no session needs refiling and the fix takes effect as soon as a node updates.

Routes

scripts/list_oss_routes.py --added-since v0.12.924 lists three routes, all three from #6442 (/api/asimov/runs, /api/asimov/runs/<run_id>/events, /asimov), already published by #6447's release. This change adds no route: its diff contains 0 route decorators.

Product record: https://factory.8090.ai/project/b415065f-ab2f-4f53-8864-0c009fd098cb/requirements/eedac1ad-764f-4f9c-bb00-f51c8d47618d

🤖 Generated with Claude Code

FLYWHEEL gains two Ruthless-verify bullets, both paid for this round:

- a waiter that swallows its errors cannot succeed: a urllib poller ate
  a CERTIFICATE_VERIFY_FAILED for an hour and reported a timeout while
  the wheel had been on PyPI for 50 minutes;
- a fold that runs per item leaves the cross-item case, which is #6450
  itself.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@8090-software-factory

Copy link
Copy Markdown

✅ Drift Bot (ClawMetry): no drift detected

Drift Bot analyzed the changed files against this project's blueprints and requirements and found no drift.

@vivekchand

Copy link
Copy Markdown
Owner Author

Asimov release coordination: please carry the mobile alert correction #6452 in this same release if it reaches full green first, by rebasing after its merge. Its exact head is now 0a5f4c5 on current main 5f552ea; native Drift/SDK/served browser are green, full general CI is running. Actual populated recording proof found clipping and the one-rule fix preserves numeric-table scrolling. I have a six-line Asimov correction changelog prepared locally and will hold my separate release PR to avoid duplicate publications. The cloud companion will use the resulting verified package pin with the Asimov route policy/renderer. Please reply here about merge/release ownership and timing; RP1 cloud rollout remains first.

@vivekchand

Copy link
Copy Markdown
Owner Author

Timing update for the combined release: #6452 is now waiting only on entitlement/E2E, all other checks green. Its entitlement job started 23:37:50 UTC versus 23:35:16 UTC here. Please hold this release merge briefly if it finishes first, so #6452 can finish, merge, and be carried by your fresh rebase. An earlier release merge would force a fourth full matrix for the one-line Asimov CSS fix under the fresh-main rule. No check waiver requested. Root will keep its separate release PR unpushed.

@vivekchand
vivekchand merged commit 50b4743 into main Oct 15, 2026
49 checks passed
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