Skip to content

fix(cli): list a selectable Qwen model ID without explanatory suffix - #905

Draft
ChazyTheBest wants to merge 2 commits into
BitterSecurity:mainfrom
ChazyTheBest:contrib/ollama-catalog-model-id
Draft

ChazyTheBest wants to merge 2 commits into
BitterSecurity:mainfrom
ChazyTheBest:contrib/ollama-catalog-model-id

Conversation

@ChazyTheBest

Copy link
Copy Markdown

Summary

The Ollama catalog entry appends an explanatory suffix to the selectable model ID. Selecting that displayed string then stores the suffix as part of the override. List the actual Qwen model ID.

Draft for issue/design discussion: full merge qualification remains incomplete.

Changes

  • Remove the explanatory suffix from that one catalog entry.
  • Add a CLI Vitest regression that lists the model and selects the listed value through the actual command.

Intent

Blast radius

Tick the row that best matches this change. No branch rule enforces
this — it sets how much scrutiny you owe the diff and whether to wait
for a review. See
docs/adr/0012-retire-codeowners-merge-gate.md.

  • Tier-auto — tests, internal refactors, non-policy docs, lockfile-only dep bumps.
  • Tier-delegate — agent prompts, skill bodies, middleware internals, web/CLI features.
  • Tier-supply-chain — CI/workflows, package manifests and lockfiles, install script, compose / Dockerfiles, plugin contracts, .semgrep/**. Reaches every OSS user on the next release: request a review and wait for it.
    • If ticked, paste a Why this touches a supply-chain surface paragraph below, and confirm the PR changes that surface and nothing else:

Diff budget

Per QUALITY_BAR §Hard limits: ≤ 400 runtime-code lines, ≤ 10 files, 1 logical concern. docs/**, tests/**, .github/**, .semgrep/** are excluded.

  • My diff fits the budget. 26 conservative changed runtime/test lines; 2 files.
  • Or I am requesting large-diff-approved from @PurpleCHOIms because:

End-to-end verification

Run /model, copy its first Ollama entry and submit that value to /model. The actual command regression failed on main because the stored override included "(or your OLLAMA_MODEL)"; it passed after the one-line fix. The test-first and fix commits remain separate. This used retained Vitest 2.1.9 rather than the current manifest's 3.2.7, and did not start an interactive Ink session or provider call.

  • node <retained-cli>/node_modules/vitest/vitest.mjs run --config <owned-scratch>/cli-check.config.mjs: passed. Existing Vitest runner, real model command and override store; no provider request or interactive Ink session

Honest gap: no live application stack or remote service was activated. Exact-current Python/Next/Vitest dependencies are not installed in this preparation checkout; retained same-client tooling was used for the focused checks above. make quality, make smoke, a current full build, real browser/PTY/provider/Neo4j/sandbox integration and all changed failure paths have not been verified. The full merge checklists are intentionally left unticked.

Required. One paragraph naming the exact commands you ran on your
machine and the exact behavior you observed. "Tested locally," "all
tests pass," and "should work" are not verification statements — they
are reasons to close the PR. See
QUALITY_BAR §Wired end-to-end.
If you genuinely could not run a part of the change locally, say so
explicitly here and name what you did instead.

Testing

Observed focused-check output:



 ✓ src/commands/model-catalog.test.ts (1 test) 2ms

 Test Files  1 passed (1)
      Tests  1 passed (1)

Outstanding qualification:

  • Full CLI typecheck/test suite and an interactive terminal session remain unverified.

  • make quality passes (Python + CLI + Web)

  • make smoke succeeds (clean local build + OSS-style up + health checks)

  • pytest tests/ passes (run this if you touched docker-compose.yml or tests/)

  • Every new/changed test was watched to fail without the change and pass with it

  • Every new/changed code path was executed on my machine, not just unit-tested in isolation

  • Manual testing (describe):

Quality Bar self-check

Confirm — by ticking — that you have personally verified each item
against your diff. These are conditions of merge per
QUALITY_BAR.md and
CONTRIBUTING_AGENT.md, regardless of
whether AI assistance was used.

  • No banned pattern from QUALITY_BAR §Banned patterns appears in the diff (no except Exception: pass, no bare except, no bare # type: ignore / # noqa, no _ = call(), no print( in production code, no mutable defaults, no wildcard imports, no TODO without issue link, no raise NotImplementedError in a delivered feature, no pytest.mark.skip / xfail without linked issue, no mocked-system-under-test, no # pragma: no cover for coverage chasing).
  • No AI-slop signature from QUALITY_BAR §AI-slop signatures survives (no defensive if x is not None: the types already prove, no helper-used-once, no speculative **kwargs, no data/result/item placeholder names, no docstrings restating the signature, no em-dash salad, no "leverages X to robustly handle Y").
  • Every changed line traces to the stated intent. No drive-by formatting, renaming, or reordering.
  • Every public function I added/changed has explicit type annotations including return type, and every raised exception is a named class.
  • I would merge this PR if a stranger opened it.
  • If I were tired and reviewing this at the end of a long day, I would still merge it.

AI-assisted contribution attestation

By opening this PR, you confirm — whether or not AI assistance was
used — that you followed CONTRIBUTING_AGENT.md
and meet the QUALITY_BAR.md:

  • You read the diff in full and can defend every line on demand.
  • You actually ran the verification you ticked above.
  • You did not bundle unrelated work.
  • You did not weaken offensive-security guard rails (RoE, SafeCommand,
    EngagementContext, OPSEC skills, semgrep rules, compose isolation,
    capability / PID / memory limits) without a linked ADR.
  • You materially edited any AI-generated output before pushing — the
    diff is not raw model output.

No checkbox is required for this section. The bar applies whether or
not you disclose tool use; this section exists so the expectation is
visible at the point of contribution.

Related Issues

Related to #904. Draft; merge conditions remain open.

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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant