Commit graph

842 commits

Author SHA1 Message Date
Rohan Verma
94fdb8a113
Merge pull request #1539 from CREDO23/improve-chat-agent-context-and-citations
[FEAT] Unified [n] citation registry for KB + web, pull-based retrieval
2026-06-25 13:34:52 -07:00
Rohan Verma
96e42a1003
Merge pull request #1536 from CREDO23/feature-mention-chat-in-chat
[Feat] Chat : Reference past chats via @-mention as read-only context
2026-06-25 13:32:25 -07:00
CREDO23
2beafbdec8 agent: retire eager KB priority/planner path and its dead flags
The pull-based KB design (on-demand search_knowledge_base tool + pre-injected
workspace tree) fully replaced the old eager retrieval path. Remove its last
remnants:

- Delete KnowledgePriorityMiddleware (knowledge_search.py) and its tests.
- Drop the kb_priority state field + reducer default; trim
  KbContextProjectionMiddleware to project only workspace_tree_text.
- Remove the now-dead feature flags enable_kb_priority_preinjection and
  enable_kb_planner_runnable across backend (flags, route schema, tests,
  env examples) and frontend (settings toggle, zod schema).
- Scrub <priority_documents> and stale KnowledgePriorityMiddleware references
  from prompts, docstrings, and the ADR.

No functional change: nothing wrote kb_priority and neither flag gated live
behavior after the cutover. Full backend suite green (pre-existing unrelated
failures aside).
2026-06-25 18:37:14 +02:00
CREDO23
5bda944321 citations: normalize word-glued [n] markers
The model frequently writes citations glued to the preceding word
(docs[17]); the (?<!\w) lookbehind (added to dodge arr[1] array indexing)
silently skipped these, leaving raw [n] that fails to render and reads
like array access. Drop the lookbehind so glued citations resolve; genuine
code/array syntax stays protected by the existing code-region carve-out and
unresolved ordinals still drop harmlessly.
2026-06-25 16:28:31 +02:00
CREDO23
ce15016533 citations: consolidate prompts, retire eager path, refresh ADR
Rewrite the main-agent citation contract to a single [n] channel and sync
the orphaned system_prompt_composer surface to match; drop stale
[citation:chunk_id] / <chunk_index> references from dynamic_context and
provider hints. Reuse the shared hybrid search in the deliverables report
(citations omitted for now) and delete the orphaned report KB helper.
Remove the dead eager KnowledgePriorityMiddleware wiring (knowledge_priority
+ stack) and its legacy browse test. Update ADR 0001 to reflect the cutover.
2026-06-25 15:27:09 +02:00
CREDO23
49d675c065 web-search: register results on the citation registry (Channel B -> A)
web_search now registers each result as a WEB_RESULT (locator {url}) and
renders a <web_results> block of <document view="excerpt"> [n] passages,
returning Command(update={messages, citation_registry}) like
search_knowledge_base. Collapse the duplicate research-subagent web_search
into the shared tool and teach the prompts to cite web hits with [n].
2026-06-25 15:26:51 +02:00
CREDO23
c98bdea5cf search-kb: on-demand KB tool on the [n] spine; drop kb_matched_chunk_ids
The main agent's search_knowledge_base tool runs the hybrid spine, renders
a <retrieved_context> of numbered [n] passages, and persists the registry.
KB subagent prompts teach citing [n] from <document view="full"> reads
(evidence.chunk_ids -> evidence.citations). Delete the now-unused
search->read highlighting hand-off: the kb_matched_chunk_ids state field,
its reducer default, the tool's _matched_chunk_ids writer, and the dead
KnowledgePriorityMiddleware writes.
2026-06-25 15:26:39 +02:00
CREDO23
04a76b163b citations: conversation-scoped registry with finalize-time [n] resolution
Add the checkpointed CitationRegistry (load/merge helpers + state field)
and a lightweight CitationStateMiddleware so subagents can register into
the same conversation registry. Resolve [n] -> [citation:<payload>] at
stream finalize from the registry, polymorphically by source type.
2026-06-25 15:26:25 +02:00
CREDO23
265888d21c document-render: unify KB/web rendering on numbered [n] passages
Add a shared document_render package that renders sources as
<document view="excerpt|full"> blocks with server-assigned [n] passage
labels (KB locator {document_id, chunk_id}, web locator {url}). Wire the
KB read backend (kb_postgres) and read_file to the new renderer and drop
the legacy per-document XML renderer (document_xml, retrieved_context) and
the old chunk_index / matched="true" / <chunk id> read format.
2026-06-25 15:26:16 +02:00
CREDO23
e72b17fbed retrieval: instrument hybrid search; note deferred citation markers 2026-06-25 09:00:23 +02:00
CREDO23
4fe208557a retrieval: add reranking wrapper and context service 2026-06-25 08:23:29 +02:00
CREDO23
407bfcd94f retrieval: add source label and retrieved-document adapter 2026-06-25 08:23:29 +02:00
CREDO23
608192057f retrieval: add search scope models and hybrid chunk search 2026-06-25 08:23:29 +02:00
CREDO23
26a1431e87 retrieved_context: drop document completeness concept 2026-06-25 08:23:29 +02:00
CREDO23
6bb20df510 citations: rewrite model [n] ordinals to frontend [citation:] markers 2026-06-25 06:48:25 +02:00
Anish Sarkar
d6bffa6f07 chore: fix linting 2026-06-25 04:31:22 +05:30
CREDO23
b043911325 references: route @chat through chat/ slice 2026-06-24 22:54:58 +02:00
CREDO23
e8a4239151 references: chat package surface 2026-06-24 22:54:58 +02:00
CREDO23
0179473f57 references: chat reference resolver 2026-06-24 22:54:58 +02:00
CREDO23
c0ebb9c26b references: chat access-checked thread lookup 2026-06-24 22:54:58 +02:00
CREDO23
9ffbba8d8c retrieved_context: package surface 2026-06-24 22:38:47 +02:00
CREDO23
1f5da25ef5 retrieved_context: renderer 2026-06-24 22:38:47 +02:00
CREDO23
4d68fa8998 retrieved_context: models 2026-06-24 22:38:47 +02:00
CREDO23
939bfb2c18 references: discriminated per-kind reference types 2026-06-24 22:07:54 +02:00
CREDO23
bffe2491d6 references: resolve_references fan-out 2026-06-24 21:52:31 +02:00
CREDO23
9954a2d960 references: chat resolver 2026-06-24 21:52:31 +02:00
CREDO23
db9b32c72f references: connector resolver 2026-06-24 21:52:31 +02:00
CREDO23
b5a6e4c32a references: folder resolver 2026-06-24 21:48:52 +02:00
CREDO23
a5848f1d43 references: document resolver 2026-06-24 21:48:52 +02:00
CREDO23
ce67c282b9 references: package surface 2026-06-24 21:42:17 +02:00
CREDO23
0afaf94ee9 references: pointer renderer 2026-06-24 21:41:27 +02:00
CREDO23
ee9b9af8d3 references: models 2026-06-24 21:41:27 +02:00
CREDO23
85b999a52d feat(chat): add citations package surface 2026-06-24 21:35:19 +02:00
CREDO23
61b8af0af4 feat(chat): add citation registry 2026-06-24 21:35:19 +02:00
CREDO23
98b164c2d3 feat(chat): add citation entry data shapes 2026-06-24 21:35:19 +02:00
CREDO23
5d79f91352 fix(chat): let search-space owners reference legacy null-creator chats
Mirror search_threads visibility in the referenced-chat resolver: a
search-space owner can now @-mention legacy threads that predate creator
tracking (null created_by_id), instead of those being silently dropped.
2026-06-23 18:30:15 +02:00
CREDO23
afc555d971 feat(chat): resolve and render @-mentioned chats as read-only context
Add the referenced_chat_context slice: models for the data shapes, a
fail-closed resolver that fetches mentioned threads and their visible
turns under the same access rules as thread search, and a transcript
renderer that emits a budgeted <referenced_chat_context> block. When a
chat exceeds the per-reference character budget, recent turns are kept
and any leftover budget is filled with the overflowing turn's tail, with
truncation markers signalling the cut.
2026-06-23 17:04:27 +02:00
Anish Sarkar
3695e1d5c5 Merge remote-tracking branch 'upstream/dev' into feat/api-key 2026-06-23 13:09:53 +05:30
Rohan Verma
1dc3fac81d
Merge pull request #1527 from Muhammad-Ikhwan-Fathulloh/dev
fix: normalize image URLs before persistence and add model selector aria-label
2026-06-23 00:08:41 -07:00
DESKTOP-RTLN3BA\$punk
a08de01cc7 Revert "Merge pull request #1523 from CREDO23/fix/chat-citations"
This reverts commit cd2242147a, reversing
changes made to a4bb0a5253.
2026-06-22 22:55:29 -07:00
Muhammad-Ikhwan-Fathulloh
2848ac6c39 fix: normalize image URLs before persistence and add model selector aria-label 2026-06-20 19:49:58 +07:00
Anish Sarkar
fd31ac34fd Merge remote-tracking branch 'upstream/dev' into feat/api-key 2026-06-20 10:50:03 +05:30
CREDO23
73dd4e8e3a feat: embed line-citation tokens in search hits 2026-06-19 17:37:41 +02:00
CREDO23
188ae053ac feat: serve numbered source_markdown reads with citation preamble 2026-06-19 17:37:41 +02:00
Anish Sarkar
6fd3f8570e refactor: streamline auth context usage across chat and automation routes 2026-06-19 21:04:21 +05:30
CREDO23
fc17b9becd docs: rename evidence.chunk_ids to citations in desktop kb prompt 2026-06-19 17:32:45 +02:00
CREDO23
30ca0e1ef5 docs: readonly kb specialist cites line or chunk form 2026-06-19 17:32:45 +02:00
CREDO23
3c63a7bcd3 docs: kb specialist cites numbered or legacy chunk form 2026-06-19 17:32:45 +02:00
CREDO23
141801f1cc docs: clarify web/kb/legacy citation channels 2026-06-19 17:32:45 +02:00
Anish Sarkar
096dea45d4 refactor: pass auth context through automations 2026-06-19 20:28:35 +05:30