# 工作区邀请：完整虚构证据包

OpenMax 教学材料，2026-09-04。以下政策、角色、记录和观察全部为解释而编写。未运行邀请服务、邮件供应商或 OpenMax 流程。PASS 和 FAIL 是虚构案例里的标签，不是真实产品测试结果。合成邮箱 mina@example.test 不得用于实际发信。

## 范围与虚构批准规则

四个关联故事：INV-01 创建（标准01–15），INV-02 投递（16），INV-03 过期和撤销（17–18），INV-04 交互与本地化（19–20）。接受邀请和所有者转移另属其他故事。这里不暗示存在真实批准人。

- P1：仅目标工作区当前 Owner 可创建或撤销；修改状态时检查租户和当前角色，重放保存结果前也检查。本文 Viewer 创建响应403。不向只有 W7 权限的人透露 W8 数据。
- P2：允许 Member／Viewer，不允许 Owner。邮箱必填；空字符串、纯空格、mina.example.test 无效；mina@example.test 在本数据中有效。未定义通用邮箱语法或别名标准化。省略可选备注时保持未设置。
- P3：占用=正式成员+未过期 Pending 预留，上限10。W7 初始8正式+1待邀请=9；创建 I77 后8正式+2待邀请=10。已有正式成员或有效待邀请收件人，即使用新键也不增加预留。九席时两个不同收件人并发，只能创建一个。
- P4：创建 Pending，不创建成员。重放范围为工作区+操作者+键+相同内容，且需当前授权。从首次创建算起，严格少于24小时才能按 K77 重放 I77。达到或超过24小时应核对现有 Pending 状态，不保证保存结果仍可重放。同键不同内容返回409且不修改。响应丢失时客户端在核对前结果未知。
- P5：I77 创建2026-01-05T10:00:00Z；过期2026-01-07T10:00:00Z。有效要求 now<expiry。过期或授权撤销只释放一次预留；重复撤销保持 Revoked，不二次释放。接受与撤销竞态需另定规则，本文未解决。
- P6：邀请与投递状态分开；本例最多尝试三次，用尽后人工处理。Pending 及其一席预留仍保留。排队不等于收件箱送达，不保证外部收件箱恰好收到一次。
- P7：本例使用批准的英、中、日文。错误识别、键盘修正与保留输入需在支持的屏幕阅读器／浏览器组合验证。过期显示东京1月7日19:00、上海18:00、UTC10:00。编号和存储时刻不变；窄屏与缺译回退需真实测试。

## 边界数据

除明确顺序外，每行从独立重置的数据开始，不能把上一行状态累计到下一行。W8 无授权。O7 是可创建的 Owner，V7 是不可创建的 Viewer。除 Mina 外的其他新收件人同样必须使用合成数据。

| 数据 | 输入／状态 | 虚构政策下的期待 |
|---|---|---|
| B01 |8正式+1待邀请；新收件人|创建I77；8正式+2待邀请=10|
| B02 |8正式+2待邀请；另一新人|容量拒绝；总数10|
| B03 |K77未变；2026-01-06T09:59:59Z|24小时内重放I77|
| B04 |K77；2026-01-06T10:00:00Z|恰好24小时；核对Pending，不保证重放|
| B05 |2026-01-07T09:59:59Z|未过期；其他接受条件仍适用|
| B06 |2026-01-07T10:00:00Z|过期；拒绝接受；只释放一次|
| B07 |占10席；撤销I77两次|10→9→9|
| B08 |占9席；两位不同新人并发|一个创建，一个容量拒绝；合计10|

## 十二条示例测试记录

虚构构建 DEMO-INV-r1，环境 TEACHING-ONLY。E01–E12 指向本表内的观察描述，不是无法访问的真实日志文件。这些抽选测试没有覆盖全部二十项标准。NOT_RUN 表示没有观察结果。

| 测试 | 标准 | 设置／动作 | 期待 | 虚构观察证据 | 状态 |
|---|---|---|---|---|---|
| T01 |01|O7，新收件人，占9席|Pending I77；占10；正式8|E01：Pending I77；占10；正式8|PASS|
| T02 |02|空邮箱；Member；已填备注|报错；无邀请；保留输入|E02：必填错误；未新增；角色备注保留|PASS|
| T03 |06|独立运行占9和占10两组|9→10；满10拒绝|E03：9时创建，10时拒绝；无超额|PASS|
| T04 |12|5分钟后重复未变K77|同一I77；只一份预留|E04：同一I77；占10|PASS|
| T05 |09|V7直接创建；原占9|403；无邀请；仍9|E05：201；新建邀请；占10|FAIL|
| T06 |13|K77角色Member改Viewer|409；Member不变|E06：409；I77仍Member|PASS|
| T07 |14|占9时两新人并发|一成功一拒绝；总数10|E07：未执行受控并发|NOT_RUN|
| T08 |15|创建后响应丢失；同K77核对|先未知再原I77；无重复|E08：显示未知；重放I77；占10|PASS|
| T09 |17|时钟恰好到期|拒绝接受；过期；释放一次|E09：Expired；未接受；占9|PASS|
| T10 |18|占10时对I77撤销两次|Revoked；10→9→9|E10：Revoked；计数10、9、9|PASS|
| T11 |19|键盘／阅读器；空邮箱|识别错误；修正并保留输入|E11：错误未播报；焦点无法到达修正处|FAIL|
| T12 |20|日文390px；东京截止点|1月7日19:00；不截断|E12：未执行界面验证|NOT_RUN|

## 复算后再作决定

PASS={T01,T02,T03,T04,T06,T08,T09,T10}=8；FAIL={T05,T11}=2；NOT_RUN={T07,T12}=2。计划12、执行10、通过8。执行覆盖10/12=83.3%（保留一位小数）；已执行通过率8/10=80%；计划内具备通过证据8/12=66.7%。分母不同，不是基准质量分。

T05 是阻断权限缺陷，T11 也需修复；T07、T12 必须执行。剩余标准和分支仍要检查覆盖。决定：依据这些证据不予验收，不因80%而放行。这里没有做出任何真实发布决定。

## 六项候选修订

这些弱草稿由编辑编写，不是实际模型输出。“创建成员”改为P4只创建Pending；“打开时授权”改为P1修改时检查；“超时换新键”改为P4核对原请求；“键永久有效”改为P4严格24小时；“立即且一次送达”改为P6独立投递状态；“8/10全部通过”改为报告十二项状态、缺陷与未覆盖标准。

## 使用限制

改用于真实项目时，填写实际规则负责人、批准版本与测试环境。别名处理、接受撤销竞态、性能、恢复及完整无障碍条件需要另行定义。不得把虚构记录当成实践经验或 OpenMax 基准测试。正文来源解释方法和官方起草场景，不为这个虚构邀请产品提供真实性背书。
