Skip to content

Keep command metadata current across ZCode model releases - #45

Closed
bwestlund17 wants to merge 1 commit into
william0wang:mainfrom
bwestlund17:fix/glm-5-3-slash-commands
Closed

Keep command metadata current across ZCode model releases#45
bwestlund17 wants to merge 1 commit into
william0wang:mainfrom
bwestlund17:fix/glm-5-3-slash-commands

Conversation

@bwestlund17

Copy link
Copy Markdown

Summary

  • derive a pending ACP session's current model from the first enabled ZCode config entry
  • replace release-specific /model and /thought hints with stable argument descriptions
  • add regressions covering dynamic pending-session selection and durable command metadata

Problem

The bridge still selected GLM-5.2 for pending sessions and advertised GLM-5.2|GLM-5-Turbo in /model metadata. ZCode 0.16.1 now puts GLM-5.3 first, so the ACP surface drifted as soon as the model catalog changed.

Verification

  • npm run build
  • npm run typecheck
  • npm run lint
  • npm test (463 tests)
  • source-built package installed and exercised through an isolated Paseo daemon: GLM-5.3 returned 78 core, skill, and plugin commands

Pending ACP sessions now select the first enabled model from ZCode configuration instead of pinning GLM-5.2, and slash-command hints describe stable argument classes rather than enumerating transient model and reasoning catalogs.

Constraint: ZCode updates its model catalog independently of the ACP bridge package.

Rejected: Add GLM-5.3 to another static hint | the next model release would recreate the same drift.

Confidence: high

Scope-risk: narrow

Directive: Derive selectable models from ZCode config; do not hardcode release-specific model ids in command metadata.

Tested: build; typecheck; lint; 463 Vitest tests; source-built package installed globally; isolated Paseo returned 78 GLM-5.3 commands.

Not-tested: npm publication requires the package maintainer.
@william0wang

Copy link
Copy Markdown
Owner

Thanks! Reviewed in a clean worktree — typecheck + 463 tests pass.

Heads-up before you rebase: #47 just merged (squash 2e364dd), and it overlaps with this PR in two places:

  1. buildConfigOptions now derives the pending current model from loadAllModels()[0] — same intent as your first change, different implementation. Yours additionally caches loadAllModels() into configuredModels (nice — worth keeping).
  2. tests/bugfixes.test.ts / tests/dispatch.test.ts assertions changed shape (Bug 6 thought-vocabulary tests landed).

Your slash-hint de-hardcoding (model id / reasoning effort) is still unique and better than the hardcoded hints — please rebase and keep that part. Conflict resolution should be straightforward; happy to take a final look after.

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.

2 participants