Skip to content

@metaharness/workspace-lens: Jacobian-Lens interpretability + runtime mechanistic governance (IntOps) for open-weight LLMs #130

Description

@ruvnet

Summary

Tracking + announcement issue for @metaharness/workspace-lens (shipped in #129, ADR-238): a runtime Jacobian-Lens interpretability primitive for open-weight LLMs. It reads the model's verbalizable workspacelens_l(h) = unembed(J_l · h) — into workspace tokens, a layer-by-layer thinking trajectory, drift/entropy scores, vectorized safety flags, and a signable interpretability receipt. This is the foundation for Interpretability Operations (IntOps) — runtime mechanistic governance that taps the model's internal wires while it thinks, instead of trusting after-the-fact self-explanations.

📄 Deep-dive research write-up (intro, features, cost model, acceptance test, links): https://gist.github.com/ruvnet/197eb50028368d4f278e8530e9432387
🔬 Paper: Verbalizable Representations Form a Global Workspace in Language Models (Anthropic, 2026-07-06) · Reference code: https://github.com/anthropics/jacobian-lens

Why (logit lens vs. Jacobian lens)

Logit lens decodes intermediate activations assuming middle layers already live in final-output coordinates — noisy. The Jacobian Lens learns an average layer→final map J_l and decodes through it, surfacing meaningful, reportable concepts earlier in the network, often before the first output token. Anthropic show hidden concepts (evaluation awareness, manipulation, "secretly", "trick") appear in the workspace even when absent from the output — the basis for a runtime semantic circuit breaker.

Features (shipped)

  • WorkspaceLens.readout(h)unembed(J_l·h) → top workspace tokens + entropy
  • WorkspaceLens.project(h)z = J_l·h, activation in final-layer coordinates
  • workspaceDrift(...) — Jensen–Shannon divergence between consecutive readouts (reasoning-path stability)
  • entropyTrajectory(...) — is the workspace converging or dissolving?
  • detectConcepts / flagsFromTriggersvectorized safety triggers (concept directions, not token strings) → {promptInjection, evalAwareness, hiddenObjective, refusalConflict}
  • buildReceipt(...) — the signable audit receipt (prompt hash, layer trajectory, flags, drift)
  • decide(...)taskResolved && drift<θ && noCriticalFlags && receiptCoverage===1

Runtime-only · model-agnostic · dependency-free · deterministic. Cross-family vocabulary alignment (Qwen vs. Gemma) is solved at the concept-direction level, so no tokenizer-string mapping is needed.

Benchmarks / status (honest)

The shipped package is the runtime measurement core, covered by 17 deterministic $0 synthetic tests (projection math, readout, cross-model isolation, drift, decision rule, end-to-end receipt, acceptance-test mechanism shape). The cost model + acceptance-test methodology are in the gist — no fabricated model numbers. Runtime is a pair of matrix-vector products + softmax per layer (zero backward passes), cheap enough for live high-stakes routing. Lens fitting is external (open-weight model + backward pass).

Roadmap / follow-ups

  • Live acceptance test: fit on a 1.5B–7B Qwen, verify ≥20% mid-layer clarity vs. logit lens on the silent-state rubric.
  • WorkspaceLens.fromRegistry(...) — load community pre-fit lenses (e.g. Neuronpedia).
  • Darwin-Mode integration: J-lens readouts as mutation evidence (reject structurally-brittle mutations).
  • Tier-3 circuit-breaker wiring at tool-call tokens.

Refs: #129 (implementation), ADR-238.

Keywords: Jacobian lens, mechanistic interpretability, LLM interpretability, global workspace, AI safety, prompt injection detection, hidden objective, evaluation awareness, open-weight models, IntOps, mechanistic governance, interpretability receipts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions