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.
Run from the viewer
Section titled “Run from the viewer”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.
Questions Deep Recall handles well
Section titled “Questions Deep Recall handles well”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.
Run from the terminal
Section titled “Run from the terminal”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:
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 opusConstrain archive coverage with the same structured dimensions used by history search:
hansard deep-recall "Which release blockers remained unresolved after implementation?" \ --provider codex-cli \ --since 90d \ --limit 8Use --json when an agent or script needs the plan, ranked candidates, reader
reports, citations, and coverage information:
hansard deep-recall "What unresolved release work from the last 90 days still has no documented outcome?" --since 90d --jsonHow a run works
Section titled “How a run works”- A planner turns the question into keyword, project, provider, tool, command, and time-window searches.
- Hansard runs those searches against the canonical history index and combines repeated hits.
- The strongest candidates are opened as complete normalized session dossiers.
- Isolated reader calls evaluate individual sessions against the original question.
- A final synthesis combines the reader reports and places
[session:<session-id>]citations beside archive-dependent claims. - Hansard validates cited session IDs and records coverage limitations.
CLI options
Section titled “CLI options”| 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. |
Interpret coverage carefully
Section titled “Interpret coverage carefully”A claim with a valid session citation can be traced to a selected archived conversation.
“Not found” means no supporting material was found within the generated searches and selected archive coverage. It is not proof that an event never happened.
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.