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 workspace — lens_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 / flagsFromTriggers — vectorized 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
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.
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 workspace —lens_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_land 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 + entropyWorkspaceLens.project(h)—z = J_l·h, activation in final-layer coordinatesworkspaceDrift(...)— Jensen–Shannon divergence between consecutive readouts (reasoning-path stability)entropyTrajectory(...)— is the workspace converging or dissolving?detectConcepts/flagsFromTriggers— vectorized 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===1Runtime-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
$0synthetic 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
WorkspaceLens.fromRegistry(...)— load community pre-fit lenses (e.g. Neuronpedia).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.