Repository navigation
Conversation
- 明确输入接纳与停止依据,阻断结果未知的替代执行 - 持久保存首次 Context 与完整失败证据 - 更新生命周期合同并移除测试代码及入口
- 本地 Issue、讨论、指派和 PR 复用调度、Context 与会话生命周期 - 提供无 GitHub App 初始化、真实候选发布、合并及持续服务 - 保存对象事件和合并意图,明确后端权威、失败与接续边界 - 更新产品合同、操作指南并记录隔离实际操作结果
- 接收 OTLP 三信号,保存原始证据并提供查询与可视化。 - 直接控制本地对象、候选合并及托管运行,保留版本检查和持久回执。 - 关联会话与轮次证据,区分请求受理和真实停止结果。 - 更新产品与操作说明,记录实际 HTTP、浏览器及迁移反馈。
- 分离平台与 Harness 配置、数据库、事件游标和服务生命周期 - 接入独立 HTTP 平台、写入授权代次及固定 Git 候选保留 - 让整个 Braid Console 统一提供 OTLP、平台操作与双上游运行控制 - 显式保留导入旧对象事实,记录真实操作、迁移和浏览器反馈
- 两种上游均向原生会话绑定当前配置,Pi 关闭 stdin 后等待真实进程退出 - 修正内建 readiness、候选清洁判断、关闭后的只读访问与合并退休 - Diff 返回固定对象与提交身份,Console 识别过期详情并清理错误内容 - 引导 canonical Context 重读,明确原始对象和同账户进程的隔离边界 验证:严格 Clippy 与构建通过;真实 MiniMax-M3 双上游旅程、固定 Git 产物和实际应用 CLI 取证;未运行 Braid 测试。
- 保留批准输入、配置、真实 Git 产物、模型用量与各 Owner 证据入口 - 区分修复后旅程通过、首次失败、旧停止未知和存储及跨空间违规 - 记录 App webhook 原配置恢复、实际原生退出与临时服务清理 - 持续合同已归入技术与操作文档,关闭并移除活动任务包
- 锁定 Pi 1.0.2 材料及真实入口,接入完整身份与能力校验 - 融合后台结果交接、子执行启动和跨平台 owned 停止合同 - 保留真实失败原件,以编译和无模型原生操作确认实现边界
- 固定官方 Node 24.15.0 平台发行与校验值,避免宿主 Homebrew 动态库依赖 - 保留许可证及发行身份,安装时实际核对 Node 入口 - 更新宿主工具需求;Mac 实际安装与 Pi 入口已核实
- 周期检查保留入口与凭据检查,完整材料身份仍在每次物理启动和 doctor 核对 - 明确 readiness 的校验边界及子角色 fallback 字段解析约束 - 单任务离线 cargo check 通过,实际停止后的低负载采样已保留
- 保留真实 MiniMax 调用、两版应用结果和原始失败 - 记录进程停止与入口恢复,明确未完成资格及接续边界
- 保留远端 README 结构与上下文示意图 - 补充同层内建平台和 OTLP Console 的使用入口
- 复用内建协作平台和 Harness,加入独立运行身份、范围授权与有限终态 - Console 直接控制共享运行入口,保留 OTLP 观测及接续输入 - 修复旧回执重试兼容性,记录编译和无模型实际操作及资格缺口
- 有限运行的 Issue 指派保留真实待办,serve 指派空闲合同保持不变 - 新会话首轮前处理已存在的 Context reset,避免启动输入被丢弃 - 保留首次真实运行停滞证据,以新 run 进行模型验收
- PBB 的自动 Bash 执行使用非登录 shell,避免读取阻塞的宿主 Nix profile - 原生入口移除 BASH_ENV 和 ENV,保留冻结的工具路径与执行归属 - 保留模型显式命令参数,不在通用 spawn 层改写 argv
- 共享 Harness ledger 的写命令使用 BEGIN IMMEDIATE,避免读取快照后升级写锁 - 纯读保持 DEFERRED,不增加重试或扩大 busy timeout - Bind 失败保留账本路径、SQLite extended code 及原始错误链
- 分列程序终态、真实成员执行、应用公开评分与官网受理 - 保留三项设施修复、模型越界、较晚清理与冻结版本身份 - 记录 8/66、官网 HTTP403 和所有本轮资源退出,不声明发布资格
- 独立分发 braid-collaboration 与四份专题,保持按需发现 - 显式选择技能和原生模板,冻结会话 home 与有效材料身份 - 新建、恢复和延迟启动核对技能发现,记录 OTLP Profile 身份 - 保存编译、无模型公开操作与原始 OTLP 反馈及未验范围
- 保存 f82ee88 代码候选与 Draft PR148 的已推送状态
- 修正格式、借用、局部声明及技能材料返回类型 - 提取 Pi 材料装配,保留完整事务与生命周期控制流 - Rust 1.93 fmt、check 和 Clippy -D warnings 本地通过
- 锁定 Pi 1.1.0,以自有 SDK host 取代综合生命周期与 bundle 补丁 - 按选择安装和修补插件,保留材料隔离、输入义务与执行停止合同 - 记录实际无模型操作、编译结果及尚未取得的真实模型资格
- 归档完整 SVG、PNG、源素材与哈希清单,替换旧版 Logo。 - 接入 README、Console 品牌标识和 favicon,以及 setup 的 GitHub App 头像生成。 - 已通过素材哈希核对、fmt/check/Clippy/build、实际 HTTP 资源与浏览器显示验证。
移除 setup/init 和 llm_providers 的 Provider API key 环境变量入口,统一要求 api_key_file 引用权限受限的 provider_api_key secret 文件。Pi 原生材料改用 Braid 管理的进程内 BRAID_PROVIDER_API_KEY 引用,避免用户把凭据来源配置成任意 shell 环境变量。 同步 README、用户手册和部署说明;新增真实 CLI 边界测试,覆盖旧字段拒绝、init 必需文件参数及固定材料引用。 BREAKING CHANGE: 现有使用 api_key_environment 的 Harness 配置必须显式迁移到 api_key_file;Braid 不会自动导入旧环境变量。 验证:cargo fmt --check && cargo check --locked --all-targets && cargo clippy --locked --all-targets -- -D warnings && cargo test --locked
不再从 pi/codex 推导 DeepSeek/OpenAI、协议、模型或 secret 文件。setup/init 明确区分 adapter 与 LLM provider;只有 Pi 声明 provider、protocol 和 api_key_file,Codex 只使用隔离 provider home。 配置层允许 Codex 省略 llm_providers;schema 3 拒绝非 Pi Profile 的 provider 字段,schema 2 的旧 Codex provider 标签仅作惰性迁移读取且不进入有效材料身份。移除不可达且概念错误的 deepseek-harness 入口。 同步文档、示例和 CLI 边界测试;v0.3.3 发布保持停止。 验证:cargo fmt --check && cargo check --locked --all-targets && cargo clippy --locked --all-targets -- -D warnings && cargo test --locked
进一步解除 adapter、模型路由和认证方式的耦合:setup/init 不再生成硬编码 high reasoning、LLM protocol、模型费用或 allowance;这些 schema 2 元数据仅惰性兼容,schema 3 明确拒绝。 Pi 的 secret 文件改为按 model route 需要声明:keyless route 可省略 api_key_file 与 models.json.apiKey;引用 BRAID_PROVIDER_API_KEY 时必须提供文件。schema 3 的 Pi Profile 还要求显式 model,避免 native host 选择第一个模型。Codex 示例改用中性模型名。 增加无模型 init 实际操作与配置边界测试;发布仍保持停止。 验证:cargo fmt --check && cargo check --locked --all-targets && cargo clippy --locked --all-targets -- -D warnings && cargo test --locked
一个 GitHub App 和 Harness instance 现在可以服务多个显式配置的 repository。Profile 在多仓库配置中必须声明 repository 和显式 workspace;webhook、mention、outbox、reconcile、assignment/lifecycle、group worker、worktree 和 pr ensure 均按 repository 路由,不共享 Context 或工作图。 同时补齐 setup 默认 webhook 事件,修复 Linux gh 路径,让不可达 OTLP 只作为可选 doctor 警告;新增 setup --callback-url 完成 headless 两段流程,以及 braid assignment reactivate 的 blocked generation 显式恢复入口。Release workflow 增加 Linux x86_64 产物,Pi OAuth/auth.json 模型明确不在本轮范围。 验证:cargo fmt --check && cargo check --locked --all-targets && cargo clippy --locked --all-targets -- -D warnings && cargo test --locked;新增 multi-repo config、headless setup、assignment reactivation 和 doctor/Provider 边界测试。
setup 在创建 GitHub App 前先解析 git/gh/wrangler;缺失 Wrangler 不再在 App 创建后才生成包含相对 tools.wrangler 的配置并失败。Headless 测试补齐 fake Wrangler,继续覆盖完整 callback 完成路径。
多仓库实例会产生超过两个 Issue/PR Group;provider readiness 不再硬编码两个观察项,而按当前 repository/profile 组合的实际 Group 数判断。profile inspect 同时显示 Profile 服务的 repository。
多仓库配置继续允许每个 repository 拥有独立 Profile,但同一 repository 的 Issue/PR Profile 必须共享一个 source checkout;否则 worktree 和恢复会在同一 work item 下分叉。配置测试同时覆盖该约束。
Pi Profile 材料会快照到 worktree 的独立 home,不会携带 runtime home 的 auth.json。含该 native OAuth 凭据且没有 api_key_file 的配置现在会被明确拒绝,避免以 keyless route 启动后丢失凭据。 doctor 对未声明 API key 的 Pi route 改为 Unavailable 警告并说明 native OAuth 不由 Braid 管理;该警告不阻断 runtime readiness。正式 Pi OAuth/auth.json 凭据模型仍按用户要求暂缓。
Provider 凭据改为显式 credential = { kind = api_key|oauth|none, file }:
文件为 Braid schema,不是任何 runtime 的文件格式。Pi adapter 在材料化时
转换——api_key 注入 BRAID_PROVIDER_API_KEY,oauth 渲染 session home 的
auth.json,none 显式 keyless;凭据为静态秘密,kind 与内容 hash 进入
Profile 有效版本。新增 braid provider import-auth 一次性转换 Pi 原生
auth.json;runtime home 中的 auth.json 一律拒绝并指向该工具。doctor 与
profile inspect 按 kind 报告,setup/init 改用 --llm-credential-kind/file。
验证:cargo fmt/check/clippy/test 全部通过,含 OAuth、显式 keyless、
import 转换与 legacy 拒绝路径。
llm_providers 增加 base_url/api 与模型能力元数据(id/name/reasoning/input/ context_window/max_tokens/thinking_level_map/compat),Pi adapter 据此渲染 models.json:apiKey 仅在 credential.kind = api_key 时出现并引用 BRAID_PROVIDER_API_KEY。模板或 runtime home 中的 models.json 在 schema 3 被明确拒绝并指向声明;schema 2 保持旧模板路径。setup/init 增加 --llm-base-url 并写出单条模型声明,Profile 校验模型成员与 base_url。 验证:cargo fmt/check/clippy/test 全部通过,含派生三 kind、schema 2 模板 兼容及缺 base_url/未声明模型/模板残留的拒绝路径。
- 新增 repository 的首次 reconcile 不再因 repositories 行缺失触发外键失败: begin_reconciliation 先 upsert;无 tracked work item 的仓库跳过空转周期; 任一仓库的失败隔离,不再中止整轮。 - GitHub 连接建立改为每步 30 秒有界超时并携带操作上下文;App webhook 恢复与隧道修复 10 秒有界,systemd 停止不再因断网挂起。 - profile inspect 标注 models.json 由 llm_providers 派生,runtime home / template 标签收窄为 settings/agents 来源。 - import-auth 增加 BRAID_USER_HOME 继承的回归测试,文档说明同环境运行。 验证:cargo fmt/check/clippy/test 全部通过。断网期间 SIGABRT 的根因需要 coredump 回溯,留作 dogfood 取证项。
sdk-host 的 session/fork 参数解析此前对不存在的路径走 listAll id 前缀 匹配,而上游 CLI 的 resolveSessionPath 对含分隔符或 .jsonl 结尾参数无条件 判为 path 并容错 lazy 创建。声明 defaultContext=fresh 的 subagent 会把尚未 创建的会话文件路径直接作为 --session 传给子进程,因此受管运行时 100% 失败。改为与上游一致的 path-vs-id 判定:path 参数直接 SessionManager.open。 验证:在锁定安装(subagents 插件)中对缺失绝对/相对路径做 pre/post 对比, 修复前抛 No session found matching,修复后按 path 接受并进入模型解析阶段。
以独立成功与尝试时钟区分 hot 60s 和终态历史 30min 巡检,跨仓库按最久未尝试优先;失败不堵塞后续对象,也不在每次本地检查重新联网。 统一 GraphQL 响应记账与 installation 准入,遵守 reset/Retry-After 和有界退避,保留前台预算余量及首次限流写入重试资格。派生客户端共享 Octocrab token 缓存,REST 429 仍保持可恢复。 新增 schema 8 迁移、17 项本地 HTTP/SQLite/时钟回归,并同步操作、技术与验收合同。fmt/check/clippy/test 全部通过;不声称线上配额或 GitHub-to-Agent 黑盒已验收。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
范围
pr ensure均按 repository 路由,不共享 Context 或工作图。同 instance 所有 Profile 仍须使用相同 adapter_type。setup --no-browser提供 pending draft + 完整--callback-url的 headless 路径,必需工具在 GitHub 外部副作用前校验。CI/release workflow 增加 Linux x86_64 检查和预编译产物。provider import-auth导入既有 Pi 凭据;不读取 runtime home 的 auth.json。OAuth 来源仍是静态材料,本 PR 不提供 Braid 托管刷新与写回。最新 dogfood 修复:installation GraphQL 配额(60179b6)
验证与边界
cargo fmt --check、cargo check --locked --all-targets、cargo clippy --locked --all-targets -- -D warnings、cargo test --locked、git diff --check全通过;27 个测试,其中 17 个新增 HTTP/SQLite/时钟回归。macos-14-arm64-us-default is not supported启动即 cancelled,尚无当前 HEAD 的 macOS CI 成功证据。本地 macOS 全量检查已通过。