# Claude Science

> Import local Science conversations and artifact revisions, with explicit capture limits.

Claude Science keeps a separate local database. It does not use Claude Code's
conversation store. Hansard reads Science frame messages and artifact revisions
from `~/.claude-science/operon-cli.db`, each
`~/.claude-science/orgs/<organization>/operon-cli.db`, and their adjacent artifact
directories. The same stores support the desktop app and its local browser UI.

## Import local history

```sh
hansard import --source claude-science --since all
```

Enable **Claude Science** in **Settings → Imports** for ongoing capture.
`HANSARD_CLAUDE_SCIENCE_ROOTS` selects custom data directories as a path-separated
list. Each custom directory can contain a database directly or organization
stores under `orgs/`. Database and write-ahead-log changes trigger the source
watcher, including databases created in new organization folders.

## Preserved data

| Data                         | Capture behavior                                                                                                                                                                                                       |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Frame messages               | Text, thinking, tool arguments, results, errors, and embedded attachments, including the contents of text document attachments.                                                                                        |
| Structured results           | Native failures, partial artifact saves, server results, citations, and tool references. Unknown blocks remain readable.                                                                                               |
| Background execution         | Completion notifications match the original tool and execution identities. Pending output stays linked to the call that started it.                                                                                    |
| Full output and images       | Referenced local output files, disk images, and cell-image sidecars, with size-limited reads and hash checks.                                                                                                          |
| Compaction                   | Retained messages join the active history by message identity. Documented compaction changes preserve earlier content. Conflicting revisions stop the update.                                                          |
| Artifact revisions           | Available local bytes, recorded hashes, version identity, and metadata.                                                                                                                                                |
| Harness notices              | Skill suggestions, compute state, plan approvals, and output notices remain expandable context. Native tool attachment receipts do not create user turns.                                                              |
| Parent and child frames      | Separate conversations with explicit links, agent identity, task descriptions, native message and tool counts, and size-limited prompt/result previews.                                                                |
| Models and usage             | Recorded reply models, native message usage, and frame counters. Cached input is counted once. Selected models stay configuration. Missing values remain unknown.                                                      |
| Auxiliary history            | Execution logs, annotations, notes, events, reviewers, routines, and compute records appear as source context. Alternate branches, system prompts, reproducibility snapshots, and scoped memories remain raw evidence. |
| Account and project memories | The memory backup preserves all permitted memory records as read-only JSON snapshots, including records without frame links. Native scope, origin, supersession, and revision history remain available.                |

The importer reads only allowed history tables and columns. It excludes
credential tables and never archives the complete database. Missing per-message
clocks use stable session ordering; native message clocks are preserved when
present. Unknown blocks remain in raw evidence and
produce visible accounting. Unknown database columns are excluded and counted.

## Recovery and limits

```sh
hansard rebuild --from-raw --source-type claude-science-history
```

Offline replay verifies the imported history, artifact bytes, and tool files. Captured
child summary evidence also replays without opening the provider store. Source
restore does not write the imported JSON over the Science database. A stale
capture that loses messages, background results, or captured bytes leaves the earlier
archive intact and reports an import error.

Child summaries retain up to 1,600 characters for each prompt and result preview.
The linked child conversation retains its full captured transcript. Selected child
models remain configuration, separate from models recorded on assistant messages.

The importer processes one frame at a time and retains only identity fingerprints
between frames. The reader limits each frame to 100,000 history rows, its
imported history to 128 MiB, combined file bytes to 128 MiB, and each file to 32 MiB. Remote-only files and
files outside the configured store remain references. Alternate branches retain
raw history without merging their turns into the active conversation.

The observed local format is Science 0.1.56 on macOS. Bundled examples establish
schema and artifact evidence. Native checks exercise tool failures, artifact
revisions, background completion, disk images, and large outputs. Synthetic
checks cover server tools, unknown blocks, cancellation, and unsafe paths.
A resumed PubMed connector call and compute inventory reached the archive
automatically and appeared in installed Hansard with their tool results and
reviewer link. All 13 observed sessions passed repeat import and offline replay.
The native memory trial captured three records. Synthetic fixtures cover
records without frame links, metadata changes, and separate organizations.
Other releases and platforms, individual connectors, and remote compute jobs
need separate checks. The inspected client has no enabled routine interface,
and the inspected account has no configured compute provider.

`hansard memory backup` captures Science memories separately from conversations.
The supervisor repeats the backup every 15 minutes. Removed provider records
leave archived memory revisions intact. Manage live memories in Claude Science.

Rerun the import command after upgrading to acquire expanded tool evidence,
corrected token totals, child summaries, and the contents of text document
attachments that earlier imports kept without their bytes.
