Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -71,3 +71,7 @@ tmp/
entire-external-cp-test/
/skills/
/git-remote-entire

# entire recall: derived memory rebuilt from checkpoints, never committed
.entire/recall/
recall/target/
13 changes: 12 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,18 @@ and the inferred one is the common path.
Experimental commands (gated by the build-time visibility flag above — visible
and grouped under "Experimental commands:" in developer/nightly builds, hidden
in stable releases, always runnable): `tokens`, `import`, `review`,
`investigate`, `blame`, `why`, `experts`, `runner`, and `checkpoint policy`.
`investigate`, `blame`, `why`, `experts`, `recall`, `runner`, and `checkpoint policy`.
`recall` (`recall_cmd.go`, `recall_collect.go`) is a shim over the Rust crate in
`recall/`: `recall ingest` walks trailered commits, reads each checkpoint's
transcript and diff through the persistent store, and pipes JSON to the
`recall` binary; `recall <question>` renders the binary's ranked hits. Every
ranking decision lives in the crate — see `docs/recall/`. The shim never drops
a checkpoint it cannot read: the commit record is ingested with the missing
fields declared in `unavailable`, the crate answers `unverifiable` for any
check that needed one of them, and every answer opens with a coverage line
that says `complete` only when nothing was missing (`recall/README.md`,
"Privacy boundary"). `--no-transcripts` never opens a transcript;
`recall/scripts/verify-offline.sh` proves the binary makes no network calls.
`tokens` is also advertised through `entire labs`.

Top-level lifecycle and standalone commands: `enable`, `disable`, `status`,
Expand Down
14 changes: 9 additions & 5 deletions cmd/entire/cli/agent_help_cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,11 +137,15 @@ var agentHelpClassification = map[string]agentHelpFacts{
// ---- Unlisted: real commands, just not the default view. ---------------
"activity": {agentHelpAudienceReadOnly, false},
"blame": {agentHelpAudienceReadOnly, false},
"experts": {agentHelpAudienceReadOnly, false},
"labs": {agentHelpAudienceReadOnly, false},
"recap": {agentHelpAudienceReadOnly, false},
"version": {agentHelpAudienceReadOnly, false},
"tokens": {agentHelpAudienceReadOnly, false},
// recall's bare form only reads, but `recall ingest` rebuilds derived
// state under .entire/recall, so the group cannot claim read-only.
"recall": {agentHelpAudienceTaskDriven, false},
"recall ingest": {agentHelpAudienceTaskDriven, false},
"experts": {agentHelpAudienceReadOnly, false},
"labs": {agentHelpAudienceReadOnly, false},
"recap": {agentHelpAudienceReadOnly, false},
"version": {agentHelpAudienceReadOnly, false},
"tokens": {agentHelpAudienceReadOnly, false},
// tokens is read-only, which is a claim about its children too — classified
// rather than assumed, so a future mutating child cannot inherit the claim.
"tokens profile": {agentHelpAudienceReadOnly, false},
Expand Down
2 changes: 1 addition & 1 deletion cmd/entire/cli/experimental_wiring_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
// token of Use).
var experimentalRootCommands = []string{
"tokens", "import", "review", "investigate",
"blame", "why", "experts", "runner",
"blame", "why", "experts", "runner", "recall",
}

// withVisible sets the experimental visibility flag for the test and restores
Expand Down
1 change: 0 additions & 1 deletion cmd/entire/cli/explain_export_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -643,7 +643,6 @@ type stubCommittedReader struct {
err error // err returned for indexes not in contents
}

//nolint:unparam // test stub; signature matches CheckpointReader.Read.
func (s *stubCommittedReader) Read(_ context.Context, _ id.CheckpointID) (*checkpoint.CheckpointSummary, error) {
return s.summary, nil
}
Expand Down
6 changes: 6 additions & 0 deletions cmd/entire/cli/labs.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,11 @@ var experimentalCommands = []experimentalCommandInfo{
Invocation: "entire experts",
Summary: "Show agent, skill, and tool provenance for files or topics",
},
{
CommandPath: []string{"recall"},
Invocation: "entire recall",
Summary: "Ask checkpoint history what was decided and why",
},
}

func newLabsCmd() *cobra.Command {
Expand Down Expand Up @@ -108,6 +113,7 @@ Try:
entire blame --help
entire why --help
entire experts --help
entire recall --help
`
}

Expand Down
Loading