# Workflow - `git pull` `next` and cut a branch from it — one branch per issue, named `issue--`. Never branch from `main`. - Do the work as one commit whose title ends with ` (closes #N)`. - Record no finished work in this file. What landed is recorded on the tracker and in `git log`, where each commit title names the issue it closes. - Run `make fmt`, then `make check`. A feature branch may be red; `next` and `main` may not. - Rebase onto current `next` immediately before pushing — other branches land on `next` continuously — and re-run `make check` after resolving, because a clean textual merge can still break the build. - Push the branch and open one PR per issue with base `next`. Never base `main`. - An independent reviewer who did not write the change gates the merge. On a passed review the PR is squash-merged into `next`. - `next` is the branch for the next milestone. It is kept green and mergeable to `main` at any moment, without notice. - `main` receives exactly one PR per milestone, from `next`. Releases are tagged from `main`. # Status pre-1.0, working towards the 1.0.0 milestone. The milestone is in flight on `next`; its `next` -> `main` PR is [#388](https://git.eeqj.de/sneak/AutistMask/pulls/388). `make build` produces `dist/chrome/` and `dist/firefox/` with `DEBUG` compiled off, and checks them against the build's own receipt to hold exactly the regular files and symlinks that build emitted. The backlog lives on the [Gitea tracker](https://git.eeqj.de/sneak/AutistMask/issues), which is authoritative; this file does not duplicate it. Full policy file set present. Real-browser end-to-end suites (`make test-e2e` for Chrome, `make test-e2e-firefox` for Firefox) sit alongside `make check`, which runs the tests, static analysis and the formatting check, and `.gitea/workflows/e2e.yml` runs both of them on every push. # Next Step The open issues on the [1.0.0 milestone](https://git.eeqj.de/sneak/AutistMask/milestone/6). # Future Steps Only work that has no issue of its own belongs here; everything else is on the tracker.