feat(config): lane map moves to .cursor/models.yaml, shared schema — 0.3.0 #1

Merged
ksamaschke merged 1 commit from feat/models-yaml-lane-map into main 2026-07-31 09:44:13 +00:00
Owner

The models: block lived inside implementation-skills.yaml, where neither sibling edition could read it. The lane map moves to .cursor/models.yaml using the schema shared verbatim with the Claude Code and Codex variants; implementation-skills.yaml keeps tracker, gate, merge, deploy and policy.

A pre-0.3 models: block is still read, and isc doctor reports that it has moved.

isc fixes found by adversarial review: one strictly flat parser for the lane map (separate from the operational config's richer subset), explicit source variables so a path containing a space resolves instead of silently falling through to defaults, a framed render stamp (moving a key between files changes resolution and previously could leave a byte-identical digest and a green doctor on stale agents), both reviewer lanes checked plus the cheap-lane invariant, failures instead of warnings, exact roster matching, and --global as a real scope for init and sync.

47 executable checks in tests/isc-smoke.sh.

The `models:` block lived inside `implementation-skills.yaml`, where neither sibling edition could read it. The lane map moves to `.cursor/models.yaml` using the schema shared verbatim with the Claude Code and Codex variants; `implementation-skills.yaml` keeps tracker, gate, merge, deploy and policy. A pre-0.3 `models:` block is still read, and `isc doctor` reports that it has moved. `isc` fixes found by adversarial review: one strictly flat parser for the lane map (separate from the operational config's richer subset), explicit source variables so a path containing a space resolves instead of silently falling through to defaults, a framed render stamp (moving a key between files changes resolution and previously could leave a byte-identical digest and a green doctor on stale agents), both reviewer lanes checked plus the cheap-lane invariant, failures instead of warnings, exact roster matching, and `--global` as a real scope for `init` and `sync`. 47 executable checks in `tests/isc-smoke.sh`.
The models: block lived inside implementation-skills.yaml, which meant this
edition configured models in a place neither sibling edition could read. The
lane map now lives in .cursor/models.yaml using the schema shared verbatim
with the Claude Code and Codex variants; implementation-skills.yaml keeps
tracker, gate, merge, deploy and policy.

Resolution, per key, first hit wins: .cursor/models.yaml, a shared
<repo>/models.yaml, ~/.cursor/models.yaml, built-in default, with
harness.cursor.<key> beating a bare <key> inside a file. A pre-0.3 models:
block is still read and isc doctor reports that it has moved.

isc changes:
- one strictly flat parser for the lane map, separate from the operational
  config's richer subset (one nesting level, block scalars);
- explicit source variables, so a repo path containing a space resolves
  instead of silently falling through to defaults;
- the render stamp now frames each source's identity, presence and length —
  moving a key between two files changes resolution, and previously could
  leave a byte-identical digest and a green doctor on stale agents;
- doctor checks both reviewer lanes (not only reviewer_default), adds the
  cheap-lane invariant, fails rather than warns, reports unrecognised
  vendors, and matches roster ids exactly instead of by substring;
- --global is a real scope for init and sync, not just a render target.

reviewer: in the project config is a lane selector again; a bare model id
there is deprecated in favour of reviewer_default in the lane map.

Contract: skills/implement-issues/references/model-config.md.
Executable: tests/isc-smoke.sh (47 checks).
ksamaschke deleted branch feat/models-yaml-lane-map 2026-07-31 09:44:13 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ksamaschke/implementation-skills-cursor!1
No description provided.