Generalizes the issue surfaced in #124 (unbounded tool outputs blowing up
context windows) into an architectural invariant: every MCP tool whose
output size depends on data must expose a caller-controlled bound and a
way to fetch the remainder. Three sub-rules: no silent truncation, bound
by domain shape (line/per-file/page), always resumable.
- Add docs/design/output-bounding.md with rule, sub-rules, parameter
vocabulary table, documentation contract, and a checklist for new tools.
- Update AGENTS.md "Adding a New Tool" to require the checklist for any
tool whose output is data-proportional.
Tracked as forgejo-mcp-e0j. Complementary to the OpenSpec change
add-bounded-text-responses, which delivers the rule for the specific
tools called out in #124 (get_pull_request_diff, get_file_content).