Repository navigation
fix(config): treat sessions as a member setting so a workspace sees the machine value - #1483
Conversation
…he machine value Tencent#1478 added sessions to the local config and Tencent#1473 required every local config key to be either install metadata or a member setting. Each landed green on its own; together the key ownership test fails on main, and a workspace scope ignores the sessions setting in the machine config. sessions describes this member's own sessions, and init --force already keeps it as a member setting, so it joins MemberSettingsSchema.
|
No findings in the scoped diff. The PR description satisfies the testing requirement: it records a build followed by a representative real-CLI run demonstrating the changed behavior. Additional provider and agent coverage is explicitly deferred to CI. Review limited to the diff; no PR code was run, built, or installed. |
SaulMoro
left a comment
There was a problem hiding this comment.
This was generated by AI during triage.
Approving at 195644e. sessions is a member setting: the schema calls it "this member's sessions" and the init --force path from #1478 already keeps it, so this restores the key-ownership invariant from #1473 and lets a workspace read the machine value. CI is green at the head, the CI review has no findings, and the doctor run in the body shows the value now reaching the workspace. Thanks for the quick fix.
Fixes red CI on
main(Lint & Test, every OS and Node version).#1478 added
sessionstoLocalConfigSchema. #1473 added a test that every local config key is either install metadata (LOCAL_CONFIG_INSTALL_KEYS) or a member setting (MemberSettingsSchema). Each PR was green on its own. Together the test fails:The same gap is a user-visible bug: a workspace scope ignores
sessionsin the machine config (~/.teamai/config.yaml).MemberSettingsSchema = z.object({ ... modelAliases: ..., + sessions: z.unknown().optional(), workflows: ..., })sessionsis a member setting, not install metadata: the schema describes it as "this member's sessions", and theinit --forcee2e from #1478 already keeps it as one. It staysz.unknown()soSessionPolicy.readPublishkeeps reporting a value it cannot use. Like the other member settings exceptworkflowsandmodelAliases, a workspace's ownsessionsreplaces the machine value as a whole.Testing
npx tsc --noEmit,npm run lint: cleannpx vitest run: 604 files passed, 1 skipped (17748 tests)npm run build. I raninit --scope workspaceagainst a local bare team repo, wrotesessions: 5to a settings-only machine~/.teamai/config.yaml, then ranteamai doctorin the workspace:main: nosessionsnote. The machine value never reaches the workspace.config.yaml sessions is 5, not a mapping such as publish: { unattended: off }, so it is ignored.I did not run other providers or agents locally. They are left to CI.