Skip to content

The ACP session catalog is the model-name source of truth (#84) - #85

Merged
JPDuchesne merged 1 commit into
mainfrom
jpd/acp-catalog-is-truth
Sep 13, 2026
Merged

JPDuchesne merged 1 commit into
mainfrom
jpd/acp-catalog-is-truth

Conversation

@JPDuchesne

Copy link
Copy Markdown
Contributor

Closes #84.

Model selection goes through ACP `session/set_model`, but the job log printed `agent --list-models` as "the menu of valid model names" and the template/docs named it the source of truth — a different naming domain (suffix ids like `claude-fable-5-high` vs plain ACP names + parameterized modelIds). That mismatch stranded three repo configs at the ACP switch and misdirected the first live-fire diagnosis (cellbound-3d#161 / dev#166 / plans#43).

Per the scoping discussion: non-ACP is a retired transport, so no suffix-id tolerance — the loud failure just has to dump the right catalog.

  • `resolve_model`'s failure now lists names and modelIds (the modelId is where thinking/effort variants live, e.g. `claude-fable-5[thinking=true,effort=high]` — the error is the discovery surface for the exact string to pin in `.github/ai-flow.yml`).
  • The workflow's `--list-models` log group is deleted: nobody needs the catalog until resolution fails, and when it fails the error is self-sufficient.
  • `templates/ai-flow.yml`, README adoption step 6, and `docs/architecture.md` now name the session catalog as the source of truth.

Test-first: the unknown-handle test now asserts the modelId appears in the error.

Made with Cursor

Model selection goes through ACP session/set_model; agent --list-models
ids are a different naming domain, yet the job log printed them as 'the
menu of valid model names' and the template/docs named them the source
of truth — which is exactly what stranded three repo configs (and the
first diagnosis) on the ceremony's live /build.

- resolve_model's failure now dumps names AND modelIds (the modelId is
  where thinking/effort variants live — the error is the discovery
  surface for the exact string to pin).
- The workflow's --list-models log group is deleted; nobody needs the
  catalog until resolution fails, and when it fails the error is
  self-sufficient.
- Template, README, and architecture.md now name the session catalog as
  the source of truth.

Closes #84.

Co-authored-by: Cursor <cursoragent@cursor.com>
@codecov

codecov Bot commented Sep 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@JPDuchesne
JPDuchesne merged commit 86cf364 into main Sep 13, 2026
4 checks passed
@JPDuchesne
JPDuchesne deleted the jpd/acp-catalog-is-truth branch September 13, 2026 04:38
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.

Model naming domain mismatch: job log prints agent --list-models, but resolve_model matches the ACP session catalog

1 participant