- Add `crawl_authorities` / `acrawl_authorities` agent tool and `crawl_authorities` `ToolDefinition` (approval-gated, `requires_corpus=True`, `requires_write_permission=True`) that calls the existing `CrawlAuthoritiesService.crawl` BFS engine. Registered at all four sites: `core_tools/corpus_references.py`, `core_tools/__init__.py` exports, `tool_registry.py` `AVAILABLE_TOOLS`, and `FUNCTION_MAP`.
- Extend `GovernanceGraphService.build` to derive `jurisdiction` and `authority_type` for `doc_nodes` (via `classify_prefix(authority)`) and `jurisdiction`, `authority_type`, and `discovery_state` for `ghost_nodes` (batch-fetched from `AuthorityFrontier` in a single queryset to avoid N+1).
- Add `jurisdiction`, `authority_type`, and `discovery_state` fields to `GovernanceGraphNodeType` (all nullable strings) and map them in both node branches of `resolve_governance_graph`.
