Skip to content

Axonify/truth-teller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Truth Teller

Investigation tracking service for AI-based debugging sessions. Captures facts, evidence, hypotheses, and findings during investigations for persistence and later review.

Features

  • Dual-Mode Operation: Local (embedded databases) or production (MongoDB + OAuth)
  • MCP Integration: Model Context Protocol for Claude Code integration
  • Investigation Tracking: Key investigations by Jira ticket ID
  • Fact Recording: Log entries, query results, code paths, evidence, code commits
  • Hypothesis Tracking: Decision tree with validation status and linked facts
  • Document Storage: Markdown documents per investigation
  • Web UI: Review investigations with tabbed detail view
  • Multi-User Support: Teams, visibility controls, and role-based access

Quick Start

Prerequisites

  • Java 17+
  • Maven 3.9+
  • Docker (for MongoDB in production mode)

Local Mode (Single User)

Local mode uses embedded databases with no external services required:

./scripts/run-local.sh

Default credentials: admin / password

Custom credentials:

LOCAL_USERNAME=myuser LOCAL_PASSWORD=mypass ./scripts/run-local.sh

Production Mode (Multi-User)

Production mode uses MongoDB and stub authentication for development:

# Start MongoDB
docker-compose up -d

# Start server with user picker
./scripts/run-dev.sh

Access Points

Endpoint URL
Notes UI http://localhost:4567/notes
User Profile http://localhost:4567/profile
Admin Panel http://localhost:4567/admin
MCP Endpoint http://localhost:4567/mcp
REST API http://localhost:4567/api

Scripts

Script Description
./scripts/run-local.sh Build and run in local single-user mode
./scripts/run-dev.sh Build and run in production mode with stub auth
./scripts/mongo-backup.sh Create timestamped MongoDB backup

Claude Code Integration

1. Get Your MCP Token

Log into the web UI, go to your Profile page, and expand the "MCP Token" section to reveal your token.

2. Configure MCP

Add to your Claude Code MCP configuration:

{
  "mcpServers": {
    "truth-teller": {
      "url": "http://localhost:4567/mcp",
      "headers": {
        "Authorization": "Bearer <your-mcp-token>"
      }
    }
  }
}

3. Install Skills

cp skills/*.md /path/to/project/.claude/commands/

4. Use Slash Commands

/init-investigation https://axonify.atlassian.net/browse/CI-4126

Technology Stack

Component Technology
Web Framework SparkJava
Template Engine Thymeleaf
Document Database MongoDB (production) / Nitrite (local)
Relational Database SQLite
CSS Tailwind CSS
Protocol MCP (Model Context Protocol)

Project Structure

truth_teller/
├── pom.xml
├── docker-compose.yml
├── scripts/                    # Build and run scripts
├── skills/                     # Claude Code skills
├── docs/                       # Documentation
└── src/
    ├── main/
    │   ├── java/.../truthteller/
    │   │   ├── api/            # REST API and Notes UI
    │   │   ├── auth/           # Authentication
    │   │   ├── config/         # Configuration
    │   │   ├── di/             # Guice modules
    │   │   ├── mcp/            # MCP handler and tools
    │   │   ├── model/          # Domain models
    │   │   ├── repository/     # Data access
    │   │   ├── service/        # Business logic
    │   │   └── util/           # Utilities
    │   └── resources/
    │       ├── templates/      # Thymeleaf templates
    │       └── public/         # Static assets (CSS, JS)
    └── test/                   # Unit tests

Documentation

Document Description
ARCHITECTURE.md System design, diagrams, data model
DEVELOPMENT.md Development setup, configuration, debugging
MCP_SPECIFICATION.md MCP tools, authentication, examples
DEPLOYMENT.md Google Cloud deployment guide
TESTING.md Test patterns and coverage
PRODUCTION_READINESS.md Vendor abstractions, localization plan

Code Reviews

Code review documents are in docs/reviews/.

Configuration Reference

Mode Selection

Variable Default Description
TRUTH_TELLER_MODE remote local or remote
PORT 4567 Server port

Local Mode

Variable Default Description
LOCAL_USERNAME admin Login username
LOCAL_PASSWORD password Login password
LOCAL_DISPLAY_NAME Local Admin Display name

See DEVELOPMENT.md for the full configuration reference.

License

Internal use only.

About

Investigation tracking and documentation system for AI-assisted debugging

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors