Add tiered signature resolution with per-symbol source tracking. The
introspection system now attempts multiple signature sources in order:
runtime (inspect.signature), text_signature, runtime_hints, stub files,
stubgen fallback, and variadic fallback.
Signature sources:
- Local .pyi stub discovery next to modules
- types-<pkg> stub package resolution via importlib.metadata
- Optional typeshed lookup when use_typeshed is enabled
- Stubgen fallback with caching for libraries without stubs
- Overload metadata extraction from stub files
Documentation tiers:
- Runtime docstrings checked first
- Stub docstrings as fallback
- Module docstring as last resort
Configuration additions:
- signature_sources: ordered list of allowed signature tiers
- strict_signatures: enforce minimum signature tier
- min_signature_tier: threshold for strict mode
- stub_search_paths: additional paths for .pyi discovery
- use_typeshed/typeshed_path: typeshed integration
- stubgen: enabled flag and cache_dir
- coverage_report: output_dir for JSON/Markdown reports
Manifest schema now records signature_source, signature_detail,
signature_missing_reason, doc_source, doc_missing_reason, and
overload_count for each symbol.
Coverage reports capture tier counts and introspection issues in
structured JSON and human-readable Markdown formats.
Documentation overhaul:
- Revamped README.md for clarity with focused quick start sections
- Added Configuration Reference guide with all options
- Added Coverage Reports guide for signature/doc coverage
- Improved HexDocs menu with organized module groups
- Guides excluded from hex package, available only in hexdocs
New examples: coverage_report_example, stub_fallback_example. Updated
strict_mode_example to demonstrate signature tier enforcement.
Added libcst and mypy as Python dependencies for stub parsing and
stubgen functionality.