| Comment: | caps: private tickets exist for holders of e
The edge resolved a CapSet and threw it away; it now rides the context, so an op can ask which letters the caller holds. Private tickets list, count and resolve for e, and for nobody else. One privacyWhere() so a fourth read path cannot silently ship without the clause. |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
9b2b188ecefbf5d9df7cb760c21f99dd |
| User & Date: | dmestas on 2026-08-23 11:08:48.569 |
| Other Links: | manifest | tags |
|
2026-08-23
| ||
| 12:31 |
timeline: the mainline claims rail 0 only when it is free
A merge whose two parents are both on trunk puts two chains in front of one column. Claiming rail 0 anyway stopped drawing the line that was already travelling there — the gap — and overwrote the commit it was heading to. Test asserts every head resumes its predecessor's tail. check-in: 6f34d948a0 user: dmestas tags: trunk | |
| 11:08 |
caps: private tickets exist for holders of e
The edge resolved a CapSet and threw it away; it now rides the context, so an op can ask which letters the caller holds. Private tickets list, count and resolve for e, and for nobody else. One privacyWhere() so a fourth read path cannot silently ship without the clause. check-in: 9b2b188ece user: dmestas tags: trunk | |
| 11:02 |
caps: gate private ticket fields on e instead of dropping them
The capability exists now (RFC 0004), so private_contact and contact are withheld by default and rendered to a holder of e. Default deny with no ungated-forge exemption: that rule would publish them. check-in: 86fadebbab user: dmestas tags: trunk | |