Add CI/CD, README, and a case study for deep_research #9
Loading…
Reference in a new issue
No description provided.
Delete branch "worktree-deep-research-max-turns-report"
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?
Follow-up to #8 (already merged), which fixed the max-turns recovery, the DuckDuckGo rate-limiting root cause (swapped to local SearXNG), and split
core.rsfor separation of concerns.This adds:
.forgejo/workflows/deep_research-ci.yml— build, test, clippy (-D warnings), fmt --check on push/PR, scoped todeep_research(not workspace-wide —swear_cleanuphas an unrelated pre-existing clippy warning that would otherwise break CI on an unrelated project)deep_research/README.md— what the project does, the four-agent architecture, why it's local-first (Ollama + self-hosted SearXNG, no cloud API key, no query leaves the host), project layout, how to run/test itdeep_research/docs/case-study.md— narrative walkthrough of the max-turns recovery path, the rate-limiting root cause and fix, and the SoC refactor, each verified against a live run of the actual failing case rather than just unit tests. Uses a neutral "AI customer-support chatbot trends" research run as the illustrative clean-pipeline example.Test plan
cargo build/test/clippy/fmtall clean fordeep_researchdeep_research is the only project this repo is meant to showcase, so the Cargo workspace wrapping it and an unrelated side project no longer earns its keep: - swear_cleanup moved to a new standalone local repo (~/dev/swear_cleanup, not pushed anywhere) via `git subtree split`, with its pre-workspace- split history (when it lived at src/swear_cleanup/ in a single shared crate) spliced onto its post-split history rather than starting from a single flattened snapshot. FINDINGS.md, which was sitting at this repo's root but was actually swear_cleanup's own build log, went with it. - deep_research/{src,Cargo.toml,README.md,docs} moved to the repo root; the [workspace] table collapsed into a plain [package] manifest with dependency versions inlined from the old [workspace.dependencies]. - Cargo.toml keeps an explicit empty [workspace] table (not just omitted) so that checking this repo out as a nested git worktree — this project's own normal workflow — can't accidentally inherit a stale ancestor directory's workspace manifest, which is exactly what broke the build while testing this change from a worktree. - .forgejo/workflows/deep_research-ci.yml -> ci.yml, dropping the now- meaningless -p deep_research scoping and path filters (redundant when it's the only thing in the repo). - README.md and docs/case-study.md updated for the flattened commands (cargo run/test with no -p flag); their relative links to each other and to src/ were already correct since both moved together. Verified: cargo build/test/clippy/fmt all clean from the new repo root.