Skip to content

Add shell-approved command history and structured search - #235

Merged
raiseCatError merged 129 commits into
feature/141-completion-menufrom
feature/143-command-history
Oct 3, 2026
Merged

raiseCatError merged 129 commits into
feature/141-completion-menufrom
feature/143-command-history

Conversation

@raiseCatError

Copy link
Copy Markdown
Owner

/history now searches command records with combined cwd/project/exit/before/after/session/duration filters and plain text. Enter/Tab restore the selected command into the composer; Ctrl+X removes that record from NMSh search with a private persistent deletion hash. /resume remains session-level and unchanged.

The real zsh preexec hook reports HISTORY_IGNORE eligibility without exporting user configuration or probing commands. Leading-space commands are excluded. Eligibility/timing survive current IPC, backlog, journals and detached-session archival. Only explicitly eligible journals are indexed; legacy journals remain excluded. Transcripts and original zsh/Atuin history are preserved under the approved privacy boundary. New shells report eligibility; older running services fail closed until restarted.

History metadata is derived from authoritative journals in a background worker; only deletion hashes persist separately. Imported zsh history parsing and search yield between batches. Composer queries are cancellable and capped at 100 results. No database dependency or migration is introduced.

Depends on #234. Native-default/explicit Atuin provider work follows in #144; this PR retains the existing source preference until that dependent change.

Validation: build/typecheck/diff check and benchmark TypeScript check; focused filters/privacy/deletion, real-zsh unexported HISTORY_IGNORE, 100k cancellation/yield, worker projection, journal/protocol/hook tests; full suite with inherited NO_COLOR removed. Combined full-scan query p95: 4.25ms at 10k, 11.70ms at 100k. Index setup is outside warm query measurements.

Physical QA pending: text and combined filters, result restore without execution, Ctrl+X deletion surviving restart, ignored commands absent from search, large history responsiveness, and detach/reattach regression. No physical QA is claimed.

Refs #143

…ening

Harden terminal mode replay and attachment cleanup
…-harness

CLI and TUI compatibility harness with tmux coverage
Add iTerm2 Kitty and WezTerm capability profiles
v0.10: isolate enhanced host integration from core
v0.10: Terminal.app baseline and Chroma fallback
…ties

v0.10: frontend terminal capabilities and bounded probes
Finalize v0.9 development acceptance and additive physical QA
Add session presets with explicit startup acknowledgement
Add optional mise project awareness and explicit task discovery
Add optional tools browser and consent-based installation
…-config

Add supported tool configuration review
…me-adapters

Add curated external welcome presets
…age-colors

Add offline GitHub Linguist language colors
…l-verification

Record final v0.8 continuation acceptance evidence
Wait for fixture writers before deleting test sandboxes
…ptance

Document v0.8 continuation acceptance and additive physical QA
…ning

Harden inspector cursor roles for shell lexical contexts
Keep test temp resources inside verified private lifecycles
…cations

Add live command completion notifications
…nce-acceptance

Document v0.8 command intelligence scope and physical acceptance QA
…ning

Harden completion paths and history privacy under concurrent sessions
…orrections

Suggest safe command-not-found corrections in the composer
…gation

Add explicit directory navigation with native frecency and zoxide
Add optional picker providers with controlled terminal handoff
…ry-provider

Make Native default and Atuin an explicit local history provider
@raiseCatError
raiseCatError merged commit fd0db1c into feature/141-completion-menu Oct 3, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant