Skip to content

v0.30.3 — Each agent gets an effort beside its model, and doctor says what is true

Choose a tag to compare

@Evgenii-Konev Evgenii-Konev released this 15 Oct 03:49
· 43 commits to main since this release
d2e98c1

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, low to max, 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 from max to low. A default effort keeps the clerk at low on both harnesses, as a default model keeps its model.
  • Doctor warns on a level the harness does not list. When CLAUDE_CODE_EFFORT_LEVEL is 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 --reset drops them.

Doctor and setup's plan say what is true

  • Ignored files. Doctor asks git whether .claude/settings.local.json is ignored, so a global excludes file, .git/info/exclude, a nested .gitignore or a pattern now counts. Where git cannot answer, it reads the project's .gitignore as 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 update instead of a second add, 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 effort key 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 --json envelopes gain effort fields; none is removed or renamed.

Codex stays experimental, as docs/harnesses.md defines it.