Skip to content

Integration proposal: Empirica epistemic measurement + context budget improvementsΒ #4

@Nubaeon

Description

@Nubaeon

Hi! πŸ‘‹

We're the team behind Empirica β€” an epistemic measurement system for Claude Code (MIT, 130+ stars). We've been using your organizer and found a strong integration opportunity.

What we noticed

Context Budget accuracy improvements possible:

  • Budget shows ~12.5K loaded + ~13.7K deferred. Claude Code's actual runtime data (context_window.cache_read_input_tokens via statusline stdin JSON) reports ~343K. The offline estimation significantly underestimates.
  • CLAUDE.md shows 16 tokens when it contains @~/.claude/empirica-system-prompt.md β€” following @ includes would show the real 1.2K-6.3K token cost.
  • Hook-based plugins (like ours with 14 hooks) have per-event latency costs, not static context costs β€” the budget could distinguish "always loaded" from "fires on event."

Invisible data that could be surfaced:

  • .empirica/ directories per project contain epistemic measurement data (sessions, calibration, findings, goals) β€” ~1,800 findings and ~300 unknowns in our main project. This is invisible to the organizer but represents significant project intelligence.

Proposed integration

We've drafted a detailed proposal: EMPIRICA_INTEGRATION.md

Summary (~140 lines, 0 new dependencies):

  1. Scanner: scanEpistemics(scope) β€” discovers .empirica/ dirs, shows session/finding counts, calibration scores
  2. Context Budget: Follow @ includes for accurate token counting, add Empirica prompt cost
  3. Detail panel: Epistemic summary when clicking a project with .empirica/

Everything is read-only filesystem access β€” no dependency on Empirica being installed.

The symbiosis

Your organizer manages config (where things are). Empirica manages intelligence (what AI knows). Together, users see both layers in one dashboard.

We also have a Chrome extension for capturing AI conversations β€” artifacts flow through .empirica/ and would become visible in the organizer.

Context Budget: what Claude Code actually sends

For reference, here's the full JSON that Claude Code sends to statusline commands β€” richer than documented:

{
  "context_window": {
    "total_input_tokens": 9916757,
    "total_output_tokens": 6892566,
    "context_window_size": 1000000,
    "current_usage": {
      "input_tokens": 1,
      "output_tokens": 1,
      "cache_creation_input_tokens": 701,
      "cache_read_input_tokens": 343106
    },
    "used_percentage": 34,
    "remaining_percentage": 66
  },
  "cost": {
    "total_cost_usd": 1213.13,
    "total_lines_added": 57142,
    "total_lines_removed": 11041
  },
  "rate_limits": {
    "five_hour": { "used_percentage": 2, "resets_at": 1774479600 },
    "seven_day": { "used_percentage": 15, "resets_at": 1774602000 }
  }
}

This runtime data could augment your offline estimates with actual numbers.

About us

David & Philipp, Vienna. Building cognitive infrastructure for AI agents. Happy to collaborate β€” PR, issue threads, or a call. We saw your Reddit post and reached out there too.

Branch ready: Nubaeon/claude-code-organizer β†’ feat/empirica-integration

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions