10 KiB
| name | description | version | author | license | metadata | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| teleo-kb-bridge | Use the VPS Postgres KB bridge before answering questions about claims, evidence, agent beliefs, schema-backed identity, proposal readiness, or KB changes. | 1.2.0 | m3taversal | MIT |
|
Teleo KB Bridge
Postgres is canonical knowledge. Runtime memory, chat, and SOUL.md are not
canonical database writes.
Mandatory Reply Contract
Unless the operator explicitly requests a detailed audit or long-form document, draft to at most 170 words; the final reply must never exceed 220 words. A smaller word or line limit is mandatory.
Use this shape:
- direct answer in the first sentence;
- at most three short bullets with only the relevant readback, state boundary, and current-schema constraint;
- at most one proof-changing next action.
Do not mirror this skill, enumerate unrelated fields, repeat the answer as a summary, or turn a direct question into an architecture lecture. Silently count and shorten the draft before sending it; never send more than 220 words.
Mandatory Current-Truth Gates
Apply these before drafting the answer or proposing a next action:
- Proposal readiness:
approvedis intent approval, not applyability. Read the proposal'sreadinessobject. Ifreview_stateisapproved_needs_apply_payload, normalize into a strict payload and review that new packet; never tell the operator to apply the legacy row.approved_contract_presentproves only contract presence, not strict validation, production-worker enablement, authorization, or apply. - Source/evidence audit:
teleo-kb searchsearches claims and identity context, not canonical source rows. Useevidence <claim_id>or a bounded read-onlypublic.claim_evidencetopublic.sourcesjoin. A missing locator means weak provenance, but an existing canonical link is still canonical evidence. Nullapplied_atproves only that proposal did not apply; matching canonical rows could have another origin. - Shared facts versus agent positions: store the factual claim once with
shared evidence. Current agent-owned positions live in
public.beliefswithid,agent_id,level,statement,confidence,falsifier,rank,status,created_at, andupdated_at. The table has no claim-ID foreign key and there is no belief-edge table.public.claim_edgesconnects claims, never belief rows.reasoning_toolsare methods andbehavioral_rulesare operating rules; neither is generic stance storage. - Write boundary: extraction creates candidates inside a reviewed proposal,
not canonical
public.sourcesorpublic.claims. Capture a retained artifact, URL/storage path, and content hash; reject a chat label orsource_refas source identity.teleo-kb propose-sourceis shipped on the VPS for prepared artifact/text/manifest inputs and can stage one deterministicpending_reviewpacket without apply authorization. It is not an autonomous Telegram attachment or tweet extractor. Every current-capability intake answer must lead with: VPS source-to-proposal staging is shipped for prepared inputs; autonomous chat attachment extraction is not shipped. Approval begins before guarded canonical apply. - Capability boundary: current
approve_claimaccepts onlyclaims,sources,evidence,edges, andreasoning_tools. It cannot insertbehavioral_rulesorgovernance_gates, update beliefs or an existing claim, or run a general identity render. Separate unsupported changes for a reviewed future capability; never include them in a runnable apply sequence.applied_atbelongs to the proposal receipt, not each inserted row. - Identity and proof: canonical identity can include
personas,strategies,beliefs, strategy nodes/anchors, and related governed rows; do not reduce it to claims. No active general DB-to-SOUL.mdrenderer automation is currently proven. Unchanged table totals also do not prove unchanged rows; use row IDs, timestamps, hashes, or fingerprints. Hermesstate.dband session JSONL can preserve continuity across restart. Separate handler proof, Telegram-visible delivery, and canonical DB-mutation proof. - Explanation versus relationship: current
public.claim_edgeshas no rationale field. Asupersedesedge records a relationship, not the human explanation. Ground the explanation in source/evidence or a separately reviewable claim. Do not invent aretiredstatus value. - Mixed-packet composition: facts and disputed interpretations map to
claims plus sources/evidence; a reusable framework maps to
reasoning_tools, not a claim graph; operating rules map tobehavioral_rules; evaluative gates map togovernance_gates; agent positions map tobeliefs. Currentapprove_claimcan apply only its five supported collections. Keep policy, gate, belief-update, and existing-row updates staged until a separate reviewed capability is live; never list them in the supported apply order.
Read Commands
This is the VPS production leoclean surface. Start with:
/home/teleo/.hermes/profiles/leoclean/bin/teleo-kb context "<question>"
Treat the emitted Current Runtime Contracts / operational_contracts block as
binding deployed-code readback. Follow its required_lead, schema guards,
capability tier, and reply budget. It overrides recalled or generic architecture.
The live leoclean profile injects that exact read-only contract automatically before the model turn. Before delivery, the same snapshot validates the draft. For contract-covered composition and source-intake questions, an invalid draft is replaced by a response compiled from that snapshot's mappings, supported collections, staged collections, and receipt requirements. The replacement is written into session memory before Telegram delivery, so remembered and visible answers stay identical. This is database/runtime composition, not repeated prompt training; do not work around a failed validator by adding examples to the skill.
Use only the bounded follow-ups relevant to the question:
/home/teleo/.hermes/profiles/leoclean/bin/teleo-kb status
/home/teleo/.hermes/profiles/leoclean/bin/teleo-kb search "<terms>"
/home/teleo/.hermes/profiles/leoclean/bin/teleo-kb show <claim_id>
/home/teleo/.hermes/profiles/leoclean/bin/teleo-kb evidence <claim_id>
/home/teleo/.hermes/profiles/leoclean/bin/teleo-kb edges <claim_id>
/home/teleo/.hermes/profiles/leoclean/bin/teleo-kb list-proposals --status all --limit 50
/home/teleo/.hermes/profiles/leoclean/bin/teleo-kb search-proposals "<terms>" --status all --limit 20
/home/teleo/.hermes/profiles/leoclean/bin/teleo-kb show-proposal <proposal_id>
/home/teleo/.hermes/profiles/leoclean/bin/teleo-kb decision-matrix-status
Source To Proposal
For a retained artifact with a strict UTF-8 extraction and hash-matched manifest, stage exactly one reviewable proposal and retain its private receipt:
/home/teleo/.hermes/profiles/leoclean/bin/teleo-kb propose-source \
--artifact /path/to/source.bin \
--text /path/to/source.txt \
--manifest /path/to/source-manifest.json \
--receipt /home/teleo/.hermes/profiles/leoclean/state/kb-source-receipts/source.json
The command is VPS-local, idempotent by deterministic proposal ID, and may write
only kb_stage.kb_proposals. Verify the receipt says canonical counts unchanged: true, then use show-proposal <id> for readback. Never call this
proof of extraction from Telegram, reviewer approval, or canonical apply.
For direct state questions, run status plus the relevant proposal read. Copy a
full proposal UUID when one row answers the question; otherwise copy all five
observed counts:
DB readback: proposal: `PROPOSAL_UUID`; status: `STATUS`; applied_at: `TIMESTAMP_OR_NONE`; readiness: `REVIEW_STATE`.
DB readback: claims: `N`; sources: `N`; claim_edges: `N`; claim_evidence: `N`; kb_proposals: `N`.
If decision-matrix tables are absent, say reviewer status is not a decision-matrix vote. If a bridge command cannot answer a schema question, use one bounded read-only Postgres inspection and label it as such.
Current V1 Facts
- Claim types:
structural,normative,empirical,concept,meta. - Evidence roles:
grounds,illustrates,contradicts; evidence links point to source rows whose text may live inpublic.sources.excerpt. - Current
public.sourcesstoresid,source_type,url,storage_path,excerpt,hash,captured_at,created_by, andcreated_at. It has noauthor,title,publisher, or publication-date column. Retain that richer metadata in the review packet until a reviewed schema can store it canonically. - Edge types:
supports,challenges,requires,relates,contradicts,supersedes,derives_from,cites,causes,constrains,accelerates. - Current v1 has no forecast-resolution fields or
resolvesedge. Preserve the original probability and call resolution ambiguous when criteria were absent. - A Telegram attachment, cache file, or proposal
source_refalone does not prove canonical evidence from that artifact. - Handler success without a Telegram post is handler proof, not Telegram-visible delivery. A visible reply proves delivery, not DB mutation.
Write Policy
Normal chat may capture a real source and stage a reviewable proposal. It may
not mutate canonical public.*. Apply requires the matching strict payload,
human review, explicit operator/admin authorization, a supported apply path, a
committed transaction, row-level postflight proof, and non-null applied_at.
The strict existing-ID add_edge path is live-proven. Rich approve_claim
bundles are clone-proven. The production apply worker remains disabled/inactive
unless a fresh service readback proves otherwise. Never offer direct SQL from
chat.
Telegram Participant Naming
Address @m3taversal only as m3taversal, exactly. Never infer or reuse a
personal name or nickname. The stored legacy reviewer value m3ta may be quoted
only as a database value; it is not a form of address. Resolve every speaker
from the current Telegram update and never carry identity across participants.
Detailed Reference
Only when the operator explicitly asks for a detailed audit, schema inventory, external-doctrine workflow, or long-form runbook, read the relevant section of:
/home/teleo/.hermes/profiles/leoclean/skills/teleo-kb-bridge/REFERENCE.md
Do not load or repeat the entire reference for normal Telegram questions.