Repository navigation
refactor: remove the Loom project timeline - #71
Merged
Merged
Conversation
The sidebar button, command palette action, route, and page go with it. loomEdgeLabel in client-runtime had no other caller. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The Home and thread sidebar entries, the stack route, and its test registration go with it. With no web or mobile caller left, the client-runtime Loom module goes too. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contracts, the projectLoom capability, RPC authorization, and instrumentation entries go with it. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Migration 91 drops the six indexes that only Loom read. Without both runs indexes, SQLite no longer picks the status index for the shell's pending-secret lookup and reads each thread's run history instead. That lookup now names the status index, which is what its comment already promised. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Migrate existing facts to a saved-or-forgotten lifecycle and update clients and agents together. Keep provenance, explicit supersession, feedback and TraceDecay-derived ranking. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
providerEnv.ts removes T3_ variables from test workers. FilePreviewModal.test.tsx therefore read iOS while the code under test was compiled for Android, so its Android run failed on main. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude models now advertise ultracode, and resolveOptions fills in every option that does not set speed. The expected targets predate that option. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…o-create feat(memory): save project facts without an approval queue
# Conflicts: # apps/server/src/server.ts
Automatic learning is now on by default, so a settled run queues an extract effect that stays pending until the worker drains it. These tests never run the worker and do not test learning, so they read that pending effect as work left over after recovery. Co-Authored-By: Claude Opus 5.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.
Problem
Loom, the project activity timeline this fork added, did not prove useful in the UI. It is about 9,500 lines across web, mobile, server, and contracts. Upstream does not have it, so every upstream merge has to carry it.
Change
project.readLoomWindowRPC, theProjectLoomservice, theprojectLoomcapability, and the user guide.runs_thread_status_idx. Dropping bothruns_*indexes made SQLite switch that lookup toruns_thread_ordinal_idx, which reads every run of an idle thread. The query's own comment says that must not happen. On seeded data with 500 threads of 200 idle runs, the subquery went from 2.3 ms to 41 ms and the full shell statement from about 101 ms to 116 ms. With the pin, the plan matches the plan before the drop.main, because the requiredFork Checkcannot pass without them.providerEnv.tsremoved theT3_MOBILE_TEST_PLATFORMvariable that the Android run ofFilePreviewModal.test.tsxreads, so that test assumed iOS while its code was compiled for Android.pstackModels.test.tsexpected targets from before Claude models had theultracodeoption. Both changes are test-only and in separate commits.Scope and approval
The fork owner asked for this removal.
These stay on purpose:
ProjectLoomWindowItemsstay, because existing databases record those names and startup compares them.threads_project_linked_idxstays even though migration 77 created it, becausegetThreadsWithPullRequestsreads it.These effects are accepted:
no such index, because they useINDEXED BY. Review found no other code that names the dropped indexes, but nobody ran an old build against a migrated database./loom/...URL shows the sidebar with an empty main pane, the same as any other unknown URL of that shape today.Verification
origin/mainon a test database, which had migration 90 and all the indexes. I then started this branch on the same database. Migration 91 ran, the six indexes are gone, the linked index stayed, and aReplay (dev)turn completed with no SQL errors in the server log.EXPLAIN QUERY PLANbefore and after the drop for SQL captured from server tests: 1,023 statements from an early capture, and 752 from 59 test files on the final code (1,058 tests passed). No plan changed. This covers only SQL that those tests prepare.ProjectionStore.test.tsfails without the pin and passes with it.vp run check:changedpasses: format, lint, knip, typecheck of 41 packages, and 18 test files. Knip does not coverapps/mobile, so I checked mobile orphans by reading the code.expo-modules-autolinkinggives its module scan a fixed 5-second limit (moduleScanner.js:140), and this loaded machine missed it. This branch changes no native inputs. Android was not checked because this machine has no Android SDK.Before and after
The removed page:
Implemented with Claude Sonnet 5.5 and Claude Opus 5.5. Reviewed by Claude Opus 5.5, GPT-6.1 Sol, and DeepSeek V4.1 Flash. Run in T3 Code through Claude Code.
🤖 Generated with Claude Code