/-! # Prelude —— System 层共享标识符 平台层反复引用一组标识符(项目、run、session、principal)。其内部表示从未被决策 (UUID / 复合键、principal 子类型学),也非分歧点,故收口成 opaque 载体 `Identifiers`,System 各模块在其上参数化——契约谈得了"锁 owner 是哪个 run"这类 **关系**,却不对标识符表示作承诺。 -/ namespace Spec.System /-- System 层标识符载体(关系结构 `PINNED`;各字段表示 `OPEN`)。 -/ structure Identifiers where /-- 课程项目标识(`OPEN` 表示;聚合根,likec4 `Project`)。 -/ ProjectId : Type /-- 一次 Claude 任务的标识(`OPEN` 表示;锁的 owner、审计主体,`AgentRun`)。 -/ RunId : Type /-- 长生命周期 Claude 会话标识(`OPEN` 表示;跨多 run 复用,ADR-0002)。 -/ SessionId : Type /-- 权限主体标识(`OPEN` 表示及其子类型学;ADR-0004 的 user/chat/department/… 子类型学未定且非本层分歧点,纯 plumbing,故只留 opaque 键)。 -/ Principal : Type end Spec.System