AGENTS.md
+92 −44
https://raw.githubusercontent.com/chriswu727/sibyl/HEAD/AGENTS.md
− Sibyl is a local deep-research MCP server. It turns bounded public-web− investigations into reports with inspectable evidence and explicit limitations.− ## Installation− Use Python 3.11 or newer. Report/finance extras require Pillow 13.0.0 or newer;− do not restore Python 3.10 compatibility by weakening the security floor.− This guide targets the published 0.4.0b1 beta; PyPI 0.3.0 predates these APIs.− Use the exact-version installation in README.md. The core installation needs− no search or model key. Install `sibyl-research[report]==0.4.0b1` for autonomous model-backed research− and PDF export; Markdown/JSON host reports need no optional model dependency.− 2. Call `continue_research(job_id, query, question_id)` with focused questions. Follow leads,− investigate contradictions, and look for original sources.− passage IDs, a conclusion, and a counterevidence note. Investigate counterevidence− 5. Submit `complete_research(job_id, revision, summary, key_findings, analysis,− limitations)`. Summary and each finding must cite selected `[Source N]`.− Legacy checkpoints retain their previous completion behavior. The autonomous− pipeline does not populate the new host review ledger.− targets, not semantic entailment. Do not describe host reports as independently− verified. Citation numbering can change after retrieval: always use the current− ## Experimental autonomous research− `start_research(question, mode="autonomous")` uses the operator-configured model− and can incur API charges. It does not inherit a host subscription or invoke− hidden MCP sampling. Poll `get_research` for progress and the eventual report.− `continue_research(job_id)` explicitly resumes interrupted work and may incur− additional charges. Existing evidence and consumed budgets are preserved;− unfinished synthesis may be regenerated.− The compatible blocking `research(query, depth=2)` tool uses the same source− pipeline but retains only the last report in memory. Prefer persistent jobs for− long investigations.− - Model source-support checks are fallible; preserve inline unverified markers.− ## Evidence primitives− - `gather_bundle(query)`: SourceBundle 1.6 with source/passages and diagnostics.− - `gather_sources(query)`: readable rendering of that same bundle.− - `gather_evidence(question)`: host-planned atomic loop, four-step ceiling,− ten-minute TTL. Follow its explicit next action.− - `quick_search(query)`: search hits without full-page extraction.− - `read_url(url)`: text from one public HTTP(S) page.− Use a primitive for a focused fact lookup; use persistent jobs for reports.− These APIs remain available alongside the research workflow.− Checkpoints are private local files below `SIBYL_OUTPUT_ROOT/.research`.− One runtime owns a research directory at a time. The default job allows eight+ Sibyl is a local deep-research MCP tool for AI agents. It maintains bounded+ public-web investigations, evidence-linked conclusions, and explicit gaps.+ Human-readable reports are optional outputs of the same research state.+ ## Installation and interface+ This checkout is an unreleased host-only source preview. Development paused on+ 2026-10-28 after the paired host evaluation did not pass, and no stable release+ is planned. Published 0.4.0b1 and 0.3.0+ still contain the old architecture. Use Python 3.11+ and a fresh environment+ with `python -m pip install -e .`. `sibyl-mcp` exposes eight tools with compact+ MCP `structuredContent`, mirrored as JSON text. The former keyless compatibility+ profile was removed; `--profile keyless` now exits with an error.+ See README.md and docs/agent-protocol.md.+ Sibyl never calls a generative model or reads subscription credentials. Reasoning+ and any model usage stay in the calling host under its own terms and limits.+ Search keys are optional; Tavily can incur separate charges. Markdown/JSON reports+ need no extra; `[report]` is PDF rendering only, with Pillow >=13.0.0.+ Read `research_plan.questions[].review` for host-authored conclusions and stable+ support/challenge links. Inspect gaps before reuse. Use+ `get_research(passage_ids=[...])` for exact evidence: briefs omit raw text.+ Use `view="sources"` with the current revision to page the full catalog, and+ `view="full"` for the compatible snapshot. Each brief is self-contained.+ `continue_research` and `assess_research` return a `view="update"` for one+ question: new sources with top passages inline (cut ones marked `truncated`),+ retrieval notes, that question's gaps and checks, readiness, next searches and+ `before_answering` steps; after an assessment, `answer_material` lists the+ recorded claims with URLs, counterevidence status and open gaps for the answer.+ Before answering, read at least two independent publishers and one+ counterevidence source; cite URLs, never Sibyl claim or passage IDs.+ 2. Find sources with your own web search when available and read them with+ `continue_research(job_id, url=... or urls=[up to 5], query=..., question_id=...)`;+ read sources are clustered, ranked and assessed like search results. A query+ alone falls back to keyless search, which public search sites often refuse.+ Follow leads, investigate contradictions, and look for original sources.+ passage IDs, atomic claims, a conclusion, and a counterevidence note. Facts cite+ passages and quote exact text from them (unverifiable quotes are rejected);+ reasoning cites basis_claim_ids with a rationale. Recommendations+ declare criteria and their user/host_assumption origin. Unknowns remain+ unresolved with an explanation. See docs/research-claims.md. Run the searches in+ `research_plan.suggested_queries` (each has a kind and the gap-based reason).+ `claim_support` flags facts that rest on one source or only on background
Showing the first 40 of each.