Skip to content

v0.1.4 — don't bombard the agent

Choose a tag to compare

@spranab spranab released this 17 Apr 01:24
· 11 commits to main since this release

v0.1.4 — don't bombard the agent

The token-budget problem (10 MCPs × 20 tools = ~60k tokens before you type anything) is the first real UX wall of a dynamic catalog. This release fixes it at its root with a deterministic activation resolver.

Design validated end-to-end by a real multi-model brainstorm through this very Pier deployment — GPT-5.4 + DeepSeek both converged on "author hints are advisory, user profile wins."

Three priority layers at pier sync time

Priority Source Where you define it
1 (highest) Workspace .pier.yaml in a project root or ancestor
2 User profile ~/.config/pier/profile.yaml (always/never/include_tags)
3 (lowest) Formula auto_activate author hints in pier.yaml — file/glob/always/on_demand

User never beats formula always. Workspace exclude beats user always. Missing auto_activate = on_demand (never auto).

New CLI commands

pier sync --explain                # show why each MCP is included/skipped
pier sync --all                    # opt out of filtering (old behaviour)
pier sync --workspace <path>       # override cwd for workspace lookup

pier activate <name>               # pin to user profile always[]
pier deactivate <name>             # pin to user profile never[]
pier profile show|add|remove ...   # manual profile editing

Bug fix shipped alongside

Proxy no longer 500s when a formula declares optional secrets and the user has only set a subset. Hit in production when calling brainstorm-mcp with only openai_key + deepseek_key set.

Deferred to v0.1.5

pier-hub meta-MCP for the dynamic cases where static rules can't predict.

Tests

11 new CLI activation-resolver tests. 27 green across workspaces.