embeddenator-cli 0.21.0

CLI interface for Embeddenator holographic computing substrate
Documentation
# embeddenator-cli

Command-line interface for the Embeddenator holographic computing substrate.

**Independent component** extracted from the Embeddenator monolithic repository. Part of the [Embeddenator workspace](https://github.com/tzervas/embeddenator).

**Repository:** [https://github.com/tzervas/embeddenator-cli](https://github.com/tzervas/embeddenator-cli)

## Overview

This crate provides a modular CLI for Embeddenator operations, extracted from the main embeddenator repository as part of the Phase 2A component decomposition.

## Features

- **Ingest**: Encode files/directories into holographic engrams
- **Extract**: Bit-perfect reconstruction from engrams
- **Query**: Similarity search using VSA cosine similarity
- **Mount**: FUSE filesystem interface (requires `fuse` feature)
- **Update**: Incremental operations (add, remove, modify, compact)

## Installation

```bash
cargo build --release
```

With FUSE support:
```bash
cargo build --release --features fuse
```

## Usage

### Ingest files
```bash
embeddenator-cli ingest -i ./mydata -e data.engram -m data.json -v
```

### Extract files
```bash
embeddenator-cli extract -e data.engram -m data.json -o ./restored -v
```

### Query similarity
```bash
embeddenator-cli query -e data.engram -q ./testfile.txt -v
```

### Build hierarchical artifacts
```bash
embeddenator-cli bundle-hier -e data.engram -m data.json --out-hierarchical-manifest hier.json --out-sub-engrams-dir sub_engrams -v
```

### Mount as FUSE filesystem (requires `--features fuse`)
```bash
embeddenator-cli mount -e data.engram -m data.json /mnt/engram -v
```

## Architecture

The CLI is organized into modular components:

```
src/
├── lib.rs              # Public API and Clap definitions
├── main.rs             # Binary entry point
├── commands/           # Command implementations
│   ├── ingest.rs
│   ├── extract.rs
│   ├── query.rs
│   ├── bundle_hier.rs
│   ├── mount.rs
│   └── update.rs
└── utils/              # Helper utilities
    ├── path.rs
    └── mod.rs
```

## Dependencies

This crate uses the Phase 2A component libraries:
- `embeddenator-vsa`: Vector Symbolic Architecture operations
- `embeddenator-fs`: Filesystem and engram operations
- `embeddenator-retrieval`: Hierarchical retrieval
- `embeddenator-io`: I/O utilities

## Error Handling

All command handlers return `anyhow::Result<()>` for consistent error handling across the CLI.

## License

MIT