lib/gitea/access.sx: repo role groups (admin>write>read) as acl facts saturated by the datalog engine; user-owner => admin; collaborators (per-repo role, upsert); org teams (one role, 'all' or scoped repo list); org-admin?; visible-repos; create-allowed?; bearer tokens in kv. Facts derived from forge state, acl db cached in the forge handle and rebuilt only when facts change. lib/gitea/web.sx: every repo route now requires read (404 hides private repos); repo create needs owner/org-admin, delete + collaborator API need admin (401 no credentials / 403 not allowed); index + /api/repos list only visible repos; PUT/DELETE collab endpoints. tests/access.sx (103) + repo suite updated for gating (91). Fixed a web.sx corruption from the known sx_find_all/sx_replace_node path mismatch by rewriting via sx_write_file; suite timeout 300->600s. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
10 lines
234 B
Markdown
10 lines
234 B
Markdown
# sx-gitea Conformance Scoreboard
|
|
|
|
_Generated by `lib/gitea/conformance.sh`_
|
|
|
|
| Suite | Pass | Fail | Total |
|
|
|-------|-----:|-----:|------:|
|
|
| repo | 91 | 0 | 91 |
|
|
| access | 103 | 0 | 103 |
|
|
| **Total** | **194** | **0** | **194** |
|