Improve collaborator setup UX

This commit is contained in:
virgil
2026-06-07 17:31:08 -07:00
parent d086243fe1
commit cf7f4d95fc
4 changed files with 158 additions and 13 deletions

View File

@@ -30,6 +30,17 @@ git push
The operator keeps a separate checkout so projection never depends on a
collaborator's dirty working tree.
Nice wrapper:
```sh
/Users/virgil/Developer/rta/tmp/markdown-projection-gitea/collaborator-checkout/rta-mock-docs/scripts/project-rta-mock-docs.sh
```
It pulls the projector checkout, checks it is clean, and runs the AFFiNE
projection command.
Manual equivalent:
```sh
git -C /Users/virgil/Developer/rta/tmp/markdown-projection-gitea/projector-checkout/rta-mock-docs pull --ff-only
```
@@ -52,14 +63,34 @@ nix develop --command bash -lc 'scripts/ops/sync-obsidian-affine.rb \
--apply'
```
Expected healthy result:
Expected healthy result currently includes five docs:
```text
docs: 3
docs: 5
mark stale: 0
mode: one-way read-only AFFiNE docs
```
## Push-To-Projection Automation
Pushing to `main` can trigger sync, but it should be implemented as a small
projection worker, not as a Gitea container hook.
Preferred shape:
```text
Gitea push webhook
-> RTA projection worker endpoint
-> pull projector checkout
-> validate clean source
-> run projection
-> emit logs/receipt
```
This keeps Gitea as Git infrastructure and keeps projection policy in RTA. A
server-side Git hook inside the Gitea container would be harder to observe,
harder to recover, and too tightly coupled to the packaged app internals.
## Rule Of Thumb
If the source repo changes, pull the projector checkout and run projection.