Skip to main content

max / makenotwork

docs: the namespaces makenot.work writes
Author: Max Johnson <me@maxj.phd> · 2026-08-09 03:33 UTC
Signed with PGP, not checked
Commit: e1063b537ed37a7604a39ab5e8bb610c5bac260e
Parent: df56785
1 file changed, +16 insertions, -0 deletions
@@ -123,6 +123,22 @@
123 123
124 124 `refs/notes/mnw/*` is reserved. It is where MNW writes its own metadata about your commits, and the web editor, the API and pushes all refuse it. Everything outside that prefix is yours.
125 125
126 + ## What MNW Writes
127 +
128 + Three namespaces under the reserved prefix carry metadata MNW computes about your repository. They are ordinary notes: they clone, they fetch, they read with `git notes --ref=mnw/builds show <commit>`, and they are yours to keep if you leave.
129 +
130 + | Namespace | On | Says |
131 + |---|---|---|
132 + | `mnw/builds` | the commit a built tag points at | build status, version, tag, targets, and the error if it failed |
133 + | `mnw/issues` | each commit whose message referenced an issue | which issues it closed, reopened or referenced |
134 + | `mnw/scan` | the commit a release was built from | how that release's artifacts scanned |
135 +
136 + Each note is a short list of `key: value` lines, readable at a terminal and parseable by a script.
137 +
138 + These are read-only in the browser and refused on push, which is what "reserved" means in practice. MNW rewrites a note whole when the fact changes, so rebuilding a tag replaces its build note rather than adding a second one.
139 +
140 + `mnw/scan` is written once every artifact in a release has a verdict, so it never reports a partial result. Its verdict is the worst verdict of any artifact in the release.
141 +
126 142 ## Annotating Files
127 143
128 144 Git notes can annotate any object, not only commits. A note on a blob is a note on one exact version of one file, and MNW shows it on that file's page. Most tools assume commits and quietly find nothing on the rest.