Status. Proposed design only. Nothing in this vault is DG client approval. No application, service or test has been executed; every scenario is Not executed. Fees and dates are open.
T02 · Fixed roles cannot be bypassed through the API
| Field | Value |
|---|---|
| Status | Not executed |
| Type | Balanced software |
| Layer / kind | Unit · API · E2E |
| Priority | P0 |
| Gates | A04, A09 |
| Build step | Step-02-Identity-Membership-Roles |
| Decisions | Q02 |
Given
Owner/admin, approver, contributor, viewer and unassigned users exist in A. A contributor owns an assigned draft.
When
For every mutation, invoke the server directly under each role; include publish, formal EOI submit, accept, message, assign and team changes.
Then / oracle
Only the signed role/assignment matrix succeeds. Contributor cannot self-authorise publishing or formal interest; viewer cannot mutate. Rejected requests leave business, approval and notification state unchanged.
Evidence required
Parameterized allow/deny matrix with positive controls; before/after rows; audit of sensitive attempts.
Decision dependency (verbatim)
Q02: exact role, assignment and self-approval matrix.
Source: TDD rev 1.3 (PDF); machine-readable in 10-Sources/tdd-bundle/. Back to Scenario-Index · Traceability-Matrix · integration dependencies in Dependency-and-Regression-Table.