Public: anyone can read this; the crew can change it.

MCP `subscription_headroom`: set how much of each window the crew leaves for people, as the Subscriptions page does #5439

shipped production is serving it opened this has it
opened this

For: "the crew out of the way when I'm working" is one call from a harness. subscriptionHeadroom (src/web/pages/subscriptions.ts:496) validates with headroomPct and saves with setHeadroom, and has no twin.

Done:

  • [ ] A tool subscription_headroom { id, percent }, admin only, validates through headroomPct. Out of range is refused with "Headroom is a whole percent from 0 to <max>.", and an unknown id with "No such subscription.". It saves with setHeadroom and answers { id, percent, says }, with says worded as the page's flash ("The crew now leaves N% of each window for people.").
  • [ ] test/mcp-subscription-headroom.test.ts covers four cases: an admin sets 30 and the page shows 30; 101 is refused; an unknown id is refused; a non-admin is refused. Each fails without the tool.

Files: src/http/mcp.ts, docs/MCP.md, test/mcp-subscription-headroom.test.ts.

  • [ ] One row in docs/MCP.md, marked as a write in tools/list's annotations as the other writes are.
  • [ ] Before pushing, run the new test, test/mcp.test.ts, test/mcp-docs.test.ts and test/mcp-size.test.ts. A red test elsewhere that main also has is named in the pull.

Risk: test/mcp-size.test.ts caps tools/list, so keep the description to one short sentence.

commented

Ready again: pull #5469 was closed because main moved under it and it could not be brought up to date. Conflicting files: README.md, docs/FLOW.md, docs/HOME-EVAL.md, docs/MCP.md, docs/design/areas/code.md, docs/design/areas/map.md, docs/design/areas/search.md, docs/design/areas/shell.md, docs/design/sections/5-components.md, docs/design/sections/5d-page-local-classes.md, src/actions/edit_words.ts, src/actions/front.ts, src/actions/here.ts, src/actions/verify_words.ts, src/apps/door.ts, src/apps/proxy.ts, src/contract/openapi/routes/getApiV1ReposOwnerNameTags.ts, src/contract/openapi/routes/index.ts, src/contract/openapi/routes/postApiV1ReposOwnerNameMakeItYours.ts, src/contract/openapi/routes/postApiV1UserOriginsIdBrowseOwnerNameContribute.ts, src/contract/openapi/shared.ts, src/core/following.ts, src/core/releases.json, src/crew/dispatch.ts, src/crew/finishing.ts, src/crew/hot_files.ts, src/feed/items.ts, src/git/tip.ts, src/http/api.ts, src/http/mcp.ts, src/http/mcp/shared.ts, src/http/mcp/tools/access.ts, src/http/mcp/tools/account_role.ts, src/http/mcp/tools/account_suspend.ts, src/http/mcp/tools/accounts.ts, src/http/mcp/tools/app_members.ts, src/http/mcp/tools/apps.ts, src/http/mcp/tools/archive.ts, src/http/mcp/tools/asks.ts, src/http/mcp/tools/asks_act.ts, src/http/mcp/tools/asks_decide.ts, src/http/mcp/tools/attach_look.ts, src/http/mcp/tools/audit.ts, src/http/mcp/tools/boards.ts, src/http/mcp/tools/capacity.ts, src/http/mcp/tools/claim_link.ts, src/http/mcp/tools/cloud_accounts.ts, src/http/mcp/tools/commits.ts, src/http/mcp/tools/converge.ts, src/http/mcp/tools/decisions_by.ts, src/http/mcp/tools/egress_grants.ts, src/http/mcp/tools/flow.ts, src/http/mcp/tools/follow_mode.ts, src/http/mcp/tools/forge_proposals.ts, src/http/mcp/tools/front_page.ts, src/http/mcp/tools/hold.ts, src/http/mcp/tools/hooks.ts, src/http/mcp/tools/index.ts, src/http/mcp/tools/invites.ts, src/http/mcp/tools/issue.ts, src/http/mcp/tools/limb.ts, src/http/mcp/tools/limits.ts, src/http/mcp/tools/make_it_yours.ts, src/http/mcp/tools/map.ts, src/http/mcp/tools/migrate.ts, src/http/mcp/tools/mirror_set.ts, src/http/mcp/tools/model_ceiling.ts, src/http/mcp/tools/model_grant.ts, src/http/mcp/tools/new_app.ts, src/http/mcp/tools/next_steps.ts, src/http/mcp/tools/now.ts, src/http/mcp/tools/org_teams.ts, src/http/mcp/tools/outsiders.ts, src/http/mcp/tools/plan.ts, src/http/mcp/tools/probe.ts, src/http/mcp/tools/prompts.ts, src/http/mcp/tools/proposal_tokens.ts, src/http/mcp/tools/pull.ts, src/http/mcp/tools/pulls.ts, src/http/mcp/tools/quotas.ts, src/http/mcp/tools/review.ts, src/http/mcp/tools/runs.ts, src/http/mcp/tools/scorecard.ts, src/http/mcp/tools/search.ts, src/http/mcp/tools/share.ts, src/http/mcp/tools/signup.ts, src/http/mcp/tools/sizes.ts, src/http/mcp/tools/spawn.ts, src/http/mcp/tools/spend.ts, src/http/mcp/tools/stop.ts, src/http/mcp/tools/subscription_budget.ts, src/http/mcp/tools/system.ts, src/http/mcp/tools/teams.ts, src/http/mcp/tools/telemetry_grant.ts, src/http/mcp/tools/tell.ts, src/http/mcp/tools/thought.ts, src/http/mcp/tools/trail.ts, src/http/mcp/tools/variant.ts, src/http/mcp/tools/wait_for.ts, src/http/mcp/tools/watch.ts, src/tui/screens/forks.ts, src/tui/ssh-tell.ts, src/tui/ssh.ts, src/web/pages/map.ts, src/web/pages/org.ts, src/web/pages/pull.ts, src/web/pages/repo.ts, src/web/pages/settings.ts, src/web/pages/waves.ts, src/web/standards.ts, src/web/studio/cards.ts, src/web/studio/change.ts, src/web/studio/home.ts, src/web/studio/home_cache.ts, src/web/studio/kpi_row.ts, src/web/studio/shelf.ts, src/web/studio/tell.ts, src/web/style/content.ts, test/apps-door.test.ts, test/checks-disk-red.test.ts, test/crew-hot-files.test.ts, test/crew-run-timing.test.ts, test/edit-refusal-words.test.ts, test/explore-rank.test.ts, test/forks-ranking.test.ts, test/forks-timing.test.ts, test/front-speed.test.ts, test/hand-decider.test.ts, test/issues-words.test.ts, test/mcp-docs.test.ts, test/mcp-size.test.ts, test/mcp-write-scope.test.ts, test/mcp.test.ts, test/openapi-coverage.test.ts, test/openapi.test.ts, test/pull-timing.test.ts, test/server-timing-sweep.test.ts, test/shelf-speed.test.ts, test/ssh-tell.test.ts, test/tui-kpis.test.ts, test/tui-sentinel.test.ts.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs