feat(web): first-run welcome wizard with agent setup and project import - #5362
feat(web): first-run welcome wizard with agent setup and project import#5362t3dotgg wants to merge 38 commits into
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Warning Your free Security trial is over. An organization admin can activate Security or dismiss this notice. Comment |
There was a problem hiding this comment.
Effect service conventions review of the new agent-session scanner service, its contract error, and the WS wiring. Three convention violations found; details inline.
Posted via Macroscope — Effect Service Conventions
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR introduces a large first-run onboarding, agent setup, transcript import, and resumable-session workflow with substantial UI, filesystem, persistence, terminal, lifecycle, and authorization changes. It also changes product defaults and adds a static-analysis suppression, so the scope and sensitive runtime effects require human review. You can add or adjust custom eligibility rules. Learn more. |
There was a problem hiding this comment.
One convention issue found in the new server service module. The three items flagged on the previous revision (redundant failure singleton on AgentSessionScanError, message-derived wrapper in ws.ts, unexported make) are all resolved.
Posted via Macroscope — Effect Service Conventions
There was a problem hiding this comment.
Effect service conventions review of the new AgentSessionScanner service and its RPC wiring. The three findings from the previous run (namespace import for ProjectionSnapshotQuery, structural operation discriminator on the scan error, exported make) are all addressed. Two remaining items below.
Posted via Macroscope — Effect Service Conventions
There was a problem hiding this comment.
One remaining convention deviation on the new contract error; everything else (namespace imports, single-module service layout with inline interface + make/layer, environment-based dependency acquisition, Foo["Service"] usage) looks consistent with the conventions.
Posted via Macroscope — Effect Service Conventions
8e67f03 to
986f1f5
Compare
e09d086 to
92c434a
Compare
92c434a to
0b680a7
Compare
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
|
Oh lets go, super hyped for this |
85e5d06 to
0ad6fae
Compare
|
Note 🤖 GPT-5.6 Sol responding on behalf of Theo @macroscope-app manual review Please review current head |
|
Manual review triggered for the current head; checks are in progress. |
Fresh installs need a clear path to connect the computer that has their code, set up agents, and bring existing work into T3 Code. Existing workspaces continue straight to the app.
This adds a full-screen first-run welcome flow with no logo chrome. Users can run on the local computer, connect through T3 Connect, or pair a server directly. Provider readiness detects only Codex and Claude Code by default.
The selected provider instance's binary, account home, and environment are used consistently for readiness, setup, and runtime. The server resolves terminal values before it starts the PTY, while Settings and terminal metadata stay redacted. Legacy Codex and Claude settings still resolve under their default instance IDs, and explicit instances take precedence. Terminal errors retain their server-settings cause for diagnostics without exposing it in the user-facing message. POSIX home paths expand correctly while spaces and shell operators stay quoted.
The import step finds recent Codex and Claude Code work. Discovery accepts only regular transcript files and shares a 20,000-operation budget across directory reads and candidate stats for each provider source. Successful imports keep their thread identities across partial import, retry, and reload. This prevents duplicate projects or conversations. Import order is a total order: malformed timestamps sort before valid timestamps, valid timestamps use absolute time, and malformed ties use code-unit order. The first prompt stays within the 200-message cap, and completion lands on a selected project that imported history. Completion retry also keeps the saved client appearance settings and selected project target. Imported conversations remain resumable and do not publish live Done alerts through the relay.
The first-run gate waits for settings and authoritative environment data. Slow startup stays pending and offers Reload instead of mounting the app. The gate keeps the onboarding theme through recovery and wizard routing, so a saved light or custom theme cannot flash between states. Completion waits for the settings write before it closes. Active custom themes are restored afterward. Server welcome state follows the current session under one lock, so buffered events cannot restore stale session data. The authentication confirmation cache also prevents false success without an extra GET request.
Scope: this PR covers first-run import through
/welcome. Post-onboarding import, external-turn refresh, and safe single-writer handoff remain tracked in Discussion #6680. Merging this PR does not complete that request.Browser evidence
Final head:
1c765685aa587a408b3b2c6386b943efef9d4ce0Slow startup recovery
Watch the delayed-start recovery flow
Agent readiness
Project import
Saved font at 320 px
Signed-out Codex terminal
Verification
1c765685aa587a408b3b2c6386b943efef9d4ce0is based onmainatb883fc066ea5c9bebbe1c3e9b4bc2471aab3685f.CODEX_HOME, did not receiveT3CODE_PORT, and cleaned up after close. No login command or provider turn was submitted.T3CODE_BUNDLED_DEV=0. The experimental bundled dev server can reload after its first build and cancel pairing.Built with GPT-5.6 Sol in Codex.
Note
Changes since #5362 opened
AgentSessionScannertranscript discovery to enforce a unified operation budget covering both directory reads and file stats, and filter out non-file entries during discovery and before reading transcripts [1c76568]terminal.resolveProviderInstanceTerminalEnvironmentby importing and usingderiveProviderInstanceConfigMapto source provider instance configurations [1c76568]historyImportfield toThreadCreateCommandschema, propagating it throughAgentSessionImporter.importRecentAgentThreads, and conditionally injectingmetadata.historyImport: trueintothread.createdevents in the orchestration decider [1c76568]AgentAwarenessRelay.shouldPublishAgentAwarenessEventto suppress publication of any event withmetadata.historyImportset to true [1c76568]shared.compareDateTimeStringsto consistently sort malformed date-time strings before valid ones by parsing both values once and comparing based on validity [1c76568]