Skip to content

Releases: scbrown/bobbin

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 14 Jul 03:25

What's Changed

  • feat(index): multimodal PDF ingest behind opt-in flag (bo-j5r0) by @scbrown in #41
  • fix(prune): batch DELETE IN to stay under SQLite var limit (#43) by @scbrown in #45
  • fix(hook): report real injection count in remote deployments (#42) by @scbrown in #46
  • feat(watch): periodic reindex backstop + status freshness signal (#44) by @scbrown in #47

Full Changelog: v0.5.0...v0.6.0

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 29 Jun 18:58
687533c

What's Changed

  • fix: clear bobbin bug backlog (bo-f61, bo-92t, bo-ewk, bo-b0nn, bo-ruuc) by @scbrown in #22
  • feat(telemetry): extend bead_lineage — feature_id + numstat + symbols (bo-xrsy) by @scbrown in #23
  • feat(config): surface context-assembly knobs to [context]/[feedback] (bo-qlfu) by @scbrown in #24
  • feat(telemetry): auto-link commits to beads via post-commit hook (bo-5em9) by @scbrown in #25
  • feat(telemetry): bug_causality table + reconstruction job (bo-s1kb) by @scbrown in #26
  • feat(telemetry): bobbin reconcile — unified change_event view (bo-mu4m) by @scbrown in #27
  • feat(telemetry): bobbin predict — co-files + bug-risk + bundle (bo-6i55) by @scbrown in #28
  • docs(ci): vale accept-list for domain terms; drop dead duplicate (bo-lzik) by @scbrown in #29
  • refactor(storage): split sqlite.rs into module dir (bo-q19x) by @scbrown in #30
  • docs(config): document all real config sections + fix stale exclude list (bo-l9ny) by @scbrown in #31
  • feat(context): token-budget accounting for context assembly (bo-ne9k) by @scbrown in #32
  • feat(index): configurable chunk size/overlap + embedder-window clamp (bo-jsxi) by @scbrown in #33
  • feat(git): coupling score weights -> config (bo-y1kd) by @scbrown in #34
  • feat(causality): sharpen bug_causality with git-blame (bo-8nmm) by @scbrown in #36
  • feat(coverage): test<->source mapping via coupling + MCP tool (bo-u5z2) by @scbrown in #35
  • feat(coupling): cross-repo coupling via bead co-occurrence (bo-oqny) by @scbrown in #37
  • fix(coupling): deny cross-repo edges with empty repo/path (bo-4t07) by @scbrown in #38
  • feat(context): thread repo_affinity_boost config into agent-facing paths (bo-u962) by @scbrown in #39
  • chore: bump version 0.4.0 -> 0.5.0 for release by @scbrown in #40

Full Changelog: v0.4.0...v0.5.0

v0.3.1: Server-First UX

Choose a tag to compare

@scbrown scbrown released this 25 Mar 00:45

What's New

Server-First Setup

  • bobbin connect <url> — one command to connect to a running bobbin server, save config, and install Claude Code hooks
  • Multi-agent onboarding improvements with BOBBIN_SERVER env hints

Web UI Enhancements

  • Deep linking — share searches via URL hash (#search?q=foo&mode=semantic)
  • Filter controls — repo, tag, group filters on the search page
  • Auto-detect forge type — GitHub, GitLab, Forgejo, Bitbucket deep links work automatically
  • Dynamic repo_path_prefix replaces hardcoded server paths

Search & Navigation

  • Inline query syntax (repo:, lang:, type:, file:, tag:, group:)
  • Feedback CLI with server mode proxy (GH#7)
  • Cross-repo deep bundle view (--repo-root flag)

Bug Fixes

  • Watch service detects per-file git repo names (GH#2)
  • Hook status walks up directory tree to find parent settings.json (GH#3)
  • Bundle/tags discovery walks up directory tree past git roots (GH#5)
  • Normalize absolute file paths to repo-relative in bundle add (GH#6)

Full Changelog: v0.3.0...v0.3.1

v0.3.0: Context Bundles

Choose a tag to compare

@scbrown scbrown released this 23 Mar 02:31

Highlights

Context Bundles — Named, hierarchical knowledge anchors that give agents instant domain context. Bundles are keyword-bound groupings of files that represent concepts, features, or subsystems. Three disclosure levels: map → outline → deep.

bobbin bundle list                    # See all bundles
bobbin bundle show context            # Outline of context assembly
bobbin bundle show context --deep     # Full file contents
bobbin bundle create "my-feature"     # Create new bundle

Error-Context Injection — When a build or test fails, bobbin now parses the error output, identifies the relevant source files, and injects them into the agent's next prompt. No more "let me search for that file" — the fix context arrives automatically.

Cross-Agent Feedback Learning — Files rated useful by one agent now get a score boost for all agents. Collective knowledge improves over time.

Web UI Bundles Page — Browse, filter, and explore bundles through the web interface with repo filtering and detail views.

What's New

Context Bundles (Phases 1-5, 8)

  • [[bundles]] config in tags.toml with hierarchical naming
  • bobbin bundle list/show/create/add/remove CLI commands
  • Search integration: bundle membership filters on /context and /search
  • Hook injection: keyword-matched bundles injected into agent prompts
  • Beads integration via b:<slug> labels
  • /bundle skill for deep-research bundle creation
  • bobbin prime now outputs bundle inventory

Search Quality

  • 18 waves of search quality improvements
  • Query intent classification (General, Implementation, Configuration, Operational)
  • Intent-aware coupling thresholds and gate boosts
  • Cross-repo filename dedup and gate thresholds
  • Expanded noise filtering (test/example/infra/vendor/lockfile paths)
  • Prompt tag stripping (<system-reminder>, <functions>, <available-deferred-tools>)

Hook Improvements

  • Error-context injection — parse build/test errors for direct file injection
  • Conversation-aware context — use prompt trajectory for richer queries
  • Session memory — complementary file expansion when all chunks seen
  • Remote server support for PostToolUseFailure
  • Expanded automated message detection (patrol nudges, system reminders, acks)
  • skip_prefixes configuration for operational command filtering
  • Keyword-triggered repo scoping

Web UI

  • Redesigned interface around user intent
  • Home dashboard with stats
  • Bundles page with repo filter and detail panel
  • Injection detail view with click-through from feedback list

Feedback System

  • Cross-agent feedback learning — boost files rated useful by others
  • Feedback lineage tracking — tie feedback to fixes
  • Feedback prompt — periodic reminders to rate injections
  • Injection tracking and overlap detection

Search & Indexing

  • Configurable file type classification via [[file_types]]
  • Repo affinity boost — soft score multiplier for agent's current repo
  • Tag pin support — budget reservation and pinned chunk injection
  • Session-level progressive reducing for dedup
  • Native CLI subcommands with key=value translation

Tags

  • Globstar patterns now match root-relative paths (previously broken)
  • Pin support for budget reservation
  • Auto-tag Go init() functions to demote CLI boilerplate

Infrastructure

  • Forgejo CI/CD pipeline with deploy + doc-lint + cargo test
  • Configurable paths and URLs — removed all hardcoded values
  • Auto-detect libonnxruntime.so at system paths
  • /cmd endpoint — REST command proxy for named searches
  • Streamable HTTP transport for network-accessible MCP server

Documentation

  • Context Bundles design doc and guides
  • Tags deployment playbook
  • RBAC access control guide
  • Hooks configuration reference
  • Advanced search features guide
  • Feedback and archive integration guides
  • Expanded calibrate, hooks, and tags docs

Bug Fixes

  • Fixed globstar patterns not matching root-relative paths
  • Fixed NaN panics in score sorting
  • Fixed archive dedup (body-based, not raw content)
  • Fixed UTF-8 panic in archive dedup string slicing
  • Fixed /deploy/ blanket filter removing application code
  • Fixed tagged doc paths (designs, runbooks, audits) blocked by hard noise filter
  • Fixed gate threshold too high (0.65 → 0.50) causing valid queries to be blocked
  • Fixed cross-repo bleed in remote context/search
  • Content-based dedup catches duplicate chunks across files
  • Guard against limit=0 in vector and FTS search

Stats

  • 185 commits since v0.2.0
  • 68 features, 42 bug fixes, 18 documentation updates
  • Contributors: stryder, ian, ellie, maldoon (aegis crew)

Full Changelog: v0.2.0...v0.3.0

v0.2.0: Context Injection Engine

Choose a tag to compare

@scbrown scbrown released this 03 Mar 18:19

Bobbin v0.2.0 — Context Injection Engine for AI Coding Agents

323 commits since v0.1.0. Bobbin has evolved from a code search tool into a full context injection engine that sits between your codebase and your AI agent, automatically providing relevant context on every prompt.

Highlights

  • Automatic context injection via Claude Code hooks — every prompt gets relevant code injected
  • Tool-aware reactions — rules that fire after tool calls with contextual guidance
  • Advanced search — boolean queries, regex patterns, inline filters
  • Tags & annotations — boost, demote, or exclude chunks by tag
  • Feedback loop — agents rate injections to improve quality over time
  • HTTP server — multi-repo search with web UI, REST API, and webhook integration
  • Evaluation framework — systematic eval against real codebases with LLM-as-judge scoring

Context Injection Pipeline

  • Hook injection system: UserPromptSubmit hook embeds prompts, searches index, assembles and injects context automatically
  • Session primer: SessionStart hook provides project overview with live stats
  • PostToolUse reactions: Configurable rules in .bobbin/reactions.toml fire after tool calls — coupled-file reminders, IaC drift checks, known-issue surfacing
  • PostToolUseFailure context: When tools fail, search for relevant recovery context
  • Smart gating: Skip injection when best match score is too weak
  • Session dedup: Avoid re-injecting unchanged context across turns
  • CLAUDE.md dedup: Filter results that duplicate content already in agent context
  • Content-level dedup: Detect and remove near-duplicate chunks from injection bundles
  • Injection tracking: Every injection gets a unique injection_id for feedback
  • Feedback system: Agents rate injections as useful/noise/harmful via MCP tool or CLI

Indexing & Search

  • Advanced query parser: Boolean operators (OR, NOT), regex patterns, inline filters (repo:X, lang:rust, type:function)
  • Tags & annotations: auto:config, user:ops-docs, custom labels with effects (boost, demote, exclude)
  • Content extraction tags: Automatic tags from frontmatter and code comments
  • Multi-repo indexing: Index multiple repos into one DB, named groups for scoped search
  • Incremental indexing: Only re-index changed files (hash-based tracking)
  • Webhook-triggered reindex: Forgejo push webhooks trigger background incremental reindex
  • Git commit indexing: Semantic search across commit messages
  • Recency weighting: Temporal decay favors recently-changed code
  • Query preprocessing: Keyword extraction and stop-word removal for better keyword search
  • Auto-calibration: Automatically tune search parameters after indexing

Codebase Intelligence

  • Impact prediction: bobbin impact predicts affected files from coupling + dependency data
  • Duplicate detection: bobbin similar finds semantic clones across the codebase
  • Review context: bobbin review assembles context bundles from git diffs
  • Hotspot analysis: bobbin hotspots identifies high-churn high-complexity code
  • Git log search: bobbin log searches commits semantically
  • Doc→source bridging: Git blame links documentation to the source code it describes
  • Dependency resolution: Import graph analysis complements coupling data

Agent Integration

  • Claude Code hooks: bobbin hook install sets up all hooks automatically
  • MCP server: 12+ tools for Claude Code, Cursor, and any MCP client
  • HTTP API: Full REST API with /search, /context, /repos, /suggest, /metrics
  • Web UI: Browser-based search with autocomplete, filter chips, feedback tab
  • Role-based access: Path-based filtering per agent role (§69)
  • Index groups: Named repo sets for scoped multi-repo search
  • Prometheus metrics: /metrics endpoint for monitoring

Performance

  • GPU acceleration: Automatic CUDA detection, 10-25x faster indexing
  • Coupling cache: Skip re-analysis when HEAD is unchanged
  • Adaptive batching: Cross-file embedding batches for throughput
  • Lance compaction: Automatic vector store maintenance

Evaluation Framework

  • Agent runner: Clone repos, set up bobbin, run Claude Code tasks
  • Scoring: Test scorer, diff scorer, LLM-as-judge with bias mitigation
  • 30+ eval tasks: Across Flask, Ruff, Cargo, Polars, Django, Nushell, Typst, Pandas
  • Ablation testing: --config-overrides for systematic parameter sweeps
  • Results publishing: Auto-generated mdbook pages with matplotlib charts

Developer Experience

  • bobbin tour: Interactive guided walkthrough of features
  • bobbin prime: LLM-friendly project overview with live stats
  • bobbin run: User-defined convenience commands
  • The Bobbin Book: Comprehensive mdbook with 50+ pages of guides, reference, and architecture docs
  • CI/CD: GitHub Actions for lint, test, build, docs deploy

Bug Fixes

  • Webhook handler no longer hardcodes repo name as "default"
  • Lance schema mismatch detection and auto-recovery
  • Hook commands append || true to prevent blocking agent sessions
  • Git commit timestamps used for indexed_at instead of current time
  • Integration tests isolated from global bobbin config
  • Numerous eval, UI, and search fixes

Full diff: v0.1.0...v0.2.0

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 09 Feb 06:03