collin/anvil · 89e731e4
docs: refresh TODO — artifact system sketch, branch/commit browsing question
Collin Richards · 2026-06-10 08:12 UTC · 89e731e4ddbb18faad73f7740967fd252af8739b · parent 28c75bf1 · browse files
modifiedTODO.md+18 −10
| 1 | 1 | # Misc TODO | |
| 2 | 2 | ||
| 3 | - | - [x] should show subject line of latest commit in repo page view | |
| 4 | - | - we should mirror certain things like this from github ui | |
| 5 | - | - [x] don't expose a users email on their profile page | |
| 6 | - | - [x] don't include anvil before the breadcrumbs in the repo name i.e. anvil/collin/repo just do collin/repo | |
| 7 | - | - [x] implement github action style CI feature _(done, including the (c) sandboxed broker — see "Session notes")_ | |
| 8 | - | - I want to get this to a sufficient state that we could bootstrap this app using this CI and automate deployments if we wished | |
| 9 | - | - probably might want to have other isolated anvil workers or something running for CI jobs | |
| 10 | - | - [x] implement github pages style hosting feature _(serves from a repo's `pages` branch; each top-level dir is its own site, so rustdoc + others coexist)_ | |
| 11 | - | - should support multiple generated build pages such as one for rustdoc, and one for other rhings | |
| 12 | - | - [x] security audit _(threat model + recommendations recorded in `docs/untrusted-mode.md`; CI sandbox landed. The remaining hardening it lists — quotas, separate pages origin, open-registration anti-abuse — only matters for untrusted tenants, which stay unsupported.)_ | |
| 3 | + | - [ ] do we have a way to view the source in a repo by branch or at a given commit? | |
| 4 | + | - [ ] design a CI artifact system, keyed by commit | |
| 5 | + | - every push triggers CI on the tip commit (already true); a run should be | |
| 6 | + | able to produce artifacts | |
| 7 | + | - artifacts are stored per-commit and served from anvil (download from the | |
| 8 | + | run page / commit page; latest-on-branch alias would be nice) | |
| 9 | + | - jobs can declare how to extract metadata from artifacts (e.g. sizes, | |
| 10 | + | test/coverage numbers, version strings) so it can be surfaced in the UI | |
| 11 | + | next to the run/commit | |
| 12 | + | - sketch needed: where artifacts live on disk, retention/GC, how | |
| 13 | + | `.anvil/ci.yml` declares artifact paths + metadata extractors, and how | |
| 14 | + | the broker gets files out of the sandboxed container | |
| 15 | + | - [ ] repo mirroring to/from GitHub | |
| 16 | + | - push mirror: pushes to an anvil repo get forwarded to a configured | |
| 17 | + | GitHub remote | |
| 18 | + | - pull mirror (maybe): a repo that virtually mirrors a GitHub repo and | |
| 19 | + | just displays it here — periodically fetched, read-only on the anvil | |
| 20 | + | side | |
| 13 | 21 | ||
| 14 | 22 | --- | |
| 15 | 23 | ||
| ⋯ 137 unchanged lines | |||