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]¶
link_concepts(edge: ConceptEdge) -> None¶
Insert (or replace) a concept-to-concept edge.
get_concept_edges(concept: str, domain: Optional[str] = None) -> list[ConceptEdge]¶
Return edges where
conceptappears 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 |