{ "comment": [ "Gate 3. One fixture per rung of the sharing ladder (doctrine §4.2,", "ruling 15), plus the two cases the reviews asked for: an item on the", "team rung that also carries a link, and an item whose link changed", "after it was ingested.", "", "The asker is the same person for every case, and the item id is quoted", "in every case, so a server cannot pass by answering differently for", "different ids. What must differ is the rung; what must not differ is", "the answer for everything that is not `team`.", "", "s3_status is what a content fetch answers. s2_result is what an", "authorization call answers for `asker`, who deliberately holds a live", "grant on doc-private and doc-granted and a former grant on doc-deleted:", "the intersection with custody (§4.3) must beat the grant every time." ], "team": "acme", "asker": { "kind": "person_ref", "value": "pers_ana" }, "stranger": { "kind": "person_ref", "value": "pers_bo" }, "cases": [ { "name": "team rung is the only thing custody admits", "item_id": "doc-team", "s3_body": "the Q3 plan, shared with the whole team", "revision": 7, "rung": "team", "link": null, "s3_status": 200, "s2_result": "VISIBLE", "s2_result_superseded": "STALE", "s2_result_stranger": "NOT_VISIBLE" }, { "name": "private, and the asker owns it", "item_id": "doc-private", "s3_body": "", "revision": 4, "rung": "private", "link": null, "s3_status": 404, "s2_result": "NOT_VISIBLE", "s2_result_superseded": "NOT_VISIBLE", "s2_result_stranger": "NOT_VISIBLE" }, { "name": "granted to the asker individually", "item_id": "doc-granted", "s3_body": "", "revision": 9, "rung": "granted", "link": null, "s3_status": 404, "s2_result": "NOT_VISIBLE", "s2_result_superseded": "NOT_VISIBLE", "s2_result_stranger": "NOT_VISIBLE" }, { "name": "granted to a guest only", "item_id": "doc-guest", "s3_body": "", "revision": 2, "rung": "granted", "link": null, "s3_status": 404, "s2_result": "NOT_VISIBLE", "s2_result_superseded": "NOT_VISIBLE", "s2_result_stranger": "NOT_VISIBLE" }, { "name": "link-shared but not team-shared: a link is not a rung", "item_id": "doc-link", "s3_body": "", "revision": 5, "rung": "private", "link": "read", "s3_status": 404, "s2_result": "NOT_VISIBLE", "s2_result_superseded": "NOT_VISIBLE", "s2_result_stranger": "NOT_VISIBLE" }, { "name": "team-shared and link-shared: team-visible because of the rung", "item_id": "doc-team-link", "s3_body": "the launch checklist, team-shared and link-shared", "revision": 3, "rung": "team", "link": "read", "s3_status": 200, "s2_result": "VISIBLE", "s2_result_superseded": "STALE", "s2_result_stranger": "NOT_VISIBLE" }, { "name": "deleted, with a former grant held by the asker", "item_id": "doc-deleted", "s3_body": "", "revision": 6, "rung": "deleted", "link": null, "s3_status": 404, "s2_result": "NOT_VISIBLE", "s2_result_superseded": "NOT_VISIBLE", "s2_result_stranger": "NOT_VISIBLE" }, { "name": "ingested on the team rung, since moved to private", "item_id": "doc-was-team", "s3_body": "", "revision": 8, "rung": "private", "link": null, "s3_status": 404, "s2_result": "NOT_VISIBLE", "s2_result_superseded": "NOT_VISIBLE", "s2_result_stranger": "NOT_VISIBLE" }, { "name": "a link added after ingest changes nothing either way", "item_id": "doc-link-added-late", "s3_body": "", "revision": 11, "rung": "private", "link": "read", "s3_status": 404, "s2_result": "NOT_VISIBLE", "s2_result_superseded": "NOT_VISIBLE", "s2_result_stranger": "NOT_VISIBLE" } ] }