Model project membership and document state
Synthetic agency contact Jo is nominated for project A only. A’s issued pack is client-released; A’s draft is internal. Project B belongs to the same company but has no Jo link. The supplied portal rule requires both project nomination and client release; one company-wide login does not grant every document.
| Constraint | Required record | Example decision rule |
|---|---|---|
| Project link | Contact ID + project ID | Jo/A only |
| Release state | Internal draft or client-released | A draft remains internal |
| Document identity | Project + document revision | B release does not inherit A contact |
Test each required access condition
| Case | Input | Expected decision |
|---|---|---|
| Jo reads A released pack | Project link and release match | Allowed |
| Jo reads A draft | Project link only | Not allowed |
| Jo reads B released pack | Release only | Not allowed |
- Identify contact and project
- Check nominated project relationship
- Check document release state
- Show only matching documents
A copied document link does not create a missing project nomination.
How many of the three shown documents may Jo see?
Show the worked answer
One: A’s client-released pack. The draft and B pack each fail one required condition.
Test a same-company different-project case as well as draft visibility; otherwise company identity can hide missing scope.