Skip to content

Knowledge Manifest

Cluster: Uncategorised | Type: component | MCP Tools: None

Overview

Public API

ManifestDB

Constructor:

Parameter Type Default
db_path str \| None None

Methods:

search_passages_fts(query: str, domain: str, top_k: int = 10) -> list[tuple[str, str, float]]

FTS5-based keyword search returning (passage_id, chunk_text, bm25_score) tuples.

close() -> None

upsert_source(src: SourceRecord) -> None

get_source_by_url(url: str) -> Optional[SourceRecord]

get_source_by_id(source_id: str) -> Optional[SourceRecord]

already_indexed(url: str, checksum: str) -> bool

mark_source_indexed(source_id: str, passage_count: int) -> None

mark_source_error(source_id: str, error_msg: str) -> None

update_source_quality(source_id: str, citation_count: int, authority_score: float, peer_reviewed: bool, pub_year: int = 0) -> None

Update quality-signal columns for an existing source.

update_source_meta(source_id: str, title: str, doi: str) -> None

Update title and doi for an existing source record.

upsert_passage(p: PassageRecord) -> None

get_passages_by_source(source_id: str) -> list[PassageRecord]

get_passages_by_domain(domain: str) -> list[PassageRecord]

get_verified_passages_by_domain(domain: str) -> list[PassageRecord]

Like :meth:get_passages_by_domain, but FAIL-CLOSED on provenance (OWASP LLM08).

get_passages_above_confidence(domain: str, min_confidence: float = 0.6) -> list[PassageRecord]

Return passages in a domain with confidence >= threshold.

get_passage_confidence(passage_id: str) -> float

Return the confidence score for a passage. Returns 0.5 if not found.

update_passage_confidence(passage_id: str, confidence: float, epistemic_status: str) -> None

Update confidence + epistemic_status for an existing passage.

chunk_already_indexed(chunk_id: str) -> bool

get_passage_texts_for_domain(domain: str) -> list[str]

upsert_domain(d: DomainRecord) -> None

domain_ready(domain: str) -> bool

get_domain_stats() -> list[DomainRecord]

Insert (or replace) a concept-to-concept edge.

get_concept_edges(concept: str, domain: Optional[str] = None) -> list[ConceptEdge]

Return edges where concept appears as either endpoint.

SourceRecord

Field Type Default
id str required
domain str required
url str required
checksum str required
fetched_at str required
passage_count int required
status str required
error_msg Optional[str] None
citation_count int 0
authority_score float 0.5
peer_reviewed bool False
reference_only bool False
pub_year int 0
title str ''
doi str ''

PassageRecord

Field Type Default
id str required
source_id str required
domain str required
chunk_text str required
provenance_json str required
colbert_pid Optional[int] None
clip_embed_id Optional[int] None
audio_embed_id Optional[int] None
confidence float 0.5
epistemic_status str 'unknown'
content_hash str ''

DomainRecord

Field Type Default
name str required
doc_count int required
passage_count int required
last_updated str required
index_status str required

ConceptEdge

Field Type Default
id str required
source_concept str required
target_concept str required
domain str required
edge_type str required
weight float required
passage_id str required