问题领域
issues.astrale.ai 拥有协作项目,编号为"问题","评论"和"项目-局部标记".
它与Schema政策、接收方法、原子突变和
收件箱-第一贝壳视图.
图表Schema 仅依赖于 Kernel: 协作边缘目标为任意 Identity 子类型.
Shell是一个前端集成,而不是被钉住的Schema依赖或核心组数据的来源.
Project
owned by one Identity; shared with member Identities
key, name, optional description, private owner/member execution index and nextIssueNumber, archived
contains Issues and Tags
Issue
immutable reference; title (100 characters); optional Markdown description (50,000 characters)
status: open | accepted | resolved | deferred | closed
priority: 0..4; optional assignee; optional acyclic parent; Tags
Comment
body; immutable author; belongs to one Issue
Tag
name; Project-local slug; optional color; belongs to one Project
公共可调用表面保持变异接收器的拥有;呼叫者观察项目、问题和 根据自己的权限阅读该图时的评论:
Project.create
Project.update | addMember | removeMember | createIssue | receiveReport | createTag | archive
Issue.update | edit | transition | assign | setTags | setParent | addComment | archive
Comment.edit | delete
Tag.edit | delete
Tag.delete 通过连接的2 046个问题(目前得到支持的Kernel),仍是一个原子突变
封装和节点清除后执行上限。 大一点 标记必须首先从
足够的问题通过 Issue.setTags;行动明确拒绝
(单位:千美元)TAG_TOO_LARGE_TO_DELETE)而不是提交带有后端依赖的超大突变
失败.
Project.create 需要认证。 项目的业主和成员观察项目及其
自行授权通过图表发布和评论。 一个记者观察自己
问题相同:从身份到 issue_reported_by,然后每个问题的评论.
项目负责人管理元数据、成员、标签、,
; 所有人和成员对问题作出贡献; 问题记者编辑其标题和
描述通过 Issue.edit 并存档;只有注释作者编辑或删除它.
优先权、地位、,
任务、标记、父和注释仍为协作者操作。 问题及其评论是:
通过调用者拥有的或已经加入的项目可见,也可以通过调用者的记者看到。 删除一个
身份,例如将拥有域的域名解开,只去除其域名 issue_reported_by, (中文(简体) ),
comment_authored_by 财务报告和审定财务报表 project_owned_by 边缘:问题、评论和项目保持不变
他们的 reporterId, (中文(简体) ), authorId 财务报告和审定财务报表 ownerId其所有人被删除的一个项目保留其成员,
作者被删除的评论
更长时间的编辑或删除.
一个问题的标题是它的内核 Named 名称,包含100个字符。 它的描述是
问题自主 body,因为内核 Descriptable 只有1000个字符。 所描述的问题
在此之前 body 将描述保存在 Descriptable 直至下一次修订时
body; 读者接受 body 首先,然后是 Descriptable 说明。 标题和说明
存储时没有包围白空间。 之前每个可调用者拒绝较长的标题或描述
它运行,并拒绝空白标题或修改,因为该标题或修订没有指定已声明错误的字段.
所有权、成员资格、报告、分配和著作权仍然是图表化的政策事实。 这个 拥有 Project, Project, issue, 或 注释 也可以私下存储相应的身份标识, 更新于 与每个边缘相同的原子突变 因此,查询和行动可以验证当前 协作状态,不要求授权 每一种可能的具体身份子类型 另一个域. 这些私人执行领域不是第二个公共模式,绝不取代政策边缘.
Project.receiveReport 是Admin等可信集成的独所有者录入。 拥有者
供应经核实的 reporterId,不透明 requestId, (中文(简体) ), title, (中文(简体) ), body,可选结构
context。公共管理员的外观必须来自记者的认证;普通发件人
不得获得这种特权所有者的能力或参加项目.
一个原子突变分配数字,创建"问题"和"记者/娱乐"边缘,保留
报告原文与收到原文完全相同,并用其修剪的机体描述了这一问题。 查询 v7
守卫围栏 准确的项目/记者/请求三分之一。 内容相同的重试返回正本 { id, reference }, (中文(简体) ),
即使经过分解编辑或存档;在同一密钥下更改的内容也会被拒绝. 独立
身份识别文件仍为独立报告。 已知的反证/关键辩词经过8次重审;
未知结果传播,所以发送者必须保留原始有效载荷和密钥直至确认.
杜威可来自图收和原子先决条件.
背景描述当前的客户端观察,与可变的问题文本相分离. 缺少版本和 实例坐标未知。 创建报告使发件人成为问题记者,其中 (b) 它不给予项目成员资格,也不允许使用其他问题或标记. 通用域无管理依赖. 收到报告后,没有进行自动分类, 重复匹配,或背景处理.
其他的创作方法保留了现有的重试语义. 设置式变化自然地趋同; 通过原子突变的前提条件来拒绝同步编辑.
挂载的视图默认为有队列进度和键盘或按钮的有重点的开关信箱
导航 接受的工作有专门的讨论视图,而浏览过滤可见的问题
在服务器上一次读取一个页面。 搜索时将“问题”读取至今
并说,当更多的可能匹配。 房间的元数据抽屉暴露了近距离 德弗,
解析并接受区分动作加优先级、任务、标记和母控
模糊了主视图. 四个结果显示并尊重 C, (中文(简体) ), D, (中文(简体) ), R,以及 A 键盘
用户不输入时的快捷键。 选定的问题描述及其评论线索仍保留在以下
收件箱作为Markdown的连续对话,带有严格的美人鱼图. 项目、问题和标签
项目成员管理仍为API第一.
发展
依赖变化必须同时刷新 issues/pnpm-lock.yaml 和工作空间 pnpm-lock.yaml· ;
仓库 CI 用被冻结的锁文件安装后者.
pnpm install
pnpm typecheck
pnpm test
pnpm lint
pnpm frontend:build
pnpm build
pnpm package
通过语义导入源域概念 @astrale-os/sdk/* 外观和拥有否
.spec 树.