# Workspace invitation: complete fictional evidence packet

OpenMax educational material, 2026-09-04. All policies, people roles, records and observations below are invented for explanation. No invitation service, email provider or OpenMax workflow was executed. PASS and FAIL are labels inside the fictional case, not verified product results. Synthetic address: mina@example.test; never send mail to it.

## Scope and approved fictional rules

Four related stories: INV-01 creation (criteria01–15); INV-02 delivery (16); INV-03 expiration/revocation (17–18); INV-04 interaction/localization (19–20). Acceptance of the invite and owner transfer are separate stories. No real approver identity is implied.

- P1: only the current Owner of the target workspace may create or revoke; check tenant and current role at mutation, including before replaying a stored result. Viewer creation returns403 in this case. No W8 data disclosure to W7-only actors.
- P2: Member/Viewer allowed, Owner not allowed. Email required; empty, spaces-only and mina.example.test invalid; mina@example.test valid for this fixture. The general email grammar and alias normalization are not specified. Optional note remains unset when omitted.
- P3: occupied=active members+unexpired Pending reservations, limit10. Initial W7: active8+pending1=9. Creating I77 makes active8+pending2=10. Existing active member or live Pending recipient creates no duplicate reservation even with a new key. Concurrent distinct requests at9 allow only one creation.
- P4: creation is Pending, not membership. Scope for replay is workspace+actor+key+same payload, with current authorization. K77 unchanged returns I77 while elapsed time is strictly less than24h from initial creation. At or after24h, inspect existing Pending state; do not assume stored replay. Changed payload with K77 returns409, no change. A lost response leaves client outcome unknown until reconciliation.
- P5: I77 created2026-01-05T10:00:00Z; expires2026-01-07T10:00:00Z. Validity requires now<expiry. Expiry or authorized revocation releases its reservation once. Repeated revocation stays Revoked without a second release. Acceptance/revocation races need an additional rule and are not resolved here.
- P6: invitation state and delivery state are separate. Three attempts maximum in this case; after exhaustion, manual handling. Pending invitation and its one reservation remain. Queueing is not confirmed inbox delivery; no exactly-once inbox claim.
- P7: EN, simplified Chinese and Japanese copy is approved for the example. Error identification, keyboard correction and retained input require a supported screen-reader/browser check. Expiry is Jan7 19:00 Tokyo,18:00 Shanghai,10:00UTC. ID and stored instant unchanged; narrow layout and missing-copy fallback need real testing.

## Boundary fixtures

Each test starts from its own reset fixture unless a sequence is explicitly stated. No accumulated state across table rows. W8 is unauthorized. Owner actor O7 may create; Viewer V7 may not. Fresh recipient values other than Mina are synthetic too.

| Fixture | Input/state | Expected under this fictional policy |
|---|---|---|
| B01 |8active+1pending;new recipient|Create I77;8active+2pending=10|
| B02 |8active+2pending;another new recipient|Capacity rejection;total10|
| B03 |K77 unchanged at2026-01-06T09:59:59Z|Replay I77 within24h|
| B04 |K77 at2026-01-06T10:00:00Z|24h boundary;reconcile existing Pending,not guaranteed replay|
| B05 |2026-01-07T09:59:59Z|Invitation not yet expired;other acceptance rules still apply|
| B06 |2026-01-07T10:00:00Z|Expired;acceptance denied;release once|
| B07 |10occupied;revoke I77 twice|10→9→9|
| B08 |9occupied;two concurrent distinct new recipients|One created,one capacity rejection;total10|

## Twelve illustrative test records

Fictional build DEMO-INV-r1 and environment TEACHING-ONLY. Evidence locators E01–E12 refer to the observations in this table, not inaccessible real log files. This selected sample does not cover every one of the20criteria. NOT_RUN means there is no observed result.

| Test | Criterion | Setup/action | Expected | Fictional observed evidence | State |
|---|---|---|---|---|---|
| T01 |01|O7,new recipient,9occupied|Pending I77;10occupied;8active|E01:Pending I77;10occupied;8active|PASS|
| T02 |02|Blank email;Member;note retained|Error;no invite;retain inputs|E02:required error;no new invite;role/note preserved|PASS|
| T03 |06|Run independent9 and10 seat fixtures|9→10;at10 reject|E03:created at9;rejected at10;no excess|PASS|
| T04 |12|Repeat unchanged K77 at+5min|Same I77;one reservation|E04:same I77;occupied10|PASS|
| T05 |09|V7 direct creation at9occupied|403;no invite;occupied9|E05:201;new invitation;occupied10|FAIL|
| T06 |13|K77 reuse changes Member to Viewer|409;Member unchanged|E06:409;I77 remains Member|PASS|
| T07 |14|Two new recipients at9 concurrently|One create;one reject;total10|E07:no controlled concurrent execution|NOT_RUN|
| T08 |15|Create then lose response;reconcile same K77|Unknown then same I77;no duplicate|E08:unknown shown;replay I77;occupied10|PASS|
| T09 |17|Clock at expiry exactly|Deny acceptance;expire;release once|E09:Expired;no acceptance;occupied9|PASS|
| T10 |18|Revoke Pending I77 twice from10|Revoked;10→9→9|E10:Revoked;counts10,9,9|PASS|
| T11 |19|Keyboard/screen reader;blank email|Identify field/error;correct with input retained|E11:error not announced;focus cannot reach correction|FAIL|
| T12 |20|Japanese390px,Tokyo expiry|Jan7 19:00;no truncation|E12:rendering not executed|NOT_RUN|

## Recompute, then decide

PASS={T01,T02,T03,T04,T06,T08,T09,T10}=8. FAIL={T05,T11}=2. NOT_RUN={T07,T12}=2. Planned12;executed10;passing8. Execution coverage10/12=83.3% rounded to one decimal. Pass rate among executed8/10=80%. Passing evidence among planned8/12=66.7%. These are three different denominators, not benchmark scores.

T05 is a blocking permission defect; T11 also needs repair. T07 and T12 must be executed. The remaining criteria and branches need coverage review. Decision: NOT ACCEPTED on this evidence, regardless of the80% figure. No real release decision has been made.

## Six candidate corrections

These statements are author-created weak drafts, not live model outputs. “Creates a member”→P4 Pending only. “Authorize when opening”→P1 mutation-time check. “Timeout,new key”→P4 reconcile unchanged request. “Keys last forever”→P4 strict24h scope. “Immediately delivered once”→P6 separate delivery state. “8/10 means all accepted”→all12 states plus defects and uncovered criteria.

## Review controls and limitations

Record actual rule owner, approved version and test environment when adapting this packet. Define alias handling, acceptance/revocation races, performance, recovery and complete accessibility criteria separately. Do not present these invented rows as experience or an OpenMax benchmark. Article sources explain methods and a documented drafting use case; they do not authenticate this fictional invitation product.
