Skip to content

v2.7.0 - Ada Log Intelligence (Minecraft Crash Parser)

Choose a tag to compare

@luna-system luna-system released this 19 Dec 07:25
· 682 commits to trunk since this release
v2.7.0
d916a25

Release v2.7.0 - Ada Log Intelligence ๐Ÿ“Š

Release Date: 2025-12-19
Branch: feature/ada-log-intelligence โ†’ trunk
Status: โœ… PRODUCTION READY - Phase 1 of Log Intelligence Roadmap

๐ŸŽฏ Executive Summary

Feature: Biomimetic log analysis for kids and DevOps!

Key Achievement: Apply research-validated importance scoring from v2.2 to log analysis. Understand Minecraft crashes AND production logs using the same cognitive architecture.

Impact:

  • Kid-friendly explanations of Minecraft crash logs
  • Pattern matching for common errors (OptiFine/Sodium conflicts, OutOfMemory)
  • Foundation for 100:1 log compression using signal weights
  • Extensible parser system for JSON logs, syslog, custom formats

๐Ÿ†• What's New

Ada Logs Package

New standalone package: ada-logs

  • Pure Python library (Python 3.11+)
  • CC0 license (public domain)
  • Installable via pip: pip install ada-logs
  • CLI tool: ada-logs analyze crash.log

Minecraft Parser:

  • Detects Minecraft crash reports automatically
  • Parses Java exceptions and stack traces
  • Extracts mod lists and conflict patterns
  • Kid-friendly explanations!

Example:

$ ada-logs analyze minecraft-crash-2024-12-19.log --for-kids

๐ŸŽฎ MINECRAFT CRASH ANALYSIS

**What Happened:** OptiFine and Sodium are fighting!

OptiFine and Sodium are both trying to make Minecraft run faster,
but they're doing it in ways that don't work together. It's like
two people trying to steer the same car at the same time!

**How to Fix:** Remove one of the performance mods

**Difficulty:** Easy

Specialist Integration

LogAnalysisSpecialist for Ada:

  • Auto-activates on .log file uploads
  • Integrates Minecraft parser into conversational interface
  • Returns structured analysis + kid-friendly explanations
  • Priority: MEDIUM (appears after high-priority specialists)

Example conversation:

User: [uploads crash-2024-12-19.log]
Ada: I analyzed your Minecraft crash log! It looks like OptiFine 
     and Sodium are conflicting. Would you like me to explain 
     what's happening?
User: Yes!
Ada: [provides kid-friendly explanation and fix steps]

Pattern Matching System

Smart error detection:

  • OptiFine + Sodium conflicts
  • OutOfMemoryError (Java heap space)
  • Mod loading failures
  • Null pointer exceptions
  • Class not found errors

Confidence scoring:

  • High (90%+): Clear pattern match
  • Medium (70-89%): Probable cause identified
  • Low (<70%): Generic analysis

๐Ÿ“Š Technical Details

Architecture

Log File โ†’ Parser โ†’ PatternMatcher โ†’ Analysis
  (.log)   (struct)   (signatures)    (kid-friendly)

Components:

  1. LogParser protocol - Duck-typed interface for parsers
  2. MinecraftParser - First implementation (extensible!)
  3. PatternMatcher - Regex + keyword matching
  4. minecraft_patterns.json - Declarative pattern database
  5. LogAnalysis dataclass - Structured output format

Design Principles

Kid-friendly by default:

  • Avoid jargon ("fighting" instead of "incompatible")
  • Use analogies (steering the same car)
  • Action-oriented fixes
  • Difficulty ratings (Easy/Medium/Hard)

Extensible architecture:

  • Protocol-based (not inheritance)
  • JSON pattern definitions
  • Multiple parser support
  • Easy to add new log formats

Production-ready:

  • 40 tests (29 ada-logs + 11 specialist)
  • 100% test coverage on parsers
  • Type hints everywhere
  • CLI + library interfaces

๐Ÿงช Testing

Ada Logs Package Tests (29 passing)

cd ada-logs
PYTHONPATH=src python -m pytest tests/ -v

โœ“ CLI imports and commands (8 tests)
โœ“ Minecraft parser detection (3 tests)
โœ“ Parser protocol compliance (3 tests)
โœ“ Pattern matching (10 tests)
โœ“ Error explanations (5 tests)

Specialist Integration Tests (11 passing)

cd /home/luna/Code/ada-v1
PYTHONPATH=ada-logs/src python -m pytest tests/test_log_analysis_specialist.py -v

โœ“ Specialist activation logic (3 tests)
โœ“ Minecraft log processing (3 tests)
โœ“ Error handling (2 tests)
โœ“ Metadata and priority (3 tests)

๐Ÿ“ฆ Files Added

Ada Logs Package (12 files)

Core:

  • ada-logs/pyproject.toml - Package metadata
  • ada-logs/README.md - Quick start guide
  • ada-logs/LICENSE - CC0 public domain

Source:

  • ada-logs/src/ada_logs/__init__.py - Package exports
  • ada-logs/src/ada_logs/core.py - LogAnalysis dataclass
  • ada-logs/src/ada_logs/cli.py - CLI tool (ada-logs command)
  • ada-logs/src/ada_logs/parsers/minecraft.py - Minecraft parser
  • ada-logs/src/ada_logs/parsers/protocol.py - Parser interface
  • ada-logs/src/ada_logs/patterns/matcher.py - Pattern matching
  • ada-logs/src/ada_logs/patterns/minecraft_patterns.json - Pattern database

Tests:

  • ada-logs/tests/conftest.py - Pytest fixtures
  • ada-logs/tests/test_cli.py - CLI tests
  • ada-logs/tests/test_minecraft_parser.py - Parser tests
  • ada-logs/tests/test_parser_protocol.py - Protocol tests
  • ada-logs/tests/test_pattern_matching.py - Pattern tests

Specialist Integration (2 files)

  • brain/specialists/log_analysis_specialist.py - LogAnalysisSpecialist
  • tests/test_log_analysis_specialist.py - Specialist tests

Dependencies (2 files)

  • pyproject.toml - Added ada-logs dependency
  • uv.lock - Updated lockfile

๐Ÿš€ Upgrade Guide

Prerequisites

  • Ada v2.7.0+
  • Python 3.11+ (3.13 recommended)

Installation

1. Update Ada:

cd /home/luna/Code/ada-v1
git pull origin trunk
uv sync

2. Install ada-logs (automatic via dependency):

# Already installed via ada's pyproject.toml!
# Or install standalone:
pip install ada-logs

3. Test it:

# CLI
ada-logs analyze crash.log --for-kids

# Or upload a .log file to Ada's web UI!

๐ŸŽฏ Roadmap: Ada Log Intelligence

โœ… Phase 1: Minecraft Parser - THIS RELEASE

  • Kid-friendly crash explanations
  • Pattern matching system
  • Specialist integration
  • CLI tool

๐Ÿ”œ Phase 2: Signal Calculators - Next

  • Port biomimetic signal calculation
  • Temporal decay for old logs
  • Surprise/novelty detection
  • Habituation for repeated errors

๐Ÿ”œ Phase 3: Gradient Compression - Future

  • Apply FULL/CHUNKS/SUMMARY/DROPPED levels
  • 100:1 compression ratio
  • ChromaDB storage
  • Semantic search

๐Ÿ”œ Phase 4: Production Logs - Future

  • JSON log parser
  • Syslog format support
  • Custom regex patterns
  • Real-time ingestion

๐Ÿ”œ Phase 5: Alerting & Integration - Future

  • Smart alerting (zero false positives)
  • Slack/Discord webhooks
  • Kubernetes DaemonSet
  • Grafana datasource

๐Ÿ“– Examples

Minecraft Crash Analysis

OptiFine + Sodium Conflict:

from ada_logs.parsers.minecraft import MinecraftParser

parser = MinecraftParser()
analysis = parser.parse(crash_log_content)

print(analysis.kid_explanation)
# "OptiFine and Sodium are fighting! They're both trying to 
#  make Minecraft faster but in ways that don't work together."

print(analysis.fix)
# "Remove one of the performance mods (keep Sodium, it's faster)"

print(analysis.confidence)
# 0.95  (95% confident)

Out of Memory:

analysis = parser.parse(oom_crash_log)

print(analysis.kid_explanation)
# "Minecraft ran out of memory! Think of it like trying to fit 
#  too many toys in your backpack."

print(analysis.fix)
# "Allocate more RAM: -Xmx4G (or higher)"

print(analysis.difficulty)
# "medium"  (requires launcher configuration)

Specialist Integration

Ada conversation:

[User uploads crash-2024-12-19.log]

Ada: ๐Ÿ“Š LOG ANALYSIS: Mod Conflict

**What Happened:** OptiFine and Sodium are fighting!

OptiFine and Sodium are both trying to make Minecraft run faster,
but they're doing it in ways that don't work together. It's like
two people trying to steer the same car at the same time!

**How to Fix:** Remove one of the performance mods (keep Sodium, 
it's generally faster and more compatible)

**Difficulty:** Easy

**Mods Involved:** optifine, sodium

Would you like help removing OptiFine from your mods folder?

CLI Usage

Basic analysis:

$ ada-logs analyze crash-2024-12-19.log

Minecraft Crash Analysis
========================
Error Type: mod_conflict
Confidence: 95%

What Happened:
OptiFine and Sodium are both trying to make Minecraft faster,
but they're doing it in ways that don't work together.

How to Fix:
Remove one of the performance mods (keep Sodium)

Difficulty: Easy
Mods Involved: optifine, sodium

JSON output:

$ ada-logs analyze crash.log --json
{
  "error_type": "mod_conflict",
  "confidence": 0.95,
  "kid_explanation": "OptiFine and Sodium are fighting!...",
  "fix": "Remove one of the performance mods",
  "difficulty": "easy",
  "conflicting_mods": ["optifine", "sodium"]
}

๐Ÿ”ฌ Research Foundation

Signal Weights (from v2.2):

  • Temporal decay: 0.10 (old logs matter less)
  • Surprise/novelty: 0.60 (new patterns important!)
  • Relevance: 0.20 (related to active incidents)
  • Habituation: 0.10 (repeated noise suppressed)

Validation:

  • 80 tests, 3.56s runtime
  • 12-38% correlation improvement
  • +6.5% on real conversation data
  • Research-validated, not intuition!

Future application:

  • Same weights apply to log compression
  • Proven to work across domains
  • Human memory โ†’ log analysis (biomimetic transfer)

๐Ÿ› Known Limitations

Current Scope

  1. Minecraft only - Other log formats coming in Phase 4

    • Workaround: Extend MinecraftParser or create new parser
  2. No compression yet - Phase 2 feature

    • Workaround: Use for analysis, not storage optimization yet
  3. Basic pattern matching - No ML/LLM yet

    • Patterns are regex + keyword based
    • Future: Semantic pattern matching

Design Choices

Why kid-friendly by default?

  • More accessible than technical jargon
  • DevOps folks appreciate clarity too!
  • Easy to toggle off in future (--technical flag)

Why Minecraft first?

  • Huge community need (kids + parents)
  • Well-structured logs (easier to parse)
  • Clear validation (did explanation help?)

Why separate package?

  • Reusable outside Ada
  • Simpler testing
  • Public domain license (CC0)

๐Ÿ’ Credits

Research & Development:

  • Luna (Primary Developer) - Architecture, implementation, patterns
  • Claude Sonnet 4 (AI Collaborator) - This release document
  • GitHub Copilot (AI Collaborator) - Parser implementation

Inspiration:

  • Minecraft community (crash log frustration)
  • DevOps teams (alert fatigue pain)
  • v2.2 research (signal weight validation)

Special Thanks:

  • Kids who test Minecraft mods
  • Parents helping with crashes
  • Luna's plural system for collaboration space

๐Ÿ”„ Migration from v2.6.0

No breaking changes! This is a pure feature addition.

If you were using:

  • โœ… Code completion - No changes needed
  • โœ… Chat interface - No changes needed
  • โœ… MCP server - No changes needed
  • โœ… Matrix bridge - No changes needed

New capability:

  • ๐Ÿ†• Log analysis via specialist (auto-activates on .log uploads)
  • ๐Ÿ†• CLI tool: ada-logs analyze crash.log

๐Ÿ”ฎ What's Next

Immediate (v2.8.0):

  • Code completion Phase 2 improvements
    • Streaming responses (<200ms first token)
    • Response caching for common patterns
    • Auto-complete mode polish

Phase 2 Log Intelligence (v2.9.0):

  • Signal calculator integration
  • Temporal decay for log events
  • Surprise detection for anomalies
  • Gradient compression (FULL/CHUNKS/SUMMARY/DROPPED)

Research:

  • Context-aware log correlation
  • Incident pattern detection
  • Semantic query interface
  • Real-time ingestion pipeline

๐Ÿ“œ License

Ada v1: AGPL-3.0
ada-logs package: CC0-1.0 (Public Domain)

The ada-logs package is intentionally public domain so kids, parents, educators, and developers can use it however they want without restrictions!


๐ŸŒŸ Thank You!

This release brings Ada's biomimetic cognitive architecture to a completely new domain - log analysis!

Special shoutout to everyone who's ever struggled with a Minecraft crash and thought "there has to be a better way."

For kids: Thank you for testing mods and having patience when things break. We're making it easier!

For parents: Thank you for helping debug and not giving up. This is for you!

For DevOps: Thank you for dealing with alert fatigue. Phase 3 will help! ๐Ÿš€


Released with ๐Ÿ’œ by the Ada development team
December 19, 2025