Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 11 additions & 10 deletions DOCUMENT_INDEX.md

Large diffs are not rendered by default.

5 changes: 3 additions & 2 deletions IMPLEMENTATION_HANDOFF.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## 当前检查点

- 2026-07-31:最终证据修订经 [PR #18](https://github.com/KXHXK/opercerta/pull/18) 合入 main `298fc5978a56961d36e73888f4ae73017e302715`;[main run 30541088053](https://github.com/KXHXK/opercerta/actions/runs/30541088053) 的 repository-safety、python-quality、frontend、backend-tests、compose-smoke 五项全绿,继续证明后端 `667 passed`、三业务契约、冻结 Agent `9/9`、前端 19 文件/60 条和真实 Compose 重启恢复。[Showcase 预发布 `v0.1.0-showcase.1`](https://github.com/KXHXK/opercerta/releases/tag/v0.1.0-showcase.1) 精确指向该提交;Netlify 静态 production 仍为已核验 deploy `6a6b17cf496c38056f737264`,上一 production `6a6631d24958714a43ddc508` 可回滚。自动化工程与求职静态展示已收口,下一步只做用户源码掌握、完整业务实演、3–5 分钟录屏和简历定稿;公网可写后端及产品治理仍未完成,产品 release gate 保持 `CLOSED`,不启动 ForenTrail。
- 2026-07-30:发布准备分支经 [PR #17](https://github.com/KXHXK/opercerta/pull/17) 全绿后,以普通 merge commit `b6aa5fa13c7645bd3351092fc23b6c3e132a284d` 合入 main;[main run 30539160493](https://github.com/KXHXK/opercerta/actions/runs/30539160493) 五项全绿,包含完整后端 `667 passed`、三业务契约 `1 passed`、冻结 Agent `9/9`、前端 19 文件/60 条和真实 Compose 重启恢复。已验证 Netlify Preview `6a6b17cf496c38056f737264` 经官方可回滚 API 晋级 production,公网三个静态路由、六项安全头和 JS SHA-256 均复验通过;上一 production `6a6631d24958714a43ddc508` 为回滚点。下一步只做固定评测、源码掌握、演示和简历材料;公网可写后端及生产治理仍未完成,产品 release gate 保持 `CLOSED`,不启动 ForenTrail。

- 2026-07-30:换机环境分支经 [PR #15](https://github.com/KXHXK/opercerta/pull/15) 合并为 main 提交 `42ba974`;对应 [main run 30525556998](https://github.com/KXHXK/opercerta/actions/runs/30525556998) 的 repository-safety、python-quality、frontend、backend-tests 和实际 compose-smoke 全部成功。compose-smoke 已执行镜像构建、三业务 Agent 轨迹与数据库副作用、API/MCP 重启、恢复验证和隔离卷清理。本地 main 已 fast-forward 到同一提交;WSL 的 Node `24.18.0`、npm `11.16.0`、uv `0.11.28` 可用,PostgreSQL/Redis/MCP/API 四服务均 healthy,readiness 为 database/checkpoint/MCP 全部 ready。当前后续分支为 `chore/release-readiness-20260730`,用于部署、评测、源码掌握和简历材料收口;公网可写后端和生产 IAM/限流/备份仍未实现,production release gate 保持 `CLOSED`,不启动 ForenTrail。
Expand Down Expand Up @@ -69,7 +70,7 @@
## 新对话必须先做

1. 先阅读 `DOCUMENT_INDEX.md`、`docs/development-log/current-state.md` 和最近每日日志,再阅读相关设计、计划、交接和 Git 状态。
2. 只实施 OperCerta;PR #17、最新 main Compose 与静态 production 已全绿。下一步从干净 main 分支完成固定评测口径、源码掌握、演示和简历材料;产品生产门禁关闭前不启动其他项目。
2. 只实施 OperCerta;PR #18、最新 main Compose、静态 production 与 `v0.1.0-showcase.1` Showcase 预发布已全绿。下一步完成源码掌握、完整实演、3–5 分钟录屏和简历材料;产品生产门禁关闭前不把静态展示误报为生产系统。
3. 运行集成测试前,以不回显方式从已忽略 `.env.local` 加载 `OPERCERTA_DATABASE_URL`;不得提交该文件或任何凭据。
4. 每个效果数字都保留基线、测试数据、测量脚本和结果证据;指标未测出前使用目标值或空值,不写成已实现结果。
5. 使用公开或合成数据,从零编写全部代码和文档,不导入任何原单位源码、数据、截图、模型、品牌或内部规则。
Expand All @@ -83,4 +84,4 @@

## 可复制到新对话的启动语

> 工作目录为本 OperCerta 仓库根目录。请先读取 `DOCUMENT_INDEX.md`、`docs/development-log/current-state.md`、最近每日日志、`README.md`、`IMPLEMENTATION_HANDOFF.md`、`docs/specs/` 下的四份设计文件及当前相关规格、计划和证据;PR #17 已合并为 main `b6aa5fa`,main run `30539160493` 五项全绿并包含 667 条后端测试、三业务数据库副作用和重启恢复;Netlify 静态 production deploy `6a6b17cf496c38056f737264` 已通过安全头和资源哈希核验。下一步只继续固定评测、源码掌握、演示和简历材料。公开根路径只读、`/engineering` 仅 localhost、`/console` 仅本地真实演示;不复用旧公司材料,不虚构指标,不启动其他项目。
> 工作目录为本 OperCerta 仓库根目录。请先读取 `DOCUMENT_INDEX.md`、`docs/development-log/current-state.md`、最近每日日志、`README.md`、`IMPLEMENTATION_HANDOFF.md`、`docs/specs/` 下的四份设计文件及当前相关规格、计划和证据;PR #18 已合并为 main `298fc59`,main run `30541088053` 五项全绿并包含 667 条后端测试、三业务数据库副作用和重启恢复;Netlify 静态 production deploy `6a6b17cf496c38056f737264` 已通过安全头和资源哈希核验,Showcase 预发布 `v0.1.0-showcase.1` 精确指向该已验证提交。下一步只继续源码掌握、完整实演、3–5 分钟录屏和简历材料。公开根路径只读、`/engineering` 仅 localhost、`/console` 仅本地真实演示;不复用旧公司材料,不虚构指标,不把静态展示误报为生产系统。
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,15 @@ and audit-focused observability in a reproducible reference implementation.

- [Project showcase](https://opercerta-kxh.netlify.app)
- [Portfolio overview](https://kxh-agent-portfolio.netlify.app)
- [Showcase pre-release](https://github.com/KXHXK/opercerta/releases/tag/v0.1.0-showcase.1)
- Status: engineering showcase; the public site is read-only and the
production release gate remains closed.

## 中文说明

OperCerta 是面向库存异常、设备告警和运营工单的智能运营处置 Agent 独立作品仓库。

> 当前状态:库存补货、设备维修、作业异常恢复三条 FastAPI + 单根 LangGraph + 最小 LangChain + FastMCP + PostgreSQL/pgvector 闭环、演示 JWT/RBAC、Agent Trace、本地 React 控制台、Redis 只读证据缓存和真实 FastEmbed RAG 已有自动化证据。少量 Moonshot AI `kimi-k2.6` 代表验证覆盖三业务只读、库存批准写入和无效 provider fail-closed,未回退 Mock 冒充成功。[PR #17](https://github.com/KXHXK/opercerta/pull/17) 合入发布准备修订;最新 [main CI](https://github.com/KXHXK/opercerta/actions/runs/30539160493) 在 `b6aa5fa` 上通过 667 条后端测试、19 个前端测试文件/60 条用例、9/9 冻结 Agent 评测和真实 Compose 构建、三业务数据库副作用与 API/MCP 重启恢复。[零成本静态项目专题](https://opercerta-kxh.netlify.app)已于 2026-07-30 晋级 deploy `6a6b17cf496c38056f737264`,安全头和资源 SHA-256 已经公网复验;[单页作品集](https://kxh-agent-portfolio.netlify.app)继续可只读访问。公开页面不提供后端写入口;生产身份、交互 HTTPS 后端、自动部署和公开 API 尚未完成,生产发布门禁:`CLOSED`。
> 当前状态:库存补货、设备维修、作业异常恢复三条 FastAPI + 单根 LangGraph + 最小 LangChain + FastMCP + PostgreSQL/pgvector 闭环、演示 JWT/RBAC、Agent Trace、本地 React 控制台、Redis 只读证据缓存和真实 FastEmbed RAG 已有自动化证据。少量 Moonshot AI `kimi-k2.6` 代表验证覆盖三业务只读、库存批准写入和无效 provider fail-closed,未回退 Mock 冒充成功。[PR #18](https://github.com/KXHXK/opercerta/pull/18) 合入最终静态发布证据;最新 [main CI](https://github.com/KXHXK/opercerta/actions/runs/30541088053) 在 `298fc59` 上通过 667 条后端测试、19 个前端测试文件/60 条用例、9/9 冻结 Agent 评测和真实 Compose 构建、三业务数据库副作用与 API/MCP 重启恢复。[零成本静态项目专题](https://opercerta-kxh.netlify.app)已晋级 deploy `6a6b17cf496c38056f737264`,安全头和资源 SHA-256 已经公网复验;[Showcase 预发布 v0.1.0-showcase.1](https://github.com/KXHXK/opercerta/releases/tag/v0.1.0-showcase.1)精确指向该已验证提交。公开页面不提供后端写入口;生产身份、交互 HTTPS 后端、自动部署和公开 API 尚未完成,产品生产发布门禁:`CLOSED`。

## 当前已验证范围

Expand All @@ -40,7 +41,7 @@ OperCerta 是面向库存异常、设备告警和运营工单的智能运营处

## 下一实施边界

下一阶段仍只实施 OperCerta。单根 Agent 纠偏已经合并,main Compose 和新版静态专题生产发布均已通过;下一步完成用户手动演示、源码讲解与口述掌握检查,再整理 Release Tag、简历话术和五分钟演示材料。是否建设公网可写 HTTPS 后端仍需单独选择托管环境并审批成本与安全治理。生产 IAM、限流/防滥用、备份、高可用、自动部署和正式 Release Tag 仍待完成。生产发布门禁为 `CLOSED`,关闭前不启动其他项目。
下一阶段仍只实施 OperCerta。单根 Agent 纠偏、main Compose、静态专题发布与 `v0.1.0-showcase.1` Showcase 预发布均已通过;下一步只做用户手动业务演示、源码讲解与口述掌握检查,并录制 3–5 分钟演示、定稿简历话术。是否建设公网可写 HTTPS 后端仍需单独选择托管环境并审批成本与安全治理。生产 IAM、限流/防滥用、备份、高可用、自动部署和产品级正式 Release 仍待完成。产品生产发布门禁为 `CLOSED`,关闭前不把静态展示误报为生产系统。

三业务收口规格与八项 TDD 主计划见 [设计](docs/superpowers/specs/2026-07-20-opercerta-three-business-release-design.md)和[计划](docs/superpowers/plans/2026-07-20-opercerta-three-business-release.md)。历史库存切片设计仍作为可靠性内核演进记录保留。

Expand Down
8 changes: 8 additions & 0 deletions docs/development-log/current-state.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# OperCerta 当前状态

## 2026-07-31:Showcase Pre-release 已发布,自动化工程收口

[PR #18](https://github.com/KXHXK/opercerta/pull/18) 已合入 main `298fc5978a56961d36e73888f4ae73017e302715`;[main run 30541088053](https://github.com/KXHXK/opercerta/actions/runs/30541088053) 的 repository-safety、python-quality、frontend、backend-tests、compose-smoke 五项全部成功。证据仍为完整后端 `667 passed`、三业务固定契约、冻结 Agent 安全/恢复评测 `9/9`、前端 19 文件/60 条,以及隔离 Compose 的三业务数据库副作用、API/MCP 重启恢复和无条件清理。

[Showcase 预发布 `v0.1.0-showcase.1`](https://github.com/KXHXK/opercerta/releases/tag/v0.1.0-showcase.1) 已创建并精确指向 `298fc59`。Netlify 公开静态专题保持 production deploy `6a6b17cf496c38056f737264`,六项安全头、资源 SHA-256 和三个静态路由已核验;上一 production `6a6631d24958714a43ddc508` 保留为回滚点。

状态必须分开表达:求职代码仓库、静态展示、固定评测和可重复本地三业务演示的自动化工程门禁已经通过;个人源码掌握、完整手动实演、3–5 分钟录屏和简历定稿仍需用户亲自完成。公网可写 FastAPI、生产 IAM、限流、防滥用、备份、高可用、自动部署和 SLA 仍未实现,产品 production release gate 保持 `CLOSED`。

## 2026-07-30:发布准备已合并,静态 Production 已晋级

[PR #17](https://github.com/KXHXK/opercerta/pull/17) 全部必需检查通过,并以普通 merge commit `b6aa5fa13c7645bd3351092fc23b6c3e132a284d` 合入 main。[main run 30539160493](https://github.com/KXHXK/opercerta/actions/runs/30539160493) 五项全绿:完整后端 `667 passed`、三业务契约 `1 passed`、冻结 Agent 评测 `9/9`、前端 19 文件/60 条,以及实际 Compose 构建、三业务数据库副作用、API/MCP 重启恢复与清理。
Expand Down
26 changes: 26 additions & 0 deletions docs/development-log/daily/2026-07-31.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# OperCerta 开发日志:2026-07-31

## 今日目标

只收口 OperCerta 的求职展示工程,不扩展新业务、不启动 ForenTrail。把最终 main、远程 CI、Netlify 静态发布、GitHub Showcase 版本和下一学习任务统一成可追溯事实。

## 完成事项

- 复核 [PR #18](https://github.com/KXHXK/opercerta/pull/18) 已合入 main `298fc5978a56961d36e73888f4ae73017e302715`。
- 复核 [main run 30541088053](https://github.com/KXHXK/opercerta/actions/runs/30541088053) 五项 job 全部成功:后端 `667 passed`、三业务固定契约、冻结 Agent `9/9`、前端 19 文件/60 条,以及真实 Compose 三业务数据库副作用和 API/MCP 重启恢复。
- 复核 Netlify 静态 production deploy `6a6b17cf496c38056f737264`;上一 production `6a6631d24958714a43ddc508` 继续作为回滚点。
- 首次创建 GitHub Release 时远端返回 502;保持本地状态不变后重试成功,发布 [Showcase 预发布 `v0.1.0-showcase.1`](https://github.com/KXHXK/opercerta/releases/tag/v0.1.0-showcase.1),tag 与 release target 均精确指向 `298fc59`。
- 将版本、最终 CI、诚实发布边界和可直接使用的简历项目表述同步到 README、handoff、当前状态、CI 证据和面试讲解。

## 门禁结论

- 求职静态展示与自动化工程门禁:`PASSED`。代码仓库、公开只读专题、固定评测、main Compose 证据和可回退的 Showcase 版本均存在。
- 个人掌握门禁:`PENDING`。文档和代码已就绪,但必须由本人完成一次完整业务实演、一次失败/重启实验、源码链路复述和追问演练。
- 产品生产发布门禁:`CLOSED`。公网可写 FastAPI、生产 IAM、限流、防滥用、备份、高可用、自动部署和 SLA 未完成;静态 Showcase 不得被表述为生产系统。

## 下一步

1. 按核心技术手册和实验手册完成约 90 分钟的源码级掌握检查。
2. 独立演示一条完整业务闭环与一次 MCP/进程重启恢复,并能解释数据库后置条件。
3. 录制 3–5 分钟演示,使用面试讲解中的简历表述定稿简历。
4. 上述求职交付完成前继续只处理 OperCerta 收口,不扩展产品生产范围。
11 changes: 9 additions & 2 deletions docs/learning/opercerta-interview-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## 30 秒版本

“OperCerta 是我用 FastAPI、LangGraph、最小 LangChain、FastMCP、PostgreSQL/pgvector、Redis 和 React 实现的可恢复运营处置 Agent。它跑通库存补货、设备维修、作业异常恢复三条闭环:确定性检测先发现异常,Plan-and-Execute Agent 受控取证,人工审批绑定快照,批准后重新复核,再幂等写工单。最新 main 有 667 条后端测试、19 个前端测试文件/60 条用例、9/9 Agent 冻结评测和真实 Compose 重启证据;Real Kimi 的三业务只读、库存批准写入和无效 provider fail-closed 做过少量代表验证。公网可写后端仍未上线。”
“OperCerta 是我用 FastAPI、LangGraph、最小 LangChain、FastMCP、PostgreSQL/pgvector、Redis 和 React 实现的可恢复运营处置 Agent。它跑通库存补货、设备维修、作业异常恢复三条闭环:确定性检测先发现异常,Plan-and-Execute Agent 受控取证,人工审批绑定快照,批准后重新复核,再幂等写工单。最新 main 有 667 条后端测试、19 个前端测试文件/60 条用例、9/9 Agent 冻结评测和真实 Compose 重启证据;Real Kimi 的三业务只读、库存批准写入和无效 provider fail-closed 做过少量代表验证,并发布了 `v0.1.0-showcase.1` 只读静态 Showcase 预发布。公网可写后端仍未上线。”

## 3 分钟版本

Expand All @@ -11,7 +11,7 @@
3. **可靠性:** 非法输入在边界失败;审批用行锁保证一个胜者;审批绑定包含证据/规则/事实/计划哈希;批准后绕过缓存重读 MCP;工单用确定性幂等键和唯一约束保证重放不多写。
4. **恢复:** 业务 operation UUID 同时作为 LangGraph thread ID。启动扫描非终态业务表,再从 checkpoint 继续;业务表是真相,checkpoint 是执行进度。
5. **证据:** 原三业务 42 条固定合成评测之外,新增 9 类 Agent 轨迹评测,覆盖非法 schema、提示注入、未知工具、对象漂移、RAG 隔离、审批后漂移、竞态、幂等和重启;Compose 使用真实 FastEmbed/pgvector RAG。
6. **边界:** 本地 Mock 闭环、真实 RAG/数据库/MCP 和少量 Kimi 兼容路径已验证;真实调用样本不足以形成准确率、SLA 或成本结论。生产 IAM、公开 HTTPS 后端、高可用和 Release Tag 尚未完成。
6. **边界:** 本地 Mock 闭环、真实 RAG/数据库/MCP 和少量 Kimi 兼容路径已验证;真实调用样本不足以形成准确率、SLA 或成本结论。`v0.1.0-showcase.1` 是只读静态 Showcase 预发布,不代表生产 IAM、公开 HTTPS 后端、高可用或产品级正式 Release 已完成。

## 10 分钟深挖提纲

Expand Down Expand Up @@ -110,6 +110,13 @@ OperCerta 不是把聊天框贴到工单系统上,而是解决仓储异常调
5. 展示一个自动化测试或 42 条报告,而不是滚动大量终端;
6. 主动说明三业务只读、库存批准写入和无效 provider fail-closed 只做过本地代表性验证,公网后端/生产 IAM 仍未完成。

## 简历项目表述(通过个人掌握检查后使用)

- 基于 FastAPI、LangGraph、最小 LangChain Tool Calling、FastMCP、PostgreSQL/pgvector、Redis 与 React,实现库存、设备、作业三类异常的可恢复运营处置 Agent;以受控只读取证、人工审批绑定、批准后复核和幂等事务约束高风险写入。
- 建立 42 条固定三业务契约、9/9 冻结 Agent 安全/恢复评测与 GitHub Actions main Compose 门禁;验证 API/MCP 重启恢复和工单业务有效一次,并以 `v0.1.0-showcase.1` 发布只读静态展示。

展示入口:[OperCerta 专题](https://opercerta-kxh.netlify.app)、[GitHub 仓库](https://github.com/KXHXK/opercerta)、[Showcase 预发布](https://github.com/KXHXK/opercerta/releases/tag/v0.1.0-showcase.1)。在完成下方检查前,只陈述已经实现和验证的项目事实,不在简历中使用“精通”、生产级 SLA 或未经测量的准确率、性能和成本数字。

## 个人掌握检查

只有能不看稿画链路、解释审批绑定、亲手完成一个业务/规则修改/MCP 故障实验,并回答“为什么不会多写工单”,才把个人熟练度写进简历。文档完成不等于个人已掌握。
8 changes: 8 additions & 0 deletions docs/release-evidence/github-actions-ci.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# GitHub Actions 分层 CI:远程验证证据

## 2026-07-31 最终证据合并与 Showcase Pre-release

- [PR #18](https://github.com/KXHXK/opercerta/pull/18) 已合入 main `298fc5978a56961d36e73888f4ae73017e302715`,未绕过检查。
- [main run 30541088053](https://github.com/KXHXK/opercerta/actions/runs/30541088053) 的 `repository-safety`、`python-quality`、`frontend`、`backend-tests`、`compose-smoke` 五个 job 全部为 `success`。
- 远程门禁继续记录完整后端 `667 passed`、三业务固定契约、冻结 Agent 安全/恢复评测 `9/9`、前端 19 个测试文件/60 条用例和 Vite production build;`compose-smoke` 实际验证三业务数据库副作用、API/MCP 重启恢复并清理隔离资源。
- [Showcase 预发布 `v0.1.0-showcase.1`](https://github.com/KXHXK/opercerta/releases/tag/v0.1.0-showcase.1) 为非草稿 prerelease,tag 与 release target 均精确指向 `298fc59`。
- 本节证明可复现的求职静态展示和本地单节点 Agent 发布候选,不证明公网可写后端、生产 IAM、限流、备份、高可用、SLA 或产品级正式发布。

## 2026-07-30 发布准备 PR #17 与最新 main 总门禁

- [PR #17](https://github.com/KXHXK/opercerta/pull/17) 的 `repository-safety`、`python-quality`、`frontend`、`backend-tests` 全部成功,`compose-smoke` 按 PR 事件规则跳过;随后以普通 merge commit `b6aa5fa13c7645bd3351092fc23b6c3e132a284d` 合入 main,未绕过检查。
Expand Down
Loading