Commit graph

58 commits

Author SHA1 Message Date
851fed6a5f Merge pull request 'M1.1: Search and fetch tools' (#3) from feat/search-fetch-tools into main 2026-04-08 20:19:21 +00:00
Jeff Smith
a5bc93e275 M1.1: Search and fetch tools with tests
- tavily_search(): Tavily API wrapper returning SearchResult dataclasses
  with content hashing (raw_content preferred, falls back to summary)
- fetch_url(): async URL fetch with HTML text extraction, content hashing,
  and graceful error handling (timeout, HTTP errors, connection errors)
- _extract_text(): simple HTML → clean text (strip scripts/styles/tags,
  decode entities, collapse whitespace)
- _sha256(): SHA-256 content hashing with 'sha256:' prefix for traces

18 tests: hashing, HTML extraction, mocked Tavily search, mocked async
fetch (success, timeout, HTTP error, hash consistency).

Refs: archeious/marchwarden#1

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-08 14:17:18 -06:00
8930f4486a Merge pull request 'M0.3: Contract v1 Pydantic models' (#2) from feat/contract-models into main 2026-04-08 20:14:45 +00:00
Jeff Smith
1b0f86399a M0.3: Implement contract v1 Pydantic models with tests
All Research Contract types as Pydantic models:
- ResearchConstraints (input)
- Citation with raw_excerpt (output)
- GapCategory enum (5 categories)
- Gap with structured category (output)
- DiscoveryEvent (lateral findings)
- ConfidenceFactors (auditable scoring inputs)
- CostMetadata with model_id (resource tracking)
- ResearchResult (top-level contract)

32 tests: validation, bounds checking, serialization roundtrips,
JSON structure verification against contract spec.

Refs: archeious/marchwarden#1

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-08 14:00:45 -06:00
Jeff Smith
6a8445ed13 Fix README wiki links to use absolute URLs
Relative /wiki/ paths resolve against the Forgejo root, not the repo.
Use full URLs so links work from the repo README page.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-08 13:41:03 -06:00
Jeff Smith
79becb21ec Fix README: correct clone URL and wiki link paths
- Update clone URL to archeious/marchwarden (was claude-code)
- Fix wiki links to use /wiki/ routes instead of docs/wiki/ source paths
- Fix issue link to correct repo

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-08 12:07:29 -06:00
Jeff Smith
deb124ed29 Initial project structure and scaffolding
- Directory layout: researchers/web/, orchestrator/, cli/, docs/wiki/
- README with quick start and vision
- CONTRIBUTING with workflow and testing guidelines
- pyproject.toml with dependencies and build config
- .gitignore for Python projects

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-04-08 11:57:15 -06:00
f1e27e35f0 Initial commit 2026-04-08 17:56:21 +00:00