David
Blumenau
Menu
Feature atlas
MemoryGrounded analysis

Resolve the names. Keep the source close.

The problem

A model can save a neatly structured statement and lose a qualification. Names and source links help inspect the result; they do not make every claim correct.

Actual extraction, fictional conversation

The names passed.
The meaning still needs review.

A real analysis saved seven statements from a fictional notebook conversation. One kept the storage choice. Another turned a project-specific preference into a general one.

Editorial review after the run Two selected statements, reproduced unchanged.

Supported in this transcript

The storage choice stayed intact.

Actual saved statement

Harbor NotebookusesIndexedDB

Authored fictional source

“Keep IndexedDB as the primary store for Harbor Notebook.”

The stored relationship agrees with the source’s explicit storage choice.

Project scope was lost

A qualification disappeared.

Actual saved statement

Mira Valeprefersmanual file export

Authored fictional source

“I prefer manual file exports over cloud sync for this project: I want to choose when a copy leaves the tablet.”

The saved statement drops the project boundary. The name validator accepted it; it did not catch this meaning error.

These are editorial comparisons made after extraction. The saved output remains unchanged. No automatic semantic correction is demonstrated.

What the name checks caught

Recorded validation trace One job. Three real provider requests.

  1. 01

    Resolve proposed names

    Mira Vale / Harbor Notebook / IndexedDB

    The local runtime recorded those proposals.

  2. 02

    Reject uncovered forms

    mira / harbor notebook / indexeddb

    Nine coverage violations rejected the first submission.

  3. 03

    Accept the repaired submission

    Mira Vale / Harbor Notebook / IndexedDB

    The model restored the resolved names in the same job. Seven statements were saved.

This compact trace selects names from the actual saved execution records. The catalog started empty, so this run demonstrates required resolution coverage, not reuse of an existing alias. Passing the checks did not establish semantic accuracy.

Check the wording

Open the source conversation.

The actual UI recording starts at the entity profile, after analysis has completed. The link opens the conversation; it does not cite an exact message.

Actual PanelForge UI after a real analysis of an authored fictional transcript. GPT-OSS 120B via OpenRouter/Cerebras produced the saved analysis. The transcript’s Codex model and CLI labels are fictional source metadata, and its notebook implementation claims are fictional.

The opening search is omitted. The remaining seven seconds retain the original speed, loading wait and navigation. Sidebar and message metadata are masked; the source wording is unchanged.

Inspect the source views
Actual PanelForge entity profile for fictional Harbor Notebook, showing connections to IndexedDB, Markdown and Mira Vale, with a source conversation button.Open full size
Before opening the source.The actual entity profile groups the saved relationships and links to their conversation. It does not verify their meaning.
Actual imported fictional conversation. The second user message keeps IndexedDB as the primary store and prefers manual file exports over cloud sync for this project. Message metadata is masked.Open full size
Read the original qualification.The second user turn says “for this project.” The desktop source view is cropped and message metadata is masked; the conversation wording is unchanged.
Actual phone source view showing Mira Vale’s authored fictional request for Harbor Notebook, including offline tablet storage in IndexedDB and portable Markdown export.Open full size
The same source at phone width.The actual phone flow opened this conversation through the entity’s event button. The bottom conversation-list button was covered by the mobile navigation.
Source, model and capture limits

On 15 October 2026, two field-authored fictional exchanges were imported through PanelForge’s actual JSONL importer and projector. One analysis job, picked up once, made three HTTP requests through the registered GPT-OSS 120B profile. It resolved candidates, rejected an uncovered submission and accepted the model’s repair. No response or desired triple was injected.

The unchanged application source was web-v10.20.97. The accepted model triples matched the persisted fields, and source-event bytes and message identities remained unchanged. The UI links identify the conversation as a whole. Editorial source quotations on this page do not create message-level product citations.

The registered requests pinned Cerebras, disabled fallbacks and requested ZDR. Returned routing metadata identified the selected provider and model. This is routing evidence, not an independent provider-retention guarantee. The source receipt separates requested controls from observed facts.

The source viewer displays a read-only badge but exposes enabled edit controls. They were not used, and the private harness blocked writes. The footage does not establish a shipped read-only UI. The phone source was reached through its entity event button; the bottom conversation-list button was occluded. Dashboard question and event counters are not used to measure the accepted arrays here.

The app was freshly compiled in an isolated fixture. External font CSS was fulfilled locally with an empty stylesheet, so these captures use fallback fonts. The static Forge branding and app/model icons remain. No private catalog or live service is connected to this portfolio page.

Read the selected execution receipt See the Memory case study

What this makes possible

Name checks can stop an unresolved spelling from being saved. The source conversation is still needed to check whether a statement keeps its meaning.

Source information sheet

Evidence, implementation & history Implementation inspected

What I checked

Grounding and resolution source inspected. A 15 October isolated run used an authored fictional transcript and the registered GPT-OSS 120B HTTP profile. It proves name-resolution coverage and conversation-level source access, not general semantic accuracy or reuse of a populated alias catalog.

Research cut: 15 October 2026. Source areas below are from panel-forge. Private conversation references are retained in the research ledger and are not published here.

Implementation decisions

Analysis starts from an immutable conversation snapshot and a user-scoped catalog of existing tags and entities. Batch candidate resolution must cover the names in the terminal submission before it can be saved.

The recorded run starts from an empty catalog. It demonstrates required resolution coverage, not reuse of an existing alias. A project-specific preference survived the validator as a general statement; the source comparison makes that limit visible.

A path through the feature

  1. Resolve the proposed names

    The runtime requires a candidate-resolution receipt and rejects uncovered names before accepting a submission.

  2. Read the source conversation

    Open the linked conversation to check the original wording. A name that passes validation can still appear in an overgeneralized statement.

Source areas

  • app/Services/ConversationAnalysisGroundingService.php
  • app/Services/AnalysisCandidateCatalog.php
  • app/Services/ConversationAnalysisCandidateResolutionService.php
  • app/Services/ConversationAnalysisService.php
  • app/Services/ConversationAnalysisToolRuntime.php
  • app/Services/ConversationAnalysisHttpToolLoop.php
  • app/Jobs/AnalyzeConversationJob.php

The recorded extraction used an authored fictional conversation, an empty catalog and one real model-analysis job. Its selected statements remain unchanged; editorial source comparisons identify a scope error that survived name validation.

Recorded history

Dates describe the researched record, rather than today’s deployment.

  1. Planning entity and tag grounding

  2. Rebuilding analysis around canonical reuse