统一可观测性基建与 Web 视图已合入 main。默认使用内置 PostgreSQL,选择外部 Loki 后统一从该后端采集与查询,失败不静默回退。Core 拥有记录、查询和资源机制,App 装配凭据与生命周期,Web 提供筛选、关联及错误恢复体验。OTLP 经过 Core 导出,保持可选协议出口。 2026-11-05,用户确认验收判断并授权合并。整组 16 份 PR 已按依赖顺序普通 squash 合入各仓 `main`,逐层重排并取得最终候选的正常云端门禁,没有绕过分支保护。Hub 先合并,Python、TypeScript 和 Registry 的共享引用均为已合并的 `17fc19e`。 本实施聊天没有运行本地 E2E。真实 PG/Loki、跨 Peer、浏览器退出后的持久事实及应用升级验收由用户指定的 InKCre Dogfood 聊天完成。 ## 合并与证据 | PR | 合并提交 | | --- | --- | | [docs #51](https://github.com/InKCre/docs/pull/51) | `6a34372` | | [docs #53](https://github.com/InKCre/docs/pull/53) | `30ff408` | | [docs #56](https://github.com/InKCre/docs/pull/56) | `3b3f4aa` | | [docs #57](https://github.com/InKCre/docs/pull/57) | `17fc19e` | | [impl-py #175](https://github.com/InKCre/impl-py/pull/175) | `4fa74bb` | | [impl-py #178](https://github.com/InKCre/impl-py/pull/178) | `fd2b92d` | | [impl-py #181](https://github.com/InKCre/impl-py/pull/181) | `7f56f7c` | | [impl-ts #185](https://github.com/InKCre/impl-ts/pull/185) | `ca4cfd7` | | [impl-ts #186](https://github.com/InKCre/impl-ts/pull/186) | `16b127d` | | [impl-ts #188](https://github.com/InKCre/impl-ts/pull/188) | `4aaeb6d` | | [impl-ts #189](https://github.com/InKCre/impl-ts/pull/189) | `a1f34f3` | Hub 最终 main `17fc19e` 与验收合同 `5c5c254` 整树一致。Python 最终 main `7f56f7c`,TS 最终 main `a1f34f3`。最终检查分别见 [Python](https://github.com/InKCre/impl-py/actions/runs/42006423420)、[TypeScript](https://github.com/InKCre/impl-ts/actions/runs/42008513775)。 [正式 Dogfood 复验](https://github.com/InKCre/docs/issues/52#issuecomment-6654109596)覆盖两起 Dogfood 故障的根因修复,包括早于数据库创建时间的真实诊断、成功提交后弹窗关闭、提交浏览器立即终止后的另一 Peer 读回,以及历史和长任务窗口。Job 行提供持久提交事实,诊断摘要只计实际收到的记录。 既有 Grafana Cloud Free 实例已纳入个人自部署,Loki 实际读写、重启读回及 OTLP Trace/日志/指标有对应证据。配置、查询、凭据轮换和恢复流程由 Dogfood 的 grafana-operations.md 管理。31 天查询宽度与实际后端保留期分别表达。 ## 剩余交付 - [x] 产品合同、独立 SDK、Web、采集查询及生命周期实现。 - [x] 两起正式候选回归修复、独立审查及四组真实复验。 - [x] 按依赖合并、最终共享引用和正常云端门禁。 - [x] 指定 Dogfood 聊天已将个人自部署正式更新到 main,实际运行身份和冷重启读回已核对。 - [ ] P2 后续,TS `job.submit` 基础操作摘要在创建获得 Job ID 后只更新可选 OTEL span,统一记录未获得该 ID,PG/Loki 按 Job 筛选会漏掉该摘要。`job.submitted` 已关联 Job,持久事实与本次两起故障的验收成立。后续应补齐同次基础摘要的元数据并覆盖 OTEL 开关、失败提交和诊断故障。 ## 正式 main 自部署完成 2026-11-05,指定 Dogfood owner 已完成并回交。个人 Core 为 Heroku v29、一个 Eco web dyno,正式 impl-py `7f56f7c` 产物加同一 main 的 ChatGPT 配方;日常 Web 为正式 Pages `a1f34f3`,CLI 为与 main 模块内容一致的 PyPI 0.3.0。Peer、原配置、七个扩展及数据恢复已对账,实际 MCP/InMy、Loki 冷重启后双入口读回与正式 Web 历史查询通过。旧候选和隔离服务已退出。 [Core 与运行身份回执](https://github.com/InKCre/docs/issues/50#issuecomment-6655668529)、[Loki 与 Web 正式读回](https://github.com/InKCre/docs/issues/52#issuecomment-6655719282)、[日常组件与公开发行边界](https://github.com/InKCre/docs/issues/55#issuecomment-6655553716)。 日常环境没有已安装的 Swift/WebExt。公开 Core SDK 0.4.3、WebExt 0.2.0、旧名 Runtime 0.4.2 和公共 Registry v15 保持各自发行节奏,源码合并及个人更新不能代替这些公开发行。Runtime/Registry 后续见 InKCre/ext-reg#70、InKCre/ext-reg#71。
Activity
xiaoland commentedon Nov 5, 2026
统一观测 dogfood · 2026-11-05
Python #181
4314c2f与 Web #188167a4b1已运行在隔离部署及个人使用环境。Web 发起真实 Source 后能从作业进入持久内容。默认数据库模式下,成功/失败 Job 的 started、closed 和执行结果可从详情与全局工作区读回。实测 Job/Peer/Trace/operation 交集、时间窗、空结果、截断和断网错误后恢复。发现一项可复现的详情页缺项。个人邮件回填成功,全局按 Job 能看到 submitted/started/closed/execute 四条,详情只看到后三条。浏览器发出的 submitted 时间比数据库 created_at 早 82 ms,详情把后者作为查询下界。隔离修复已在同一浏览器用同一条 Job 复验:使用按 Job 过滤的有界时间窗,详情与全局均显示四条。修复在本地工作树,原 #188 仍复现。
真实 Loki 3.5.0 与两个独立 Python App/Peer 已验证,同一后端上 A 完成作业、B 查询同一生命周期;重启后可按 ID 读回。断链明确 503,异步拒写计入 dropped,PG 中该 trace 数为零。
已有 Grafana Cloud Free 栈实测可写入候选记录并通过独立 Viewer 读回相同 ID。原 OTLP token 的基础 Loki 查询权限返回 401,需要同一 stack 的 logs:read + logs:write 凭据。候选默认关掉外发原文。额外 OTLP、基础 Loki 与历史读取范围分别验证;个人部署切换前以独立 Viewer 进行了读回。公开证据省略私有数据、租户标识与凭据。
个人部署已进一步验收额外 OTLP。启用原三信号后,真实成功 Job 的 Tempo 执行 Span Link 精确关联提交,独立 Viewer 读回 Loki 的 submitted/started/closed,并按同一运行实例读到 Prometheus 成功计数与耗时直方图计数各一。该次 Job 的基础 PostgreSQL 查询也返回四条观测。个人基础后端随后已切至 Cloud Loki。
修复复验已结束。默认按 Job ID 查询,在生命周期两端各留一小时,控制在最近 31 天,可手动选择旧窗口。同一真实 Job 详情从三条恢复为四条。九项观测用例、类型检查与 Web 构建通过,浏览器重新验证失败 Job、空结果、断网与截断提示。本地补丁可应用于原候选,尚待上游纳入。
个人 v28 在单一 Eco dyno 上使用原生 Cloud Loki。隔离的两个候选 Peer 已在同一 Cloud 租户跨 Peer 读写。个人 Core 重启后,Core API 和独立 Grafana Viewer 均按原 ID 读回重启前写入的记录。Web 发起一次已有 Mail Source 的有界回填,Job 正常完成。详情和全局工作区均显示 started、execute、closed,Core API 与独立 Viewer 的三个记录 ID 逐项相同。旧 PostgreSQL 中该 Job 为零行,上一次在 PostgreSQL 执行的 Job 仍有四行。该次浏览器端 submitted 未送达,单列为客户端验收发现。
已在隔离浏览器复现提交事件缺失。带非空参数的回填创建成功后,原生弹窗关闭处理再次提示放弃编辑。立即关闭时能写入 submitted 和 job.submit,提示停留 14 秒则超时丢失。隔离修复只在成功后重置已提交的参数,随后两条观测都到达测试接收端。手动取消仍有确认,选择继续编辑会保留原参数。该改动和详情时间窗修复均为待上游纳入的本地补丁。云端真实 Job 以已采三条为准。
xiaoland commentedon Nov 5, 2026
正式修复候选的 dogfood 复验 · 2026-11-05
impl-ts #189
f584867搭配 共享契约 #575c5c254和 impl-py #1814314c2f。后台原生浏览器运行候选构建,对比 Web 详情、全局观测、持久 Job 行与后端实际返回记录。个人部署沿用原有 Cloud Loki,业务提交、进程终止及历史数据构造均在隔离环境处理。四组复验通过。超过 31 天的场景使用带历史时间戳的隔离数据验证查询宽度;云端保留期沿用部署侧口径。独立登记的 job.submit 操作摘要缺少 Job ID 仍按其原跟踪处理。本次结论限定于 #189 的候选 SHA。
xiaoland commentedon Nov 5, 2026
正式 main 的真实部署读回 · 2026-11-05
个人 Core v29(impl-py
7f56f7c)与日常 Pages(impl-tsa1f34f3)已采用正式 main。Core 向原 Grafana Cloud Loki 写入一条新诊断,重启现有 Eco web dyno 后,实例 ID 变化,release、Peer 和观测部署身份保持一致。新实例和独立 Grafana Viewer 都按原 ID 读回该记录,dropped 为零。重启后,正式 Web 入口通过只读连接读取同一历史 Job,详情显示持久提交事实和 finished,详情与全局列表均返回三个实际诊断。原 PostgreSQL Job 的四条历史记录(含早于数据库创建时刻的 submitted)在隔离副本中由该正式 Web 正确展示。个人侧业务提交为零。提交端退出和表单交互的证据可复用正式候选验收。
使用只读就绪请求,通过独立 Tempo 关联了新实例的精确 trace 与父 span,在 Prometheus 也看到了同实例的成功操作计数及耗时样本。这个只读窗口内新产生的 OTLP 业务日志为零;三信号的业务关联沿用前轮实际成功 Job 证据,原生 Loki 和额外 OTLP 分别核对。仍待单独处理的 job.submit 操作摘要缺 Job ID 继续按原项跟踪。