Skip to content

shanika/ResearchLog

Repository files navigation

Research Log

AI-powered research with a transparent audit trail.

Research Log makes AI research visible. Instead of receiving a polished summary and trusting it blindly, you see every source the agent reads, how it evaluated those sources, and how conclusions were formed.

Why

Modern AI agents are excellent researchers. They can search, read, and synthesize information faster than any human.

The problem is that most AI research is a black box. You get a final answer, but you don't know:

  • Which sources were actually read
  • Which sources were ignored
  • How credible the evidence was
  • Where the model may have made assumptions

Research Log fixes this by making the research process transparent.

Every source is recorded before conclusions are drawn, allowing you to review the evidence yourself, comment on it, and guide future research runs.

What this gives you

Trust

When accuracy matters—medical, legal, financial, academic, or high-stakes business decisions—you can inspect the evidence instead of relying solely on the model's judgment.

Better understanding

Knowledge sticks when you see claims alongside their sources. Research Log helps you learn from the research process, not just consume the final answer.

You remain the decision-maker. The agent does the legwork.


Using Research Log

How it works

  1. Create a research topic.

  2. The agent researches the web.

  3. Every source is logged with:

    • URL
    • Search intent
    • Neutral summary
    • Relevance rating
    • Credibility rating
    • Rationale and judgment
  4. Review the evidence.

  5. Leave comments or guidance.

  6. Re-run the research. The agent incorporates your feedback and continues.

Research activity is recorded automatically and streamed live to the interface as it happens.

Every source is logged with a neutral summary and separate relevance and credibility ratings — so a highly relevant source from a weak outlet is rated honestly, not laundered into the conclusion. Comment on any source to correct or challenge it:

The Sources tab: each source with its own relevance and credibility ratings, a neutral summary, and an inline comment box

The synthesis is a confidence-rated answer where every claim cites the sources it rests on, so you can trace any statement straight back to the evidence:

The Synthesis tab: a confidence-rated answer with inline citations back to each source

Features

  • Complete research trail — every source is recorded and evaluated.
  • Human-in-the-loop — comment on sources and steer future runs.
  • Append-only history — discussions and decisions are preserved.
  • Failure visibility — errors and timeouts are recorded, never hidden.
  • Uses your Claude subscription — runs through your authenticated claude CLI.
  • Installable PWA — works like a desktop or mobile app when served over HTTPS from a publicly accessible URL.

Requirements

  • Node.js 20+
  • pnpm
  • Claude Code (claude CLI), installed and already authenticated on the machine

Important

Research Log currently uses Claude Code as its underlying agent harness.

Real research runs spawn your local claude CLI, so it must be installed and already signed in on this machine (run claude once and complete login before starting the app).

Research Log currently supports Claude Code only.

Runs use your existing Claude subscription quota.

Quick Start

git clone https://github.com/shanika/ResearchLog.git
cd ResearchLog

corepack enable
pnpm install
pnpm seed
pnpm dev

Open:

http://localhost:5173

Create a topic, watch the research run live, review the evidence, and guide future runs through comments.

Limitations

  • Research runs consume your Claude subscription quota.
  • Rate limits can terminate active runs.
  • Comments added during a run are processed on the next run.
  • Authentication currently supports a single shared board password.

Developing Research Log

Development Requirements

The built-in fake adapter uses no LLM and requires no authentication. It exists for UI development, testing, and CI.

Run without Claude:

CONRES_ADAPTER=fake pnpm dev

Architecture

node server (127.0.0.1:3100)
├─ REST API
├─ MCP Server
├─ WebSocket Hub
├─ Embedded Postgres (PGlite)
└─ Research Run Queue

Each research run launches an agent that performs web research and records findings through MCP tools. The UI receives updates in real time through WebSockets.

Project Structure

Path Purpose
packages/shared Shared schemas and validation
packages/db Database layer and migrations
server API, MCP server, run queue
ui React frontend

Common Commands

Task Command
Run app pnpm dev
Run tests pnpm test
Typecheck pnpm typecheck
Reset demo data pnpm seed
Generate migration pnpm db:generate
Build UI pnpm build
Hash password pnpm auth:hash

Reset the database:

rm -rf data/pglite && pnpm seed

Configuration

Variable Purpose
CONRES_ADAPTER claude_local or fake
CONRES_AUTH_MODE local_trusted or authenticated
CONRES_AUTH_PASSWORD_HASH Password hash for authenticated mode
CONRES_SESSION_SECRET Session signing secret
CONRES_UI_HOST UI bind host

Contributing

Contributions are welcome.

Key principles

  • The schema is the contract.
  • Add tests for new behavior.
  • Keep pnpm test and pnpm typecheck passing.
  • Commit generated migrations when changing database schemas.

License

MIT © 2026 Shanika Wijerathna

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors