Repository navigation
v0.30.3 — Each agent gets an effort beside its model, and doctor says what is true
Each ProjectStore agent can now run at an effort you choose, set beside its model. Doctor and setup's plan stop reporting things that are not true of your project. Every bound project needs one step: the agents block moves to v5 (see Upgrading).
Effort beside the model
An agent's effort is set in the same file as its model, and it is passed when the agent is spawned: as effort to Claude Code's Agent tool, and as reasoning_effort to Codex's.
npx projectstore@0.30.3 configure --set agents.critic.effort=xhigh
- In the settings menu, each agent's model row has an effort row under it. Its values are the levels of the model that agent runs on: Claude Code's five,
lowtomax, or the levels Codex lists for that model. - A level the model lacks is written as typed, with a note on its plan row.
- With no effort set, nothing is passed. A Claude Code agent runs at its own definition's level (
max), and a Codex agent at its model's own default. - The clerk now runs at
low, configured or not: its definition moves frommaxtolow. A default effort keeps the clerk atlowon both harnesses, as a default model keeps its model. - Doctor warns on a level the harness does not list. When
CLAUDE_CODE_EFFORT_LEVELis set, it outranks every effort passed at spawn, and doctor names the overlay it overrides. - The agents command shows each agent's effort and where it comes from. Its configure keeps efforts it is not asked about, and
--resetdrops them.
Doctor and setup's plan say what is true
- Ignored files. Doctor asks git whether
.claude/settings.local.jsonis ignored, so a global excludes file,.git/info/exclude, a nested.gitignoreor a pattern now counts. Where git cannot answer, it reads the project's.gitignoreas before. A rule that ignores the file and is then negated now warns, because git includes the file again. - Version drift counts the copies loaded for this project only. Another project's older registration is no longer reported here.
- One add per file. When a run creates a file, later rows on that file read
updateinstead of a secondadd, in the plan and as"action": "update"in--json. - Remedies. Doctor's MCP remedy names the update for your channel: the plugin update for a git-marketplace copy, the package's upgrade for an npm registration.
Site
projectstore.dev is redesigned, in all eight languages: install first, three pages on the method, and three tones (midnight, graphite and light).
Upgrading
The agents block goes from v4 to v5, because its spawn rule now names the effort. Until a project's block is registered again, its sessions show an agents-block issue at startup, and a spawn that follows the block passes no effort. The bundled review, story, reconcile and agents commands pass it already.
From npm, from a terminal in your project. The upgrade re-registers the block in the same run:
npx projectstore@0.30.3 upgrade
Codex's registration is per machine:
npx projectstore@0.30.3 upgrade --harness codex
From the git marketplace, in Claude Code, update and restart:
/plugin update
Then, once in each bound project, in a session:
/projectstore:agents register
Also:
-
An overlay that still carries an
effortkey from an earlier release now takes effect. Keep it, change it with configure, or clear it:npx projectstore@0.30.3 configure --set agents.critic.effort=- -
A Codex project with models and no effort is unchanged: each agent runs at its model's own default, which the menu now shows.
-
A script that keys on
"action": "add"for a binding row in a fresh project now sees"update". The agents and configure--jsonenvelopes gain effort fields; none is removed or renamed.
Codex stays experimental, as docs/harnesses.md defines it.