Documentation
What isn't built yet
Writ's own pitch is that a document shouldn't claim more than it can back up. This page holds itself to that: everything below was checked directly against the running application while this documentation was written, not copied from a plan. It will go stale — check the date below, and treat anything unusually specific here (a status code, an error message) as a stronger signal than the prose around it.
Last checked against the running application: 6 September 2026.
-
Notifications are live; most page content is not. Signed-in repository pages subscribe to a resumable stream. New comments, commits, review decisions, submission state, and completed or failed analysis are announced without a reload, and so is a newly raised flag. A submission still showing Comparing reloads itself when its final analysis arrives. The page does not insert comment cards, approval counts or history entries in place; reload to see those details.
-
Rules have no editor in the web app. The Rules page shows you the parsed
.semgit/rules.yamland lets you dry-run it againstmain, but there's no in-browser way to write or validate a change — today that means an actual Git push to a branch, proposed as a submission like any other change. -
A comment points at a place by name, not at a sentence. Opening one does take a file and a label — “Results ¶2” — but that label is free text. It isn’t a structured reference to a particular sentence the way a rule finding or a text conflict is, so it won’t follow the text when the document is edited around it, and nothing checks it still points anywhere.
-
An ordinary
git pushdoesn't re-run the review — but a push carrying anMR:trailer does, even to a submission that's already open. Since the automatic-submission door landed, a pushed commit whose trailer names an already-open branch resubmits it: head and base update, analysis resets to pending, a fresh comparison is queued, the same as pressing Submit again in the web app. That only fires when the new commit carries a single, validMR:trailer. The common case — a follow-up commit with no trailer, most saves once a submission is already open — still updates the branch and nothing else: the submission keeps showing you the analysis of the previous commit, with no indication it's stale. Re-open the submission page and ask for a re-analysis to catch it up.
If something here has since shipped, the code is the source of truth over this page — open /api/docs and try it.
That has already happened twice. This page once claimed Writ could not cross-check two still-open submissions against each other, and it could — the capability had landed the evening before the page was written. And on 6 September two more entries went stale within hours: NOTES_EXPORT began writing the report to refs/notes/semgit, and a push carrying an MR: trailer began opening a submission — "Nothing is written to Git notes" and "A branch commit footer doesn't open a submission." Both entries are gone; the date above is here so the next one is easier to catch.