diff --git a/README.md b/README.md index ac77d4f..cea1adc 100644 --- a/README.md +++ b/README.md @@ -23,8 +23,6 @@ flatpak install catcrafts net.catcrafts.CrafterReview alias crafter-review='flatpak run net.catcrafts.CrafterReview' ``` -Every push to `master` is a release, published as `stable`. The alias is for people: the `/prepush` skill spells every command as `flatpak run net.catcrafts.CrafterReview …`, because Claude's Bash tool sees no aliases. - What the machine provides: - **The Claude Code CLI.** It is proprietary and not bundled. crafter-review looks for it in this order: `CLAUDE_BIN` or `REVIEW_GATES_CLAUDE_BIN`, the PATH, the editor extensions' bundled binary (newest first), then `~/.claude/local` and `~/.local/bin`. It runs inside the sandbox, so every pass is measured and every pass's process tree can be killed. @@ -61,15 +59,6 @@ It writes nothing in a subdirectory, in your home directory or over a `SKILL.md` `crafter-review doc config` prints the template; `crafter-review doc prepush` prints the procedure, `process/prepush.md`. -### Moving a repository off the review-gates submodule - -1. Re-freeze every review in flight with crafter-review. The Flatpak's git may be another version than the one that froze it, and a different git version gives a different hash. The old `run-line.txt` also points into the submodule. -2. `git submodule deinit -f review-gates && git rm review-gates` -3. `crafter-review init`. If `.claude/skills/prepush` is the old link into `review-gates/`, it removes the link, never writing through it, and makes a real directory with the skill. -4. If a copy of the skill that an earlier `init` wrote is tracked, `git rm --cached .claude/skills/prepush/SKILL.md` (init says so when it sees one): the skill is generated, and the `.gitignore` init writes beside it keeps it out of git from then on. - -An existing `config.json` needs one change since 2026-11-01: `lenses..run` is retired, so list the lenses in `modes.commits.lenses` (`config` names what is missing, and `freeze`, `run` and `slots` refuse until it is there). The reuse keys keep working: a range reviewed before the move is reused, not bought again. - ## Running a review ```bash @@ -107,32 +96,12 @@ To stop a run, run `crafter-review stop `, or `crafter-review s | `init`, `doc`, `browser install`, `stop` | the setup, the shipped texts, the Chromium, a stop | | `sql`, `totp`, `inventory` | the helpers a lens runs, and the partition of an export, a series or a reply | -## Inside the Flatpak - -The sandbox gets the network, the whole host filesystem (`--filesystem=host`), the host's `/tmp` and gnupg's keyboxd socket. `--filesystem=host` is a convenience for a developer tool, **not an isolation boundary**: a lens's tool allowlist is what keeps a pass to its job, as it was outside the Flatpak. - -The driver hands its children the host's XDG directories. git then reads `~/.config/git/config`, Playwright finds `~/.cache/ms-playwright`, and claude and npx behave as on the host. A pass's shell is bash. A few things do differ from a native run: -- a lens reading `/usr` sees the Sdk's; the host's is at `/run/host/usr`, which the commit-range lenses' common text (`_common-repo.md`) tells them; -- git hooks run with the Sdk's tools; -- `FLATPAK_ID` reaches every child; -- a runtime update can change git between `freeze` and `--verify`, which the MISMATCH message then names. - -**Several drivers on one machine.** Every driver registers its passes on one board, `~/.cache/review-gates/seat-board.json`, and holds a lifetime lock beside it while it runs. A driver in the Flatpak publishes the host pid of its sandbox, so a driver outside it sees it alive exactly as long as it runs and sweeps it the moment it is gone. - -## Building from source - -```bash -crafter-build --local test # the suite; --local takes ../Crafter.Network instead of the pinned commit -crafter-build --local lint -crafter-build run flatpak # the Flatpak on the stable Crafter.Build base (flatpak-builder or org.flatpak.Builder) -crafter-build run install # install that build as net.catcrafts.CrafterReview//local -``` - -`run flatpak --base=` builds on another branch of the base app, and `--deps=local` takes Crafter.Network and Crafter.Thread from the checkouts next to this one, for commits not yet on forgejo. `AGENTS.md` is the guide for changing the pipeline. ## License -crafter-review is licensed under the GNU Affero General Public License v3.0 only (`LICENSE`). It vendors [nlohmann/json](https://github.com/nlohmann/json) 3.12.0 (`lib/json.hpp`, MIT License, © 2013-2025 Niels Lohmann). +crafter-review is licensed under the GNU Affero General Public License v3.0 only (`LICENSE`). + +Vendored files in the lib directory maintain their own license. ## Copyright