Skip to content

Rinne v0.1.8

Latest

Choose a tag to compare

@github-actions github-actions released this 13 Jul 18:20
e25961f

Overview

Rinne v0.1.8 is a major feature release that introduces persistent code graph indexing, the interactive rinne learn explainer, enhanced model routing & escalation, human-in-the-loop (HITL) integration, and live rate-limiting & usage ledger tracking.

This release brings the total crate count to 8 (adding rinne-graph to workspace) and implements a rich architecture designed to make AI developer agents significantly faster, smarter, and more inspectable.


🚀 Key Features

1. Persistent & Incremental Code Graph Indexing

Rinne now maintains a local, incremental code graph in .rinne/state.db using tree-sitter and SQLite, completely eliminating the need to re-read the entire codebase on every run.

  • Multi-Language Support: AST-level symbol extraction (classes, functions, methods, imports) and call edge resolution for Rust, TypeScript, and Python.
  • Smart Context Injection: Resolves call neighborhoods (callers/callees) and maps them into worker prompts (ContextPacket), ensuring workers edit with full architectural context.
  • CLI & TUI Graph Subcommands:
    • rinne graph index (TUI /index) — Run an on-demand, synchronous reindex.
    • rinne graph stats (TUI /graph stats) — Display counts of files, symbols, and edges in the index.
    • rinne graph symbols <file> (TUI /graph symbols <file>) — List all indexed symbols in a file.
    • rinne graph neighborhood <symbol> (TUI /graph neighborhood <symbol>) — Inspect callers/callees of a symbol.
  • Toggle Option: Use the --no-graph flag to disable code graph indexing globally.

2. Interactive Topic Explainer (rinne learn / TUI /learn)

Generate a self-contained, highly detailed interactive HTML walk-through for any concept or topic in your codebase.

  • Two-Phase Reindexing: Instantly refreshes indices of files matching the topic and adjacent symbol clusters before generation.
  • AI & Literal Clustering: Resolves natural language topics to precise symbol clusters.
  • Mermaid & Markdown Visualizations: Assembles doc-comments, code snippets, and matching CONTEXT.md design sections. Renders a narrative analysis and generates a dynamic Mermaid flowchart of the code path.
  • Real-time TUI Feedback: Streams phase-milestone progress directly to the TUI.
  • Output Path: Saves to .rinne/learn/<topic>.html (use --open to launch in your browser, or --no-ai to generate without LLM narration).

3. Conductor Model Routing & Escalation Ladder

The conductor's decision-making is now governed by a capability-based hierarchy.

  • Goal-Classification & Tiers: Classifies goals against exemplars to assign them to the most cost-effective tier.
  • Escalation Ladder: Automatically routes a failing task to a higher tier model/worker if its validation checks fail.
  • Rule-based Conductor Configs: Configurable pre-selected models and custom backends mapped to specific tiers.

4. Human-in-the-Loop (HITL) Controls

Provides developers with deep control over the planning and execution loop.

  • Session-Scoped Role Pins: Force the runner to use specific backends and models on the fly during a session.
    • /human conductor <backend> [<model>]
    • /human generator <worker> [<model>]
    • /human evaluator <mode> (supports human or ai backends)
  • Execution Checkpoints / Gates: Configure named pause points before or after specific nodes, or on successful builds:
    • /human checkpoint add <name> before <node>
    • /human checkpoint add <name> after <node>
    • /human checkpoint add <name> on-build
  • Human-as-Evaluator: Step in to provide manual evaluation feedback to the generator-evaluator loop.

5. API Rate-Limiting & Usage Ledgers

Never get blind-sided by API costs or rate-limits again.

  • Limit Probing: Live monitoring of API subscriptions and quota limits.
  • Session Ledger: Every token consumed (prompt and completion) is written to a SQL ledger per worker. Inspect session consumption using rinne limit-usage or the TUI /limit-usage command.

🛠️ Internal Enhancements & Fixes

  • Crate Modularization: The workspace now spans 8 specialized crates:
    • rinne-cli (CLI & interactive TUI)
    • rinne-types (Shared types, graph interfaces, and worker models)
    • rinne-loop (Loop engine, scheduler, assembler, and checkpoint gates)
    • rinne-core (State DB, blackboard, and human loops)
    • rinne-conductor (Escalation ladders, routing, and planning prompts)
    • rinne-workers (Harnesses, OpenAI/Anthropic/Grok adapters, and HTTP transport)
    • rinne-config (Unified config loader, limits, and doctor probe)
    • rinne-graph (Tree-sitter indexing engine)
  • Tab Completion: Added auto-complete features in the interactive TUI for /index, /graph, /learn, /human, /limit-usage, and /workers commands.
  • OAuth & Secrets Storage: Stored secrets (bearer tokens, API keys, OAuth session keys) for MCP servers are kept securely in the OS keychain (under accounts mcp:<name>).
  • HTTP & Adapter Upgrades: Enhanced HTTP transport, added live model discovery through adapters, and resolved subprocess/execution adapter bugs.

Full Changelog: v0.1.7...v0.1.8

What's Changed

🚀 Features

  • feat: persistent code graph index + rinne learn explainer by @symaticvisuals in #22
  • feat(learn): domain-first explainers, cheap models, serve, and TUI /serve by @symaticvisuals in #23

Full Changelog: v0.1.7...v0.1.8

What's Changed

🚀 Features

  • feat: persistent code graph index + rinne learn explainer by @symaticvisuals in #22
  • feat(learn): domain-first explainers, cheap models, serve, and TUI /serve by @symaticvisuals in #23

Full Changelog: v0.1.7...v0.1.8