check / check (push) Successful in 2m17s
The workflow lines now say who merges where: clawbot squash-merges reviewed issue PRs into next, only sneak merges next into main, and a deploy is a squash commit from main onto prod, never automatic. Status lists what is on next today: the repo standards, interface detection on Linux and macOS with the macOS VPN pane shown only while a VPN carries the default route, the Starlink status lines, the version stamp, and CI running script/cibuild. Next Step is the owner's merge of the milestone PR and a first run on a real Mac. Model: opus-5-5
47 lines
2.1 KiB
Markdown
47 lines
2.1 KiB
Markdown
# Workflow
|
|
|
|
One issue per unit of work, one branch and one PR per issue:
|
|
|
|
- ensure a tracked issue exists with a definition of done
|
|
- branch from `next` (never from `main`)
|
|
- do the work; open a PR based on `next` (never on `main`)
|
|
- pass an independent review, then `clawbot` squash-merges it into `next`
|
|
- push; nothing stays local-only
|
|
|
|
`next` is the branch for the next milestone and must stay green and mergeable to
|
|
`main` without notice. Only `sneak` merges `next` into `main`. No commits land
|
|
directly on `main` or `next`, only merges via PRs. A deploy is a squash commit
|
|
from `main` onto `prod`; `prod` never follows `main` automatically.
|
|
|
|
Other issue branches do not touch this file; it changes only in its own PR to
|
|
`next`, because every branch editing `TODO.md` conflicts with every other.
|
|
|
|
# Status
|
|
|
|
On `next`:
|
|
|
|
- Repo standards (https://git.eeqj.de/sneak/rtnetmon/issues/1): `script/`
|
|
entrypoints with the `Makefile` as thin shims, lint and tests run in Docker as
|
|
phases that gate the image build, the vendored `.golangci.yml`, and
|
|
`REPO_POLICIES.md`.
|
|
- Interface detection on Linux and macOS
|
|
(https://git.eeqj.de/sneak/rtnetmon/issues/2): one pane or two, from the
|
|
interfaces present. On macOS the VPN pane appears only while a VPN carries the
|
|
default route (https://git.eeqj.de/sneak/rtnetmon/issues/8).
|
|
- Starlink status lines under the physical interface's pane when a Starlink dish
|
|
answers (https://git.eeqj.de/sneak/rtnetmon/issues/3).
|
|
- A version stamp: built with `make build` or a plain `docker build .`, the
|
|
binary logs its git tag or short commit at startup
|
|
(https://git.eeqj.de/sneak/rtnetmon/issues/10).
|
|
- CI that runs `script/cibuild` on every push
|
|
(https://git.eeqj.de/sneak/rtnetmon/issues/12).
|
|
|
|
# Next Step
|
|
|
|
- `sneak` merges the milestone PR, https://git.eeqj.de/sneak/rtnetmon/pulls/6,
|
|
carrying `next` into `main`.
|
|
- A first run on a real Mac of what is on `next` now. The fix for
|
|
https://git.eeqj.de/sneak/rtnetmon/issues/8 has not run on a Mac, and none of
|
|
the machines rtnetmon is developed and tested on is one, so that run is
|
|
`sneak`'s.
|