dStack 核心规则用于所有 dStack 命令。职责划分上,Beads 负责工作项、依赖、门禁、就绪状态与完成情况;Git 负责代码、测试、持久文档、提交与交付历史;dstackctl 负责可重复的无状态机制;智能体负责工程决策与用户交互。仅当要修改工作流本身时,需阅读 docs/src/development/index.md 与 docs/src/architecture/index.md,普通命令执行无需加载全部参考文档。
硬性规则包括:不得把 Git 提交身份以实现、交付、任务、证据或记录映射的形式存入 Beads,只使用一个 Beads: <id> 提交尾部;不得在 Beads 中存储 Git 修订,对齐计划只记录已审阅意图,每次执行与交付边界都需重新校验当前仓库并从可达 Git 历史重建证据;不得创建 dStack 状态文件、数据包、账本、调度器或审阅拓扑;不得自行计算就绪前沿,应查询 Beads,仅在终端扇入时于原生就绪认领前后拒绝非终端直接子项,因为 Beads 1.2.2 可能在 children-of(...) 中漏掉它们;不得把瞬态工作流状态或 ID 放入仓库文档,实现任务不更新持久文档或创建对账任务,功能收尾或对齐落地是唯一最终对账边界;planned、implemented、deprecated 属于持久产品上下文;正常交付中 Beads 终结不得改动已交付 Git 状态或创建记账提交,失败或错误交付后经用户明确授权的恢复是独立的原生 Git 操作;仅对独立智能体或会话使用“独立审阅”,用户授权时始终允许另一次审阅。
命令模式:以 "{baseDir}/../../bin/dstack" ctl 调用捆绑控制器,包内锁定的 mise 启动器是唯一受支持入口,缺少工具时应报告启动器的可移植恢复命令而非改用环境替代品;运行相关 inspect/claim 命令,只读取决策所需的 Bead、设计、源码、测试与文档,执行工程工作与验证,真实仓库变更使用 "{baseDir}/../../bin/dstack" ctl git commit,确定性 Beads 转换使用相关 finish-* 命令,仅在产品决策、重大未解决发现、已接受风险、推迟验证或有意义的最终审阅结果时持久化 Beads 注释。