Skip to content

Deep Recall

Deep Recall is Hansard’s archive-research workflow. It is intended for questions that require several searches, full-session reading, timelines, or comparison across providers and projects.

Use normal search and recall when one query or one known session is likely to answer the question.

Open hansard app or hansard web, choose Deep Recall, select an available Codex or Claude model, and submit a question. The viewer shows planning, search, reading, synthesis, and citation-checking stages as the run progresses.

Research threads are stored separately from normal conversation sessions. They do not appear in Conversations, history search, Stats, Projects, or notifications.

Submitted turns record their run status in the local research thread. If the app or viewer stops before an answer is saved, Hansard marks that turn interrupted during shutdown or the next launch. Choose Retry on the latest interrupted result to run the exact question again in the same thread.

Deep Recall is most useful when the answer depends on chronology, competing approaches, or evidence spread across several conversations.

Research goal Example question
Trace reversals “Which decisions were reversed after implementation? Identify the evidence that changed them.”
Compare attempts “Which recurring problem drew the most competing approaches? Compare their outcomes.”
Reconstruct an outcome “Where did assistants disagree on the same decision across providers, and what was ultimately built?”
Recover open loops “What unresolved work from the last 90 days still has no documented outcome?”

Name the project, feature, or decision when it is known. Leave the question archive-wide when discovery is the goal, then use filters to narrow the evidence set where appropriate.

Terminal window
hansard deep-recall "Which decisions were reversed after implementation? Identify the evidence that changed them."

The default backend is the authenticated Codex CLI. Select Claude or a specific model when needed:

Terminal window
hansard deep-recall "Compare every caching design considered for the request pipeline. Which one was implemented, and why?" \
--repo github.com/acme/widgets \
--backend claude \
--model opus

Constrain archive coverage with the same structured dimensions used by history search:

Terminal window
hansard deep-recall "Which release blockers remained unresolved after implementation?" \
--provider codex-cli \
--since 90d \
--limit 8

Use --json when an agent or script needs the plan, ranked candidates, reader reports, citations, and coverage information:

Terminal window
hansard deep-recall "What unresolved release work from the last 90 days still has no documented outcome?" --since 90d --json
  1. A planner turns the question into keyword, project, provider, tool, command, and time-window searches.
  2. Hansard runs those searches against the canonical history index and combines repeated hits.
  3. The strongest candidates are opened as complete normalized session dossiers.
  4. Isolated reader calls evaluate individual sessions against the original question.
  5. A final synthesis combines the reader reports and places [session:<session-id>] citations beside archive-dependent claims.
  6. Hansard validates cited session IDs and records coverage limitations.
Option Purpose
--backend codex|claude Select the authenticated CLI runner.
--model <id> Select a model; omit it to use the CLI default.
--repo <repo-or-path> Constrain planned searches to a project or path.
--provider <provider-or-alias> Constrain archive results to a provider.
--tool <name> Require a normalized tool name.
--command <head> Require a parsed shell command head.
--since 90d|all Constrain the archive time window.
--limit <count> Set the maximum number of complete sessions to read; the default is 12.
--json Return the complete research payload.

A claim with a valid session citation can be traced to a selected archived conversation.

Research threads remain local-only in the current sync contract because one answer can combine evidence from several otherwise unrelated projects. hansard update preserves these threads while it clears derived archive state and reimports provider histories.