Commit graph

41 commits

Author SHA1 Message Date
Yiorgis Gozadinos
a9e66b001b
Drop the database name from single-database document output
Naming one database on the command line points the configuration at it,
so no command that prints a document ever has a name to print.
2026-08-24 15:28:21 +03:00
Yiorgis Gozadinos
e94623ec37
Tell a document which database it came from
Document.source names the configured database, as SearchResult and
Citation already do. A listing spanning databases is unreadable
without it, and `--database NAME list` could not name the one it
opened.
2026-08-24 10:03:47 +03:00
Yiorgis Gozadinos
7f54eb4dbc
Measure the CLI and its application layer
cli.py carried 40 pragmas over whole command bodies and app.py a
class-level one over all 412 statements, while tests/test_cli.py already
drove 29 commands through CliRunner. The pragmas hid lines the suite
executed, so the 100% gate understated real coverage and gave new CLI code
no scrutiny.

Both are measured now. 38 CLI tests stub HaikuRAGApp and assert the parsed
arguments reach the right method; 60 app tests stub the client and record
the console, pinning what each command asks for and what it prints. The only
pragma left in either file is cli() under __main__. The omit list is back to
the two Textual TUIs.

Three defects the coverage surfaced:

haiku-rag settings masked only top-level secret-named fields, so nested ones
printed in full — lancedb.api_key, providers.docling_serve.api_key, WebDAV
source passwords. It uses redact_secrets, which walks the dump.

chat guarded the wrong thing: haiku.rag.chat imports without Textual, and
run_chat raises when it imports ChatApp, so the missing extra escaped as an
ImportError. The guard is on the call. inspector raises at module import
instead, so inspect keeps its guard on the import; each has a test that
fails the way the real installation fails.

search --limit/--search-type and history --limit default to None so the
config resolves the default. Now pinned.

CI passed --cov=haiku while pyproject declares source = ["haiku_rag_slim"];
pass --cov and let the config decide. build-docs.yml only ran on push to
main, so a broken docs build merged and failed at deploy: build on pull
requests, with configure-pages, upload-pages-artifact and deploy gated to
push, and a per-ref concurrency group.
2026-08-20 13:23:00 +03:00
Yiorgis Gozadinos
b64d9721bb
Mark with pragma no cover areas that are just wiring. Consolidate tests and bring coverage to 100% 2026-02-13 11:56:37 +02:00
Yiorgis Gozadinos
20414ed959
Additional tests 2026-02-06 12:07:21 +01:00
Yiorgis Gozadinos
57fd08d600
Revert "Synthesis steps now select only relevant citations instead of including all" 2026-01-28 16:00:27 +02:00
Yiorgis Gozadinos
8a587ec554
Synthesis steps now select only relevant citations instead of including all 2026-01-27 15:56:29 +02:00
Yiorgis Gozadinos
5aabae4d06
Remove background_context & simplify 2026-01-26 16:42:39 +02:00
Yiorgis Gozadinos
f582552f6a
Add tests for migration scenarios 2026-01-19 14:12:51 +02:00
Yiorgis Gozadinos
18362f01c2
Pass context for CLI/app 2026-01-16 15:03:06 +02:00
Yiorgis Gozadinos
e0da58bb6c
Add tests for settings validation and app operations 2026-01-15 10:46:29 +02:00
Yiorgis Gozadinos
7cc561d1db
Refactor to make agents a top-level module. Bring in the conversational agent from the app 2026-01-12 12:37:08 +02:00
Yiorgis Gozadinos
bb61e8fab6
Remove custom AG-UI infrastructure in favor of pydantic-ai native support 2026-01-12 12:37:07 +02:00
Yiorgis Gozadinos
716cf420be
Tests for history 2025-12-19 12:03:19 +02:00
Yiorgis Gozadinos
45de9bf0d5
Flatten graph structure, simplify 2025-12-18 11:41:57 +02:00
Yiorgis Gozadinos
f0a7abd953
Remove deep qa graph, everything now uses the simplified research graph 2025-12-18 11:41:10 +02:00
Yiorgis Gozadinos
f25a949758
Fix tests 2025-12-11 16:05:49 +02:00
Yiorgis Gozadinos
4da50873bd
Make search limit configurable 2025-12-09 11:46:43 +02:00
Yiorgis Gozadinos
a57203065a
Fix test 2025-12-08 15:55:28 +02:00
Yiorgis Gozadinos
d808c6c425
Simplify citations in qa & graph agents 2025-12-08 15:55:27 +02:00
Yiorgis Gozadinos
032625b0bb
Refactor everything graph-related under the graph module 2025-11-13 13:22:03 +02:00
Yiorgis Gozadinos
8f0597e89e
Update deep ask graph 2025-11-13 13:22:03 +02:00
Yiorgis Gozadinos
9ee64a33e0
Remove A2A from haiku.rag, turn it into an example 2025-11-07 13:31:51 +02:00
Yiorgis Gozadinos
9075dac23a
Remove graph common and move its content to deep QA, research. 2025-11-06 11:02:32 +02:00
Yiorgis Gozadinos
d19d2b7f00
Fix tests 2025-10-31 12:50:08 +02:00
Yiorgis Gozadinos
4cc25407ef
Properly skip a2a tests if fasta2a not installed 2025-10-27 11:28:35 +02:00
Yiorgis Gozadinos
1f2552bd6a
Make serve cli command run monitor, mcp or a2a independently 2025-10-13 18:01:24 +03:00
Yiorgis Gozadinos
a6275fcf25
Rename nodes to make it clear they are part of Q/A 2025-09-30 16:59:36 +03:00
Yiorgis Gozadinos
49eac86259
Add verbose flag to ask 2025-09-30 16:59:36 +03:00
Yiorgis Gozadinos
2dfb1882dd
Deep QA multi-agent 2025-09-30 16:59:36 +03:00
Yiorgis Gozadinos
45d0b47a02
Meta in CLI add-src, add 2025-09-23 16:39:27 +03:00
Yiorgis Gozadinos
5ea5de274c
Make styles consistent 2025-09-23 12:27:01 +03:00
Yiorgis Gozadinos
4077e3ecb2
Handle title in client & CLI 2025-09-22 12:45:32 +03:00
Yiorgis Gozadinos
dce60fa461
Remove SSE transport, fix cli tests 2025-09-20 10:58:28 +03:00
Yiorgis Gozadinos
03289bb644
Fix MCP test 2025-09-18 12:54:36 +03:00
Yiorgis Gozadinos
8dfb8638be
Fix SSE server setup 2025-09-08 15:31:56 +03:00
Yiorgis Gozadinos
0592a7d122
Adapt search to lancedb 2025-09-01 14:56:14 +03:00
Yiorgis Gozadinos
b83596ff07
Basic moving to lancedb. 2025-09-01 14:56:14 +03:00
Yiorgis Gozadinos
842e4a882d
Make citations optional, through cite parameter 2025-08-12 13:19:11 +02:00
Yiorgis Gozadinos
c4c670bc40
Use proper mocks instead of setattr to satisfy typing. Fix minor typos 2025-06-25 17:50:19 +03:00
Russ Ferriday
94ff11ad25 feat(tests): Add tests for app and cli modules 2025-06-24 23:00:18 +01:00