# Export notes

## What this package contains

`gravitational_lens` is the reusable operator surface only:

- ticket storage and lifecycle logic;
- HTML ticket interface;
- JSON ticket views;
- MCP ticket tools;
- code navigation tools;
- read-only git inspection tools;
- OAuth metadata/token flow;
- optional `/repo.zip` route for a deploy-produced source archive.

## What it intentionally leaves out

This package is repository-generic. It does not include app-specific runtime stores, database migrations, or non-repository observability surfaces.

The target repository only needs a file tree. Git tools require `git` to be available at runtime.

## Why a sidecar is the default

A sidecar avoids per-repo integration churn:

1. Mount the target repository read-only at `GRAVITATIONAL_LENS_REPO_DIR`.
2. Store operator state at `GRAVITATIONAL_LENS_DATA_ROOT`.
3. Point MCP clients at `/operator-mcp`.
4. Optionally publish a deploy-produced source zip at `/repo.zip`.

This gives one stable package that works for Rust, TypeScript, Python, or mixed repos. The code-review tools only require a file tree plus `git`; ticketing only requires a writable data directory.

## Verification caveat

The sandbox used for this export did not have `cargo`, `rustc`, or `rustfmt` installed, so I could not run `cargo check` or `cargo test` here. I did validate the package layout and the shell/Python helper scripts that do not require a Rust toolchain.
