v0.1.11: Error-contract fixes and docs reconcile
Error-contract fixes and docs reconcile
Removes a duplicated materials/dimensions field, completes the not_found error contract, drops a dead env var, and reconciles descriptions and docs/design.md to as-built.
Fixed:
materialsno longer duplicates dimension-labeled physicalDescription entries — shared isDimensionLabel() predicate excludes Dimensions/Measurements labels from materials, mirroring how dimensions is built. (#9)- SmithsonianService.getContent() not_found errors now carry reason: 'not_found' in data, matching the contract get_object/get_media/find_related already declare (wire code -32001). (#10)
Changed:
- Tool descriptions across find_related, get_media, get_object, list_terms, and search reworded to value semantics — call-order coaching and implementation-speak removed. (#12)
- docs/design.md reconciled to as-built: list_terms row added, InvalidParams to ValidationError, not_cc0 to Forbidden, nonexistent fq parameter and online_media_type filter removed, plural filter examples. (#12)
- CLAUDE.md/AGENTS.md synced to the current framework template (server-identity section, ctx.elicit.url()).
Removed:
- SMITHSONIAN_MAX_ROWS env var — documented but never read by any tool; no replacement, no schema-default change. (#11)
78 tests pass; bun run devcheck clean.