max / makenotwork
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. |