The artifact hash prefix 2a76c is ambiguous and might mean any of the following:
2a76c0e4133b60c5baaa9bd2ee558a3fac6cf52ebcaef084977af44164821aec -
2a76cba10a57b54b8989d01b30945952d69210e00574a90781d87aa7f1a62432 -
- File
internal/api/register.go
— part of check-in
[87a492fe4f]
at
2026-08-18 01:59:53
on branch trunk
— repo: a create flow a person can actually use
Nobody picks a filesystem path when they make a repository on a forge, and requiring one made repo.add usable only by the machine's operator. --repos-root gives the server somewhere to put them; path is now optional and the response says where it landed.
Repositories gain a description — every forge has one and quarry had nowhere to put it, so the listing could only show names and counts.
Three surfaces on one op: quarry repo new|clone|list|remove drives the HTTP API rather than the database, so the CLI has no privileged path and anything it can do a client can; /new is the same three questions a forge always asks; and an empty repository shows how to push to it instead of a bare file table, because it is waiting, not broken.
A rejected form comes back as a form with the reason on it — an error page throws the reader's input away. (user: dmestas, size: 83583) [annotate] [blame] [check-ins using]
- File
internal/api/register.go
— part of check-in
[87a492fe4f]
at
2026-08-18 01:59:53
on branch trunk
— repo: a create flow a person can actually use