* Add .macroscope/ignore.md to skip mechanical files in code review
Macroscope's managed review bills per KB of diff reviewed. This drops the
mechanical, non-hand-reviewed files from the reviewed/billed diff: uv.lock
(large on dependency bumps), recorded VCR cassettes, and doc images.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* Preserve Macroscope default ignores; keep test code reviewed
A custom .macroscope/ignore.md replaces Macroscope's built-in defaults rather
than extending them. Copy their default base patterns verbatim and add this
repo's VCR cassettes on top. The default test-file patterns are omitted so
Macroscope still reviews test code; cassettes stay ignored via the explicit
rule.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---------
Co-authored-by: Bill Easton <bill@pydantic.dev>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Links the marketing pages for Pydantic AI, Pydantic Logfire, and
Logfire AI Gateway so readers can discover the rest of the stack
in one place. UTM params attribute traffic back to this repo.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
SubAgents exposes a single delegate_task(agent_name, task) tool that runs
a named child agent in a fresh, isolated run, with the available agents
listed in the system prompt as a cache-stable instruction.
- deps are forwarded to every sub-agent; usage is shared by default
(forward_usage) so usage limits apply across the whole agent tree
- inherit_tools (opt-in) exposes the parent's tools to sub-agents, with
the delegate tool filtered out so they can't recurse into delegation
- shared_capabilities are applied to every sub-agent run
- event_stream_handler is forwarded to every sub-agent run so sub-agent
events surface to the caller
- soft sub-agent failures (ModelRetry / UnexpectedModelBehavior) convert
into a parent ModelRetry it can react to; hard limits propagate
Co-authored-by: Claude <noreply@anthropic.com>
Add a Writing style section to AGENTS.md so docs, comments, and PR text
read as human-written: no em-dashes (use `--`), no marketing superlatives
or editorializing adjectives, sparing bold, no decorative Unicode.
Bring the tree into compliance by converting every em-dash to `--` across
16 files. All occurrences are in prose, comments, docstrings, and tool
descriptions. The only runtime effect is that model-facing tool
descriptions now use `--` (punctuation only, no semantic change); no test
snapshots depend on the character. The one literal em-dash left is in
AGENTS.md, where it names the banned character.
https://claude.ai/code/session_01LQ9NTr8q95A99UnVcq6Nzf
Co-authored-by: Claude <noreply@anthropic.com>
Planning gives the model a single write_plan(items) tool that owns the plan
via whole-plan replacement (no fragile indices). The current plan is surfaced
back as an ephemeral reminder appended to the request tail in
wrap_model_request, behind a CachePoint:
- the reminder reaches the model but is never written to the durable message
history, so no stale copies accumulate
- the CachePoint sits before the reminder, so the cached prefix (tools +
system + real conversation) stays byte-identical across turns and only the
small reminder falls outside the cache
Static usage guidance goes in the system prompt (cache-stable); the mutable
plan is never injected there.
Co-authored-by: Claude <noreply@anthropic.com>