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_memoone-line
  • [x] print_memo_sectionone-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] CachedEntryone-line
  • [ ] LLMCachemissing

activegraph.llm.embedding

  • [x] EmbeddingProvider
  • [x] HashEmbeddingProvider

activegraph.llm.embedding_cache

  • [x] CachedEmbeddingone-line
  • [x] EmbeddingCacheone-line
  • [x] hash_embedding_requestone-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_messagemissing
  • [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] LLMResponseone-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_payloadone-line
  • [x] runtime_log_extra
  • [x] set_payload_redactorone-line

activegraph.observability.metrics

  • [x] MetricSpecone-line
  • [x] validate_cardinality_rule

activegraph.observability.status

  • [x] BehaviorInfoone-line
  • [x] BudgetSnapshotone-line
  • [x] EventSummaryone-line
  • [x] FrameSnapshotone-line
  • [x] status_to_dict

activegraph.packs

  • [x] behaviorone-line
  • [x] llm_behaviorone-line
  • [x] relation_behaviorone-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_docsmissing
  • [ ] lookup_filingsmissing
  • [ ] lookup_summarymissing

activegraph.packs.diligence.fixtures.companies

  • [ ] company_goalmissing

activegraph.packs.diligence.object_types

  • [x] Claimone-line
  • [x] Companyone-line
  • [x] Contradiction
  • [x] Documentone-line
  • [x] Evidenceone-line
  • [x] Memo
  • [x] Questionone-line
  • [x] Riskone-line

activegraph.packs.diligence.tools

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

activegraph.packs.loader

  • [x] PackRuntimeStateone-line
  • [x] load_pack_into_runtimeone-line

activegraph.packs.manifest

  • [x] CapabilityDeclone-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_runtimeone-line
  • [x] validate_behavior_against_live_runtimes

activegraph.runtime.behavior_graph

  • [ ] BehaviorGraphmissing
  • [ ] Countersmissing

activegraph.runtime.dev_override

  • [x] authority_allowsone-line
  • [x] gate_is_forbiddenone-line
  • [x] receipt_from_eventone-line
  • [x] validate_override_requestone-line

activegraph.runtime.diff

  • [ ] compute_diffmissing

activegraph.runtime.patterns

  • [x] AndExprone-line
  • [x] Comparisonone-line
  • [x] Match
  • [x] MatchClause
  • [x] NodePatone-line
  • [x] NotExistsone-line
  • [x] NotExprone-line
  • [x] Patternone-line
  • [x] PatternMatcherone-line
  • [x] RelPatone-line
  • [x] Tokone-line
  • [x] parseone-line

activegraph.runtime.promote

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

activegraph.runtime.queue

  • [ ] EventQueuemissing

activegraph.runtime.registry

  • [ ] Registrymissing

activegraph.runtime.runtime

  • [x] Contextone-line

activegraph.runtime.scheduler

  • [x] DelayedQueueone-line
  • [x] ScheduledEntryone-line
  • [x] parse_activate_after

activegraph.runtime.view_builder

  • [ ] build_viewmissing

activegraph.sandbox

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

activegraph.sandbox._child

  • [ ] mainmissing

activegraph.sandbox.conformance

  • [x] TrialExecutorConformance

activegraph.sandbox.executor

  • [x] LocalSubprocessTrialExecutorone-line
  • [x] RecordingTrialExecutorone-line
  • [x] TrialArtifactReferenceone-line
  • [x] TrialBudgetUseone-line
  • [x] TrialEventLogReferenceone-line
  • [x] TrialExecutorone-line
  • [x] TrialFailureDetailsone-line
  • [x] TrialIsolationGuaranteesone-line
  • [x] TrialResultone-line
  • [x] TrialSpecificationone-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] PostgresEventStoreone-line

activegraph.store.retention

  • [x] RetentionPinnedError
  • [x] SnapshotIntegrityErrorone-line
  • [x] compact
  • [x] pins
  • [x] retire
  • [x] state_hash_ofone-line
  • [x] verify_snapshot

activegraph.store.serde

  • [x] decode_eventone-line
  • [x] decode_payload
  • [x] encode_eventone-line
  • [x] encode_payloadone-line
  • [x] validate_eventone-line

activegraph.store.url

  • [x] StoreURLone-line

activegraph.tools.cache

  • [x] CachedToolResponseone-line
  • [ ] ToolCachemissing
  • [x] canonicalize_args
  • [ ] hash_tool_callmissing

activegraph.tools.graph_query

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

activegraph.tools.recorded

  • [x] DirectToolInvoker
  • [x] RecordedToolProviderone-line
  • [x] RecordingToolProvider

activegraph.tools.web_fetch

  • [x] WebFetchInput
  • [x] WebFetchOutput

activegraph.trace.causal

  • [ ] causal_chainmissing

activegraph.trace.printer

  • [x] Trace
  • [ ] format_eventmissing

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.