Skip to content

Docstring coverage report — public surface

Auto-generated by scripts/audit_docstrings.py. Read alongside the gate's curated exemption list at docstring_gaps.toml.

Tier model from CONTRACT v1.0 #C2: 100% on the explicit public surface (symbols in __all__), 80% on the second ring (importable but not re-exported), no gate on internals.

Classification: full (≥3 lines OR has Args/Returns/Raises/Examples), one-line (single line; renders but thin), missing (no docstring).

Ring 0 — activegraph (public surface, target 100%)

  • [x] ActiveGraphError
  • [x] AmbiguousBehaviorError
  • [x] AmbiguousToolError
  • [x] ApprovalNotFoundError
  • [x] Behavior
  • [x] BehaviorFailure
  • [x] BehaviorNotFoundError
  • [x] Budget
  • [x] Clock
  • [x] ConfigurationError
  • [x] CorruptedEventPayloadError
  • [x] DeliveryContext
  • [x] DevOverride
  • [x] Diff
  • [x] DiscoveredPack
  • [x] DivergentObject
  • [x] DivergentRelation
  • [x] DuplicateEventError
  • [x] EmptySettings
  • [x] Event
  • [x] EventNotFoundError
  • [x] EventSink
  • [x] EventStore
  • [x] ExecutionError
  • [x] FalkorDBGraphStore
  • [x] Frame
  • [x] FrozenClock
  • [x] Graph
  • [x] GraphStore
  • [x] IDGen
  • [x] InMemoryEventStore
  • [x] InMemoryGraphStore
  • [x] IncompatibleRuntimeState
  • [x] InternalEvaluatorError
  • [x] InvalidActivateAfter
  • [x] InvalidArgumentType
  • [x] InvalidPatchLifecycleState
  • [x] InvalidRuntimeConfiguration
  • [x] InvalidStoreURL
  • [x] InvalidToolRegistration
  • [x] JSONLEventSink
  • [x] LLMBehavior
  • [x] LLMBehaviorError
  • [x] Metrics
  • [x] MigrationReport
  • [x] MigrationRunReport
  • [x] MissingOptionalDependency
  • [x] MissingProviderError
  • [x] MissingToolError
  • [x] NoOpMetrics
  • [x] NonSerializableEventError
  • [x] Object
  • [x] ObjectType
  • [x] OpenTelemetryMetrics
  • [x] OverflowPolicy
  • [x] Pack
  • [x] PackConflictError
  • [x] PackError
  • [x] PackNotFoundError
  • [x] PackPolicy
  • [x] PackPrompt
  • [x] PackPromptLoadError
  • [x] PackSchemaViolation
  • [x] PackSettingsMissingError
  • [x] PackValidationError
  • [x] PackVersionConflictError
  • [x] Patch
  • [x] PatternError
  • [x] PendingApproval
  • [x] Policy
  • [x] PrometheusMetrics
  • [x] PromoteConflict
  • [x] PromoteConflictError
  • [x] PromoteLineageError
  • [x] PromotePlan
  • [x] PromoteResult
  • [x] RecordedDelivery
  • [x] RecordingSink
  • [x] RegistrationError
  • [x] Relation
  • [x] RelationBehavior
  • [x] RelationType
  • [x] ReplayDivergenceError
  • [x] ReplayError
  • [x] RunRecord
  • [x] Runtime
  • [x] RuntimeContextRequiredError
  • [x] RuntimeStatus
  • [x] SQLiteEventStore
  • [x] SchemaVersionMismatch
  • [x] SinkConfig
  • [x] SinkHandle
  • [x] SinkState
  • [x] SinkStatus
  • [x] StorageError
  • [x] TickingClock
  • [x] Tool
  • [x] ToolContext
  • [x] ToolError
  • [x] ToolNotFoundError
  • [x] UnknownToolError
  • [x] UnsupportedPatternError
  • [x] View
  • [x] behavior
  • [x] clear_discovery_cache
  • [x] clear_registry
  • [x] clear_tool_registry
  • [x] configure_logging
  • [x] discover
  • [x] get_registry
  • [x] get_tool_registry
  • [x] llm_behavior
  • [x] load_by_name
  • [x] load_prompts_from_dir
  • [x] migrate
  • [x] open_store
  • [x] parse_store_url
  • [x] register
  • [x] relation_behavior
  • [x] tool

Ring 0 — activegraph.packs.diligence (public surface, target 100%)

  • [x] DiligenceSettings
  • [x] pack

Ring 1 — importable but not in __all__ (target 80% not-missing)

activegraph._signature

  • [x] infer_tool_input_schema
  • [x] validate_handler_signature

activegraph.cli.main

  • [x] main

activegraph.cli.quickstart

  • [x] run_fixture_mode
  • [x] run_interactive_mode

activegraph.cli.renderers

  • [x] company_name_for_memo — one-line
  • [x] print_memo_section — one-line

activegraph.core.graph

  • [x] apply_event
  • [x] evaluate_where

activegraph.core.graph_store

  • [x] ChainMatch

activegraph.errors

  • [x] internal_bug_fields

activegraph.llm.anthropic

  • [x] AnthropicProvider

activegraph.llm.cache

  • [x] CachedEntry — one-line
  • [ ] LLMCache — missing

activegraph.llm.embedding

  • [x] EmbeddingProvider
  • [x] HashEmbeddingProvider

activegraph.llm.embedding_cache

  • [x] CachedEmbedding — one-line
  • [x] EmbeddingCache — one-line
  • [x] hash_embedding_request — one-line

activegraph.llm.native

  • [x] inject_additional_properties_false
  • [x] native_schema_compatible

activegraph.llm.openai

  • [x] OpenAIProvider

activegraph.llm.parsing

  • [x] parse_structured_response

activegraph.llm.prompt

  • [x] AssembledPrompt
  • [x] assemble_prompt
  • [x] build_instruction
  • [x] build_system_prompt
  • [ ] build_user_message — missing
  • [x] example_instance_from_schema
  • [x] schema_to_json
  • [x] serialize_view

activegraph.llm.provider

  • [x] LLMProvider

activegraph.llm.recorded

  • [x] RecordedLLMProvider
  • [x] RecordingLLMProvider

activegraph.llm.types

  • [x] LLMMessage
  • [x] LLMResponse — one-line
  • [x] ToolCall

activegraph.llm.wire

  • [x] build_tool_name_map
  • [x] classify_provider_exception
  • [x] restore_tool_name
  • [x] sanitize_tool_name

activegraph.observability.logging

  • [x] JsonLineFormatter
  • [x] get_logger
  • [x] redact_payload — one-line
  • [x] runtime_log_extra
  • [x] set_payload_redactor — one-line

activegraph.observability.metrics

  • [x] MetricSpec — one-line
  • [x] validate_cardinality_rule

activegraph.observability.status

  • [x] BehaviorInfo — one-line
  • [x] BudgetSnapshot — one-line
  • [x] EventSummary — one-line
  • [x] FrameSnapshot — one-line
  • [x] status_to_dict

activegraph.packs

  • [x] behavior — one-line
  • [x] llm_behavior — one-line
  • [x] relation_behavior — one-line
  • [x] tool

activegraph.packs.diligence.behaviors

  • [x] MemoBody
  • [x] QuestionList
  • [x] ResearchFindings
  • [x] ResearcherClaim
  • [x] RiskList

activegraph.packs.diligence.fixtures

  • [x] RecordedDiligenceProvider
  • [ ] lookup_company_docs — missing
  • [ ] lookup_filings — missing
  • [ ] lookup_summary — missing

activegraph.packs.diligence.fixtures.companies

  • [ ] company_goal — missing

activegraph.packs.diligence.object_types

  • [x] Claim — one-line
  • [x] Company — one-line
  • [x] Contradiction
  • [x] Document — one-line
  • [x] Evidence — one-line
  • [x] Memo
  • [x] Question — one-line
  • [x] Risk — one-line

activegraph.packs.diligence.tools

  • [x] DocumentRef
  • [x] FetchCompanyDocsInput
  • [x] FetchCompanyDocsOutput
  • [x] SearchFilingsInput
  • [x] SearchFilingsOutput
  • [x] SummarizeDocumentInput
  • [x] SummarizeDocumentOutput

activegraph.packs.loader

  • [x] PackRuntimeState — one-line
  • [x] load_pack_into_runtime — one-line

activegraph.packs.manifest

  • [x] CapabilityDecl — one-line
  • [x] PackManifest
  • [x] PackManifestError
  • [x] compute_bundle_hash
  • [x] compute_content_hash
  • [x] load_manifest
  • [x] verify_bundle_hash
  • [x] verify_content_hash
  • [x] verify_surface

activegraph.packs.scaffold

  • [x] normalize_pack_name
  • [x] scaffold_pack

activegraph.runtime._live

  • [x] live_runtimes
  • [x] track_runtime — one-line
  • [x] validate_behavior_against_live_runtimes

activegraph.runtime.behavior_graph

  • [ ] BehaviorGraph — missing
  • [ ] Counters — missing

activegraph.runtime.dev_override

  • [x] authority_allows — one-line
  • [x] gate_is_forbidden — one-line
  • [x] receipt_from_event — one-line
  • [x] validate_override_request — one-line

activegraph.runtime.diff

  • [ ] compute_diff — missing

activegraph.runtime.patterns

  • [x] AndExpr — one-line
  • [x] Comparison — one-line
  • [x] Match
  • [x] MatchClause
  • [x] NodePat — one-line
  • [x] NotExists — one-line
  • [x] NotExpr — one-line
  • [x] Pattern — one-line
  • [x] PatternMatcher — one-line
  • [x] RelPat — one-line
  • [x] Tok — one-line
  • [x] parse — one-line

activegraph.runtime.promote

  • [x] build_base_graph
  • [x] compute_promote_plan
  • [x] promote_warnings

activegraph.runtime.queue

  • [ ] EventQueue — missing

activegraph.runtime.registry

  • [ ] Registry — missing

activegraph.runtime.runtime

  • [x] Context — one-line

activegraph.runtime.scheduler

  • [x] DelayedQueue — one-line
  • [x] ScheduledEntry — one-line
  • [x] parse_activate_after

activegraph.runtime.view_builder

  • [ ] build_view — missing

activegraph.sandbox

  • [x] PackSource
  • [x] SandboxStartupError
  • [x] TrialLimits
  • [x] TrialReport
  • [x] preflight
  • [x] run_forked_trial

activegraph.sandbox._child

  • [ ] main — missing

activegraph.sandbox.conformance

  • [x] TrialExecutorConformance

activegraph.sandbox.executor

  • [x] LocalSubprocessTrialExecutor — one-line
  • [x] RecordingTrialExecutor — one-line
  • [x] TrialArtifactReference — one-line
  • [x] TrialBudgetUse — one-line
  • [x] TrialEventLogReference — one-line
  • [x] TrialExecutor — one-line
  • [x] TrialFailureDetails — one-line
  • [x] TrialIsolationGuarantees — one-line
  • [x] TrialResult — one-line
  • [x] TrialSpecification — one-line

activegraph.sinks.conformance

  • [x] EventSinkConformance

activegraph.store.base

  • [x] replay_into

activegraph.store.conformance

  • [x] EventStoreConformance

activegraph.store.graph_conformance

  • [x] GraphStoreConformance

activegraph.store.postgres

  • [x] PostgresEventStore — one-line

activegraph.store.retention

  • [x] RetentionPinnedError
  • [x] SnapshotIntegrityError — one-line
  • [x] compact
  • [x] pins
  • [x] retire
  • [x] state_hash_of — one-line
  • [x] verify_snapshot

activegraph.store.serde

  • [x] decode_event — one-line
  • [x] decode_payload
  • [x] encode_event — one-line
  • [x] encode_payload — one-line
  • [x] validate_event — one-line

activegraph.store.url

  • [x] StoreURL — one-line

activegraph.tools.cache

  • [x] CachedToolResponse — one-line
  • [ ] ToolCache — missing
  • [x] canonicalize_args
  • [ ] hash_tool_call — missing

activegraph.tools.graph_query

  • [x] GraphQueryInput
  • [x] GraphQueryOutput
  • [x] ObjectRef
  • [x] make_graph_query_tool

activegraph.tools.recorded

  • [x] DirectToolInvoker
  • [x] RecordedToolProvider — one-line
  • [x] RecordingToolProvider

activegraph.tools.web_fetch

  • [x] WebFetchInput
  • [x] WebFetchOutput

activegraph.trace.causal

  • [ ] causal_chain — missing

activegraph.trace.printer

  • [x] Trace
  • [ ] format_event — missing

Summary

Ring 0 — public surface (target 100%)

  • 122/122 fully documented (100.0%) — gap to 100% full: 0 symbols
  • 122/122 not-missing (100.0%) — gap to 100% not-missing: 0 symbols (these need docstring_gaps.toml exemptions for the gate to pass)

Ring 1 — importable but not in __all__ (target 80% not-missing)

  • 98/179 fully documented (54.7%) — v1.1 burndown target is 100% full
  • 162/179 not-missing (90.5%) — gate threshold is 80% not-missing

Ring 1 is above the 80% gate threshold. The gate enforces the threshold; individual missing-Ring-1 symbols are v1.1 burndown items, not gate exemptions.