6ee4cbbf39
---ci---
phase: 0
milestone: v1.0
status: specify
autonomy: full
decisions:
- id: D-001
decision: Milestone v1.0 scope = slice 1 core loop (Ask → Choose → Plan & Run) with Rapid Answer + Deep Report only
rationale: Phased MVP approved in planning session; 8-methodology catalog locked in vision but rolled out across milestones
confidence: 0.95
alternatives: [all 8 methodologies in v1.0, backend-engine-first]
- id: D-002
decision: Custom async engine (hand-rolled asyncio state machine) instead of LangGraph
rationale: Full control over pause/resume, durable state, and trace streaming; avoids framework lock-in (open_deep_research archived Aug 2026)
confidence: 0.85
alternatives: [langgraph engine, custom-deferred-interrupts]
- id: D-003
decision: Stack = FastAPI (Python 3.12, uv, pydantic) + Next.js App Router (TypeScript strict)
rationale: Best fit for adapter/LLM ecosystem; gpt-researcher validates the split; OpenAPI generates typed frontend client
confidence: 0.9
alternatives: [python cli-first, typescript end-to-end]
- id: D-004
decision: Model adapter defaults to Ollama cloud (ollama.com/v1, keyed) with keyless localhost:11434/v1 fallback
rationale: User clarification — covers cloud + local in one default; graceful degradation
confidence: 0.9
alternatives: [cloud-only, local-first]
- id: D-005
decision: Release target = Gitea git.coreci.dev/coreci/researchx; secrets in .ciagent/.env.secrets (0600, gitignored)
rationale: User-provided forge target and credentials; keys never in config.json or git
confidence: 1.0
alternatives: [local-only]
- id: D-006
decision: Phase tags run on v0.9.x patch line; final phase patch tag is the v1.0 milestone release
rationale: Branch-strategy tag rules — tags run on previous minor's patch line, no separate milestone tag
confidence: 0.9
alternatives: [tags on v1.0.x line]
---/ci---
Specification: ResearchX deep-research studio — BYO model/storage/memory, methodology-first selection, visited-only verified citations, 3-click core loop
Requirements: 12-dial methodology framework, 5 adapter slots, custom async engine, trust loop, API + Next.js frontend, fake-adapter test suite
Constraints: local-first single-user, OpenAI-compatible endpoints only, no paywalled academic access, secrets never committed
Out of scope: chatbot/model host/closed index, auth/multi-tenancy, remaining 6 methodologies (v2 backlog)
5 lines
73 B
Plaintext
5 lines
73 B
Plaintext
# CIAgent secrets — never commit
|
|
.env
|
|
.env.secrets
|
|
.env.*
|
|
!.env.example |