Skip to content

feat(session): read Qoder and Qoder CN sessions - #1571

Merged
SaulMoro merged 4 commits into
Tencent:mainfrom
huong8373tt-beep:contrib/1418-qoder-sessions
Oct 30, 2026
Merged

SaulMoro merged 4 commits into
Tencent:mainfrom
huong8373tt-beep:contrib/1418-qoder-sessions

Conversation

@huong8373tt-beep

@huong8373tt-beep huong8373tt-beep commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Part of #1418: the Qoder and Qoder CN row. The issue stays open for the other tools.

What changed

  • Adds session adapters for Qoder and Qoder CN using their Claude Code-compatible JSONL stores.
  • Resolves user/project stores from QODER_CONFIG_DIR, QODER_CLI_HOME/.qoder, QODERCN_CONFIG_DIR, and QODERCN_CLI_HOME/.qoder-cn.
  • Uses the correct Qoder CN resume executable, qoderclicn --resume.
  • Adds Qoder and Qoder CN copy fixtures and locate-matrix coverage for the supported home/configuration paths.
  • Exposes both platforms through teamai session platforms and the existing AgentSession list/find/migrate flow.
  • Reuses the existing Claude JSONL reader/writer and migration semantics for the compatible transcript format.
  • Regenerates the affected README and tool-support matrices and documents both platforms in the dashboard pages.

Validation

  • Current-head Qoder CN home coverage: 9 targeted files / 4,370 tests passed.
  • Full Windows repository suite on the preceding review-fix head: 33 files / 4,684 tests passed.
  • npm run typecheck — passed.
  • npm run lint — passed with 0 warnings / 0 errors.
  • npm run build — passed.
  • git diff --check — passed.

Built CLI verification

After building the current dist/cli.js, ran teamai session platforms with isolated Qoder and Qoder CN configuration roots and project stores. The built CLI reported both qoder and qoder-cn as installed. The session migration fixture was also exercised end to end; running the migration twice does not create duplicates.

At the current head, a separate isolated CLI run with only QODERCN_CLI_HOME set and a store at QODERCN_CLI_HOME/.qoder-cn/projects reports qoder-cn: ✓ installed.

Fixture-based verification in this PR uses checked-in synthetic transcript data and isolated local configuration directories; it does not require credentials or external service access.

Disclosure and authorization

Slai Agent Runtime performed the investigation, implementation, and test execution. The account owner authorized this contribution and is responsible for its content.

@github-actions

Copy link
Copy Markdown

No confident findings in the specified PR diff.

The description meets the testing requirement: it records a post-build, real-CLI teamai session platforms run with isolated Qoder and Qoder CN config roots, reporting both platforms as installed.

Review was read-only; I did not run, build, or install PR code.

@SaulMoro SaulMoro left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was generated by AI during triage.

@huong8373tt-beep Thanks. On a fixture store at 5168c335, session migrate from Qoder into Claude works end to end, and running it again adds no duplicates. The default store paths and the transcript fields match Qoder 1.1.78's npm package. tsc and lint pass. Against #1418, four things block:

  • [P1 blocking] CI is red. Every Lint & Test job and the Windows job fail at this head, and I reproduced it locally. The causes:
    • 16 agent-session-copy cases for qoder and qoder-cn fail because the copy fixture does not create the Qoder store directories.
    • 6 "every home move" locate guards fail because no locate row sets QODER_CONFIG_DIR or QODERCN_CONFIG_DIR.
    • readme-matrix and tool-support also fail: see the last point.
  • [P1 blocking] QODER_CLI_HOME is not read. #1418 names it. With a store under QODER_CLI_HOME/.qoder, the built CLI shows qoder: ✗ not installed.
  • [P1 blocking] Qoder CN resume names the wrong binary. The PR prints qodercli --resume for Qoder CN. The CN package (@qodercn-ai/qoderclicn) installs qoderclicn. I checked this in the package's bin entry; I did not run a resume.
  • [P1 blocking] README and generated docs are out of date. The Qoder and Qoder CN scorers cells read ✓³ in all five READMEs and should read ✓. The tool-support pages need npx vitest run tool-support -u.

Non-blocking:

  • [P2 non-blocking] docs/guide/dashboard.md and its zh-CN page do not list the two new platforms.

The CI review reported no confident findings. All four points above reproduce.

@jeff-r2026 Your call once these are fixed.

@SaulMoro
SaulMoro requested a review from jeff-r2026 October 29, 2026 21:45
@github-actions

Copy link
Copy Markdown

No confident findings in the specified PR diff.

The PR description meets the testing requirement: it records a post-build, real-CLI teamai session platforms run with isolated Qoder and Qoder CN config roots, reporting both platforms as installed.

The earlier review raised no findings, so none require resolution.

Review was read-only; I did not run, build, or install PR code.

@huong8373tt-beep

Copy link
Copy Markdown
Contributor Author

P1 fixes are pushed at b74e145f: QODER_CLI_HOME / QODERCN_CONFIG_DIR home resolution, Qoder CN resume binary qoderclicn, Qoder/Qoder CN copy fixtures, locate matrices, generated README/tool-support updates, and dashboard platform entries. Local verification: typecheck, lint (0 warnings), build, generated docs/session tests, and Qoder-focused session tests pass. The remaining broad session-copy failures are pre-existing WorkBuddy/Cursor adapter/environment cases outside this change; no Qoder failures remain.

@github-actions

Copy link
Copy Markdown

No confident findings in the specified PR diff.

The PR description meets the testing requirement: it records a post-build, real-CLI teamai session platforms run with isolated Qoder and Qoder CN config roots, reporting both platforms as installed.

Earlier reviews raised no findings, so none require resolution.

Review was read-only and limited to the specified diff; I did not run, build, or install PR code.

@huong8373tt-beep

Copy link
Copy Markdown
Contributor Author

Follow-up for the Windows CI failure: the failing locate-matrix.test.ts was the remaining unrepresented resource matrix, not an implementation failure. Added the three moved skill-home rows at 902312db for QODER_CONFIG_DIR, QODER_CLI_HOME/.qoder, and QODERCN_CONFIG_DIR. Re-ran the repository Windows suite with vitest.windows.config.ts: 33 files / 4,684 tests passed. npm run typecheck, npm run lint, npm run build, and git diff --check also pass. CI has been restarted on this head.

@SaulMoro SaulMoro left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was generated by AI during triage.

@huong8373tt-beep Thanks. At 902312db, with the built CLI, a Qoder store under QODER_CLI_HOME/.qoder now shows qoder: ✓ installed. Qoder CN resume names qoderclicn, matching the package's bin entry; I did not run a resume. The README ✓ cells, the tool-support pages and the dashboard docs are fixed, and the Windows job is green after the new locate rows.

One thing still blocks:

  • [P1 blocking] Qoder CN ignores QODERCN_CLI_HOME. It is the CN half of the QODER_CLI_HOME point. The Qoder CN package README lists it third in priority, after QODERCN_CONFIG_DIR, with the directory name appended. With a store under QODERCN_CLI_HOME/.qoder-cn, the built CLI shows qoder-cn: ✗ not installed, so its sessions do not appear and session migrate -t qoder-cn refuses. Mirroring qoderHome in qoderCnHome (src/tool-home.ts:124) fixes it; the locate matrix helper, homeVariables, tool-support.ts and the generated tool-support pages need the same variable.

Independent of this PR: neither main nor this head reads QODER_CONFIG_DIR_NAME / QODERCN_CONFIG_DIR_NAME, which rename the default directory.

Lint & Test and the fork-safe E2E shards were still running at 902312db when I checked.

@jeff-r2026 Your call once this is fixed and CI is green.

@huong8373tt-beep

Copy link
Copy Markdown
Contributor Author

Addressed the remaining P1 at c938e7b9: Qoder CN now resolves QODERCN_CLI_HOME/.qoder-cn after QODERCN_CONFIG_DIR, with coverage for agents, rules, hooks, MCP, skills, sessions, locate matrices, and generated tool-support pages.

Validation:

  • 9 targeted locate/session/tool-support files: 4,370 tests passed
  • npm run typecheck: passed
  • npm run lint: passed (0 warnings / 0 errors)
  • npm run build: passed
  • git diff --check: passed

The earlier fixture-based built-CLI validation remains documented in the PR body. No credentials or external service access are required.

@github-actions

Copy link
Copy Markdown

No confident findings in the specified PR diff.

The PR description meets the testing requirement: it records a post-build, real-CLI teamai session platforms run with isolated Qoder and Qoder CN stores, reporting both as installed. It also records end-to-end migration verification without duplicates on a second run.

Earlier reviews raised no findings, so none require resolution.

Review was read-only and limited to the specified diff; I did not run, build, or install PR code.

@SaulMoro SaulMoro left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was generated by AI during triage.

@huong8373tt-beep Thanks. At c938e7b9, qoderCnHome reads QODERCN_CLI_HOME/.qoder-cn after QODERCN_CONFIG_DIR, the same way qoderHome does for Qoder, and homeVariables, the locate rows, tool-support.ts and the generated pages carry the new variable. That closes the last blocking point; I checked it by reading the change.

Nothing else blocks from my side once CI is green. Lint & Test and the E2E shards were still running when I checked.

@jeff-r2026 Your call once CI is green.

@SaulMoro SaulMoro left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was generated by AI during triage.

Approving at c938e7b9: the Qoder and Qoder CN blockers are fixed, the README scorers marks, tool-support pages and dashboard platform list match, and CI is green. I changed the description's Closes #1418 to "Part of #1418", since the issue tracks the other tools too.

@huong8373tt-beep Thanks for working through every round.

@SaulMoro
SaulMoro merged commit 1f3dd82 into Tencent:main Oct 30, 2026
18 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.

3 participants