SOL Lens

See whether your agent actually got better, not merely whether its final answer looks better.

Agent migrations are often evaluated using a handful of polished outputs. That can hide weak evidence, broken constraints, unresolved contradictions, or regressions elsewhere in the workflow.

SOL Lens turns observable agent activity into a replayable semantic graph, evaluates its evidence structure, and returns a transparent PROMOTE, HOLD, or QUARANTINE decision.


Inspiration

SOL Lens grew from a practical question:

How can an engineering team inspect what changed when it replaces one agent or model with another?

Most evaluations concentrate on final-answer quality. That matters, but it does not reveal whether the candidate gathered better evidence, preserved requirements, checked its work, or reconciled conflicting sources.

I had already been exploring these ideas through the SOL Engine, a larger research project about self-organizing semantic graphs and graph dynamics. During OpenAI Build Week, I turned that foundation into a focused, runnable product for agent-migration review.

The result is SOL Lens: a browser-local workbench designed to make migration evidence visible, deterministic, portable, and independently reviewable.


What it does

SOL Lens represents an observable agent trace as atomic semantic units called Logons.

A Logon can represent:

  • a user requirement
  • a tool request or result
  • an evidence claim
  • a constraint check
  • a contradiction
  • a final output

Typed edges record how those units support, constrain, challenge, or feed back into one another.

From that packet, SOL Lens:

  1. validates and normalizes the observable trace
  2. creates a deterministic semantic-graph layout
  3. scores evidence, coherence, and contradiction
  4. compares the candidate with an observable reference summary
  5. applies explicit promotion gates
  6. exports a replayable proof packet
  7. optionally visualizes graph dynamics through Manifold Replay

The authoritative Trace Court and the experimental replay visualization remain deliberately separate. Running the replay can change its telemetry, but it can never rewrite the court verdict.


Start without learning a new file format

A major product goal was making the project understandable to someone encountering SOL for the first time.

Instead of requiring judges to author unfamiliar JSON, SOL Lens includes seven one-click, browser-local teaching packets:

Example Logons Structure
Grounded answer 6 Straight evidence chain
Agent migration 10 Branching evidence and merge
Parallel tool fan-out 24 Parallel tool branches
Self-correction loop 48 Explicit feedback cycle
Multi-agent handoff 72 Specialized agent lanes
Conflicting sources 120 Repeated constraint collisions
Program-scale migration 300 Grouped overview and drill-down

These are clearly labeled deterministic fixtures, not live model captures, but they run through the same validator, scoring, layout, court, replay, and export paths as an imported packet.


How we built it

SOL Lens is implemented as a TypeScript and React application using Vite/Vinext, with deterministic evaluation and replay logic running locally in the browser.

Layer Responsibility
Packet validator Validates the versioned trace contract and safely normalizes compatible packets
Example library Supplies seven deterministic trace structures from 6 to 300 Logons
Graph layout Produces stable, cycle-aware layouts and grouped overviews
Trace Court Recomputes evidence, coherence, contradiction, and verdict gates
Proof export Creates a portable packet containing the observable trace and recomputed result
Manifold Replay Simulates bounded density, pressure, conductance, flux, and damping
Test suite Verifies validation, scoring, determinism, layout, replay isolation, and UI metadata

The deployed evaluator is credential-free and browser-local. It does not claim access to hidden reasoning or private chain of thought.


The scoring model

For a set of observable Logons \(L\), each Logon carries bounded values representing evidence density \(\rho_i\), semantic pressure \(p_i\), and governance alignment \(\psi_i\).

Evidence excludes explicitly contradictory units:

$$ E = \frac{1}{|L_{\neg c}|} \sum_{i \in L_{\neg c}} \rho_i $$

The contradiction rate is based on the portion of the trace marked contradictory, with a small stabilizer \(\varepsilon\):

$$ C = \frac{|L_c|} {|L| + \varepsilon} $$

Coherence combines observable evidence, alignment, and pressure:

\(H = 0.45E + 0.42\bar{\psi} + 0.13(1-\bar{p})\)

The Build Week demonstration profile then applies explicit gates:

  • PROMOTE: \(C \le 0.10\), \(E \ge 0.82\), and \(H \ge 0.72\)
  • HOLD: contradiction remains acceptable, but a promotion gate is missed
  • QUARANTINE: \(C > 0.20\) or \(H < 0.72\)

These thresholds are versioned demonstration defaults, not a claim that one universal profile fits every production workflow.

Manifold Replay asks a different question: how might activity propagate through the observable graph? A simplified edge-flux relationship is:

$$ J_{ij} = g_{ij}(p_i-p_j) $$

where \(g_{ij}\) is the mode-shaped conductance and \(p_i-p_j\) is the pressure difference between connected Logons.


How Codex and GPT-5.6 helped

During Build Week, I used Codex powered by GPT-5.6 as an active development collaborator.

Codex received the build guide, working repository, test failures, interface feedback, and compliance requirements. It helped implement and revise:

  • the versioned packet validator
  • deterministic graph layout
  • seven teaching fixtures
  • proof-packet export
  • Manifold Replay
  • the 37-test suite
  • documentation and deployment configuration
  • judge-facing onboarding and video materials

One important iteration began with a technically valid but unfriendly assumption: new users would upload or author JSON. After reviewing the judge experience, I retained the product decision to replace that entry point with one-click teaching packets.

Another important decision was keeping Manifold Replay state separate from the Trace Court. This prevents an experimental visualization from changing an authoritative evaluation result.

GPT-5.6 is a build-time development model in this submission. It is not secretly evaluating packets inside the deployed application. The submitted browser runtime remains deterministic.


Challenges we faced

Making an unfamiliar concept approachable

“Logon,” “SOL packet,” and “semantic manifold” are not concepts a new judge should need to understand before clicking anything. The interface therefore had to teach through examples rather than documentation alone.

Scaling one visualization across very different traces

A six-Logon chain and a 300-Logon program migration cannot use the same presentation strategy. We implemented detail, exploration, and grouped-overview modes while preserving deterministic results.

Supporting cycles without unstable layouts

Self-correction traces contain feedback edges. The layout system had to recognize strongly connected components instead of crashing, inventing depth, or changing positions between runs.

Keeping the verdict authoritative

Manifold Replay is visually dynamic, but it cannot be allowed to mutate the packet or alter the Trace Court. Tests explicitly verify that replay remains isolated from evaluation.

Separating inherited research from new work

The original SOL Engine predates Build Week. A major documentation challenge was connecting SOL Lens to that mathematical and experimental foundation while clearly identifying the workbench, packet contract, court, gallery, and replay interface as the new Build Week product layer.


What we learned

The biggest lesson was that inspectability is also a product-design problem.

A deterministic evaluator is not useful if users cannot understand its inputs, boundaries, or decisions. Clear examples, explicit provenance, visible thresholds, portable proof packets, and honest limitations are part of the technical implementation, not decoration added afterward.

We also learned that a dynamic visualization becomes more trustworthy when it clearly states what it cannot do. Manifold Replay is valuable precisely because it is separated from the authoritative verdict.

Finally, the Codex development loop worked best when it included concrete evidence: repository state, failing tests, screenshots, compliance findings, and retained product decisions. That transformed GPT-5.6 from a generic code generator into a test-driven implementation and review collaborator.


Accomplishments we are proud of

  • seven deterministic teaching packets spanning 6 to 300 Logons
  • explicit PROMOTE, HOLD, and QUARANTINE gates
  • cycle-aware, byte-for-byte deterministic graph layout
  • replayable versioned proof-packet export
  • optional bounded Manifold Replay telemetry
  • strict separation between replay state and court results
  • clear provenance connecting SOL Lens to the original SOL Engine
  • 37 passing tests with zero failures
  • a public, production-accessible deployment

What is next

The next step is a production adapter that converts observable agent events into the same packet contract without changing the evaluator.

Future work includes:

  • adapters for OpenAI Responses API event streams
  • workflow-specific threshold calibration against representative evals
  • temporal comparisons across multiple candidate runs
  • richer multi-agent handoff inspection
  • signed proof packets and evaluation provenance
  • automated regression gates for agent deployment pipelines

The long-term goal is simple:

Replace “the new agent feels better” with evidence that can be inspected, replayed, challenged, and verified.


Try SOL Lens

Live application:
https://sol-lens.onrender.com/

SOL Lens source:
https://github.com/TechmanStudios/sol-lens

Original SOL Engine research:
https://github.com/TechmanStudios/sol

Built With

Share this project:

Updates