跳到主要内容

工作区工作室

工作区工作室

每个身份在每个工作区中只有一个个人工作台。编辑源码、个人脚本与自定义技能时不分配数据库;只有需要运行结果时才为一个确切提交构建一次性预览。

one identity + one workspace
              │
              ▼
    ┌─────────────────────┐
    │    My workbench     │  source · personal scripts · custom skills
    │   no database       │
    └──────────┬──────────┘
               │ Preview
               ▼
    migration generated and editable
    lint · typecheck · repository health · bundle
               │ all green
               ▼
    ┌─────────────────────┐
    │       Preview       │  exact commit · persistent route · one Neon fork
    └──────────┬──────────┘
               │  one-shot workers only while invoked
               │ Request review
               ▼
    ┌─────────────────────┐
    │        Review       │  every reviewer opens the same Preview
    └──────────┬──────────┘
               │ approve
               ▼
             Live          fast-forward only
一条产品流程
工作台、预览、审查与生产是完整的编写词汇;不存在并行的编写对象或替代发布路径。

编写流程

Studio 的主要界面只有两个标签与两个前进操作;预览会自动保存所有当前草稿。

  1. 编辑“我的工作台”。草稿保持个人所有,代表该身份写源码的 Agent 也使用同一个工作台。
  2. 选择“预览”。Studio 提交当前草稿、运行全部门控,并打开该确切提交的结果。
  3. 选择“请求审查”。审查者打开同一个预览;审查既不分配另一个数据库,也不分配常驻执行工作线程。
  4. 管理员批准经过审查的确切预览。生产通过快进前进,随后回收该一次性预览。

预览会做什么

预览是唯一会分配运行时资源的操作,并且只关联一个不可变的工作台提交。

  1. 在分配任何资源前生成迁移。若 DDL 有变化,Studio 会打开生成的迁移供审查或编辑,并要求再次预览。
  2. 要求 lint、类型检查、仓库健康检查与已提交迁移全部通过。
  3. 构建可移植工作区包,并把产物身份绑定到工作台提交。
  4. 持久化预览路由元数据,并基于生产分配一个启用自动休眠的 Neon 分支。预览不拥有工作线程;检查与调用各自使用新的、一次性工作线程。
  5. 作者和所有审查者复用同一个确切预览,直到提交变化、生产前进、审查结束或预览过期。

可编辑的 DDL。 生成的迁移就是普通的、已提交的工作区源码。预览前可以编辑;发布会应用经过审查的确切 schema 计划。

变基是唯一的冲突机制

生产历史保持线性。Studio 不创建合并提交,也不提供第二种冲突解决方式。

Live advances
      │
      ├── retire old Preview (route metadata · Neon fork)
      ▼
Update workbench
      │
      ├── no conflict ───────────────► Preview again
      │
      └── conflict ─► edit named file ─► Update workbench again ─► Preview
  • 生产前进时,旧预览会立即回收,因为它已不再代表可发布的基线。
  • “更新工作台”会把个人工作台重放到最新生产提交之上。
  • 文件冲突时,Studio 会打开它。编辑出预期结果,然后再次选择“更新工作台”。
  • 变基成功后,为新的确切提交构建新预览。

资源生命周期

持久编写状态是 Bolt 外部的源码元数据。Bolt 包保持无状态,所有运行时状态都来自设施。

  • “我的工作台”不拥有数据库、路由或执行工作线程。
  • 构建目录是临时的,生成迁移或编译后即删除;只有共享包存储保留。
  • 每个个人工作台的预览最多拥有一个 Neon 分支与持久路由元数据。它从不拥有常驻工作线程:检查与调用工作线程只在运行时存在,因此闲置时租户工作线程数量回到零。
  • 替换、变基、拒绝、发布或过期都会移除预览的路由元数据、部署状态与数据库分支;调用之间不存在需要拆除的工作线程生命周期。

Studio 界面

  • 工作台 ——清单与源码编辑器;“预览”和“请求审查”是仅有的前进操作。
  • 审查 ——确切文件差异、确切 schema 计划、共享预览、决策与线性历史。
  • 运维 ——仅管理员可见的运行时诊断与回滚,不进入普通贡献者流程。

保证

  • 一个身份与一个工作区只解析到一个个人工作台;调用方不能选择别的键。
  • 一次审查点名一个确切提交、产物、校验和、schema 计划与预览环境。
  • 审查者不会分配额外运行时资源。
  • 修改源码或变基会使旧预览及任何开放审查失效。
  • 浏览器不使用轮询。租户自动化进度与 Agent 对话状态存于数据库,并通过同步引擎传播。