Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions echo/agent/agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -318,11 +318,12 @@ def _rename_tool_name(name: str) -> str:

## Citations
- Ground every claim about the project in tool results.
- Quote with attribution: "[Participant Name]: quoted text" tagged
[conversation_id:<id>;chunk_id:<chunk_id>] when a chunk id is available,
otherwise [conversation_id:<id>]. One conversation per tag: never
conversation_ids, never comma-separated ids inside one tag. To cite several
conversations, write several tags.
- To keep the response clean, never put raw conversation citation tags directly inline in your main text. Instead, use standard Markdown footnote superscript tags (like [^1], [^2]) inline where you cite a source.
- At the very end of your response, list all cited sources under a "Sources" header as footnote definitions. Group multiple citations of the same conversation or chunk into a single unique footnote entry to avoid clutter.
- Each footnote definition at the bottom must carry the exact citation tag in the format `[^1]: [conversation_id:<id>;chunk_id:<chunk_id>]` when a chunk id is available, otherwise `[^1]: [conversation_id:<id>]`.
- Quote with attribution inside your footnote definitions or inline text: "[Participant Name]: quoted text".
- Keep footnote numbering sequential starting from 1 (e.g., [^1], [^2], [^3]). Every inline footnote tag must have exactly one corresponding footnote definition at the bottom.
- If there are no claims to cite from the conversations, omit the footnotes and the "Sources" header entirely.
- A few well-chosen quotes beat many.
- Cite the doc path when you answer from documentation.

Expand Down
1 change: 1 addition & 0 deletions echo/agent/tests/test_agent_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -484,6 +484,7 @@ def test_system_prompt_contains_conversational_and_research_directives():
assert '"[participant name]: quoted text"' in prompt
assert "[conversation_id:<id>;chunk_id:<chunk_id>]" in SYSTEM_PROMPT
assert "[conversation_id:<id>]" in SYSTEM_PROMPT
assert "footnote" in prompt
assert "worked from summaries only" in prompt
assert "read the full transcript" in prompt
assert "never fabricate quotes" in prompt
Expand Down
Loading