Skip to content

feat(import): import Factory Droid sessions from the Welcome Wizard - #4

Draft
jhomra21 wants to merge 18 commits into
feat/provider-droid-nextfrom
feat/droid-session-import
Draft

jhomra21 wants to merge 18 commits into
feat/provider-droid-nextfrom
feat/droid-session-import

Conversation

@jhomra21

@jhomra21 jhomra21 commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Problem

The Welcome Wizard imports existing sessions from other agents, but not from Factory Droid. A Droid user has to start every conversation over in T3 Code.

Change

  • AgentSessionScanner reads the .jsonl transcripts under ~/.factory/sessions/<session-slug>. It skips Droid child sessions, which are marked with callingSessionId or callingToolUseId, and it skips malformed transcripts and transcripts with no user message. When the transcript names no model, it reads the model from the session's .settings.json file.
  • AgentSessionImporter saves the Droid session id as the provider thread's native id and as the runtime's resume cursor. When the imported thread starts, the Droid adapter loads that session with droid.load_session.
  • WelcomeWizard lists Factory Droid as an import source and in its scan description, and the session-source contract includes it.
  • The Droid and Welcome Wizard user guides say Droid sessions can be imported.

Scope and approval

This depends on the native Factory Droid provider PR and falls under the same Ideas discussion. (Ideas discussion: pingdotgg#27369) Against the provider branch, the diff is 9 files: the scanner and importer with their tests, the Welcome Wizard and its browser test, the session-source contract, and the two user guides.

Verification

  • vp env exec --node 26.12.1 -- vp run --filter t3 --filter @t3tools/web --filter @t3tools/contracts typecheck: passed.
  • vp env exec --node 26.12.1 -- vp test run apps/server/src/project/AgentSessionScanner.test.ts apps/server/src/project/AgentSessionImporter.test.ts: all passed except 2 scanner tests that create symlinks, which Windows refused without symlink permission (EPERM). The same 2 tests fail on the provider branch.
  • Mutation checks on the pre-merge branch, where each removal failed its test:
    • removing the child-session exclusion;
    • replacing the saved Droid session id;
    • accepting a transcript with no user message.
  • Not checked: WelcomeWizard.import.browser.test.tsx, because Playwright Chromium isn't installed on this machine, and the import flow in a real client after the merge.

Built with Claude Opus 5.5 orchestrating GPT-6 Luna and Claude Haiku 5.5 workers through Factory Droid in T3 Code. Upstream preparation by GPT-6.1 Terra, orchestrated by Claude Opus 5.5, through Factory Droid in T3 Code.

@github-actions github-actions Bot added the vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. label Oct 16, 2026
jhomra21 and others added 2 commits October 18, 2026 09:32
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
@jhomra21
jhomra21 force-pushed the feat/droid-session-import branch from 551973c to c7321de Compare October 18, 2026 14:47
@jhomra21
jhomra21 force-pushed the feat/provider-droid-next branch from 46c0130 to 7e42eba Compare October 18, 2026 14:47
@github-actions

github-actions Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Thread transfer impact

⚠️ The latest CI run did not produce a thread transfer result for c7321de.

This comment will update automatically after the next completed run.

jhomra21 and others added 2 commits October 29, 2026 20:12
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
@github-actions github-actions Bot added size:XL and removed size:L labels Oct 30, 2026
@jhomra21
jhomra21 marked this pull request as draft October 30, 2026 02:32
@github-actions github-actions Bot added size:L and removed size:XL labels Oct 30, 2026
@jhomra21 jhomra21 changed the title feat(import): add Factory Droid session import fix(web): show pending background work while the agent works Oct 30, 2026
@jhomra21 jhomra21 changed the title fix(web): show pending background work while the agent works feat(import): import Factory Droid sessions from the Welcome Wizard Oct 30, 2026
jhomra21 and others added 12 commits October 29, 2026 22:16
Remove unrelated scanner comments and realpath exclusion handling from the Droid import branch.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
…id-session-import

# Conflicts:
#	docs/user/providers-droid.md
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant