malvin 0.2.3

Non-interactive research and coding agent
Documentation
# Unneeded files

Things that do **not** belong in the malvin git tree. Keeping `prime:` working still means keeping bridge *source* (`prime-sdk-bridge/src/`, `package.json`, etc.) and building locally — not vendoring npm installs.

## Safe to delete from disk (regenerable)

| Path | Why |
|---|---|
| `prime-sdk-bridge/node_modules/` | `npm ci` install of `prime-agent` and deps (~288M). Includes shipped `SKILL.md` / skills — those live inside the package, not as malvin content. |
| `cursor-sdk-bridge/node_modules/` | Same for Cursor bridge (~70M). |
| `prime-sdk-bridge/dist/` | Build output (`npm run build`). Runtime needs it on disk after build; do not treat as source of truth. |
| `cursor-sdk-bridge/dist/` | Same. |

Restore with:

```bash
(cd prime-sdk-bridge && npm ci && npm run build)
(cd cursor-sdk-bridge && npm ci && npm run build)
```

## Accidentally tracked in git (should be removed from the index)

Commit `6e589f7a` added **47** files under `prime-sdk-bridge/node_modules/` (mostly `.rs` / `.py` from dependencies). Those should not be in git. Rest of `node_modules` is untracked, but this subset is committed.

```text
prime-sdk-bridge/node_modules/@mariozechner/clipboard/**/*.rs
prime-sdk-bridge/node_modules/koffi/lib/native/base/*_gen.py
prime-sdk-bridge/node_modules/prime-agent/dist/prime-agent-runtime/**/*.py
prime-sdk-bridge/node_modules/prime-agent/dist/skills/**/*.py
prime-sdk-bridge/node_modules/prime-agent/skills/**/*.py
```

(Full list: `git ls-files '**/node_modules/**'`.)

## Local junk / caches / logs (do not commit)

| Path | Why |
|---|---|
| `_logs/` | Local run logs |
| `_logs-prime/` | Local Prime run logs |
| `fast_tasks/*/workspace/.pytest_cache/` | Pytest cache |
| `.pytest_cache/`, `tests/.pytest_cache/`, `.ruff_cache/` | Tool caches |
| `o` | Scratch dump of `prime-agent model list` output |
| `missing` | Scratch path list |
| `workspace_test.txt` | Scratch |
| `prime.aux`, `prime.log`, `prime.out`, `prime.pdf` | LaTeX build artifacts |
| `report.tex` | Likely local paper draft (confirm before deleting) |

## `.gitignore` gaps (why this keeps happening)

Root `.gitignore` does **not** ignore `node_modules/`, `.pytest_cache/`, or bridge `dist/`. It does ignore `*.lock`, which also hides `package-lock.json` (usually you *want* that locked file in an npm project).

Suggested additions (not applied here):

```gitignore
node_modules/
**/node_modules/
.pytest_cache/
.ruff_cache/
_logs/
_logs-prime/
```

And consider narrowing `*.lock` so `package-lock.json` can be committed while still ignoring unwanted lockfiles.

## Keep (needed for `prime:` / `cursor:`)

Do **not** delete these if you want SDK backends to work:

- `prime-sdk-bridge/{src,package.json,package-lock.json,tsconfig.json,README.md}`
- `cursor-sdk-bridge/{src,package.json,package-lock.json,tsconfig.json,README.md}`
- `src/prime_sdk/`, `src/cursor_sdk/` (and their `mock_bridge.js` test helpers)

## Untracked local notes (decide case-by-case)

Not install artifacts; may be personal or WIP docs — not listed as “delete”, just not clearly product source:

`.cursor/`, `.cursorrules`, `.kpop/`, `.vscode/`, `agent-interface.md`, `eval_explain/`, `ideas.md`, `malvin-mini/`, `muse.md`, `plan.md`, `summary.md`, `well_written_papers.md`, `_prime_acp_wrapper.sh`, `run_all_fast_tasks.sh`, `fast_tasks/FT-24/reward.txt`, `fast_tasks/FT-30/workspace/.kissconfig`
[dsweet] Keep these, please.