[EPIC][expert] Project symbolic knowledge expert: fresh source facts, relations, provenance, and explainable project queries #418
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/prolog-rlm#418
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent: #376
Depends on: #377
Consumes: #93, #96–#99, existing Project/source APIs
Goal
Add a Project Symbolic Knowledge Expert that answers project/source questions from fresh, provenance-carrying Prolog knowledge rather than forcing callers or models to rediscover repository structure from raw text.
This is the canonical specialist for questions such as:
It is read/knowledge oriented. It does not own filesystem mutation.
Source truth
Reuse #93's Project/source model and the #96–#99 pipeline:
For Prolog source, use SWI-native xref/source semantics where stronger than generic Tree-sitter extraction.
Do not build a competing index or source ontology solely for this expert.
Responsibilities
symbol_ref/ source-span style references used by plans and Write Expert;indexwhere appropriate;Knowledge classes
Keep explicit distinctions between:
Do not flatten all facts into untyped strings.
Expert goals
Conceptual forms:
Exact vocabulary follows the source/project API and should stay extensible.
Freshness is a correctness requirement
A supposedly current answer must be bound to the current coherent source snapshot. Stale facts may be inspectable but cannot silently satisfy a query requiring current evidence.
The expert should return structured
unknown,stale,ambiguous, orincompletestates instead of inventing certainty.Symbolic reasoning
Use Prolog strengths aggressively:
Normal expert reasoning uses zero model calls.
An optional LLM fallback may enrich fuzzy semantic mapping only when explicitly configured; any resulting candidate relation must remain distinguishable from authoritative parser/xref observations and carry fallback provenance.
Cooperation
Acceptance
currentquery as success.Non-goals
Refs #376 #377 #93 #96 #97 #98 #99 #288
Sibling boundary: #388 now owns generic corpus/document/log symbolicization (LLM logs, web results, reports, arbitrary text) under immutable schemas + append-only provenance. #380 remains authoritative for project/source-code semantics. Cross-links should occur through normalized evidence refs/queries rather than merging both domains into one universal ontology.