diff --git a/PLAN.md b/PLAN.md index 6b39ad9..2649700 100644 --- a/PLAN.md +++ b/PLAN.md @@ -2,13 +2,13 @@ 更新时间:2026-10-25(Asia/Shanghai)。本文件是用户指定的计划入口,文件名固定为大写 `PLAN.md`。本次按 [ROADMAP](docs/ROADMAP.md) 的 ENG-00 至 ENG-06 顺序执行;当前事实和实际检查结果见 [STATUS](docs/STATUS.md),详细证据见 [verification](docs/verification.md)。下方保留前两轮历史台账,不把历史限制误当成本轮授权。 -## 当前阶段:ENG-05 alpha 源码候选 +## 当前状态:ENG-00 至 ENG-06 已完成 -- 前置:[PR #11](https://github.com/IsaacHuo/OpenLab/pull/11) 修复和 [PR #12](https://github.com/IsaacHuo/OpenLab/pull/12) 数据/权限验收均在精确 PR CI 全通过、无待解决讨论后合并。ENG-04 的 30 项边界测试通过;新基线为 main `14b8a65`。 -- 范围:统一 `VERSION`、npm 根版本、OpenAPI 版本元数据为 `0.1.0-alpha.1`,整理双语启动说明、第三方清单、预览限制和带日期的 changelog;不改变 API 形状或数据库/档案版本。 -- 完成条件:候选只含明确纳入的源码,第三方声明和使用边界完整;本地全检查及精确候选 PR CI 通过后合并。 -- 精确验证:`npm run check`、`npm run build`、`npm run test:browser`、`npm run check:actions`、`npm run check:secrets`、`git diff --check`;核对源代码档案与版本一致性。 -- 交付:候选 PR;随后 ENG-06 等精确 main 的 push CI 通过,再 `npm run release:check -- 0.1.0-alpha.1` 并按既有工作流源码预发布,核对 tag、提交和 prerelease 标志。 +- 已发布:[v0.1.0-alpha.1 源码预览](https://github.com/IsaacHuo/OpenLab/releases/tag/v0.1.0-alpha.1),2026-10-25 15:17(Asia/Shanghai)。这是科研源码 alpha,不含安装包或托管部署。 +- 交付:[PR #11](https://github.com/IsaacHuo/OpenLab/pull/11)、[PR #12](https://github.com/IsaacHuo/OpenLab/pull/12)、[PR #13](https://github.com/IsaacHuo/OpenLab/pull/13) 均在精确 PR CI 全通过、无待解决讨论后合并。 +- 验证:本地 check(57 项 Node)、build、browser(13 项)、actionlint、Gitleaks、npm audit(零漏洞)通过;ENG-04 的 30 项边界测试通过。并发材料选择与跨文档对比回归均先失败后通过。 +- 发布门槛:[候选 CI](https://github.com/IsaacHuo/OpenLab/actions/runs/40171822447)、[精确 main push CI](https://github.com/IsaacHuo/OpenLab/actions/runs/40172012839)、release dry-run 与[发布工作流](https://github.com/IsaacHuo/OpenLab/actions/runs/40172172425) 均成功。 +- 精确身份:带注释 tag `v0.1.0-alpha.1` 指向 `0e6f348612b56ac17e848c88fd9a3034b61bfc56`;GitHub Release 为非草稿 prerelease。源码档案排除研究数据、凭据、本地工具及运行时二进制;版本与 OpenAPI 元数据一致,API 形状和数据库/档案版本未变。 ## 阶段清单 @@ -19,8 +19,8 @@ | ENG-02 文档口径 | 已完成 | 能力、限制、版本及历史证据对齐,文档检查通过 | | ENG-03 构建与浏览器 | 已完成 | CI 独立准备 TeX;跨文档对比回归先失败后通过;本地 13 项和远程门槛通过,PR #11 已合并 | | ENG-04 数据与权限 | 已完成 | 30 项边界测试通过,验收表/预览限制和大写 PLAN 入口在 PR #12 通过全部 CI 后合并 | -| ENG-05 alpha 候选 | 进行中 | 统一版本 `0.1.0-alpha.1`、启动说明、许可和发布说明;完整检查、构建、浏览器、actionlint、Gitleaks 及精确候选 CI | -| ENG-06 源码预发布 | 待 ENG-05 | 精确 main 的 push CI、release dry-run 通过后,按既有工作流创建不可变 tag 和 GitHub prerelease,核对版本/提交/说明一致 | +| ENG-05 alpha 候选 | 已完成 | 统一版本、双语启动、许可和发布边界;修复字体证书下载及并发材料选择问题,PR #13 全 CI 通过后合并 | +| ENG-06 源码预发布 | 已完成 | 精确 main push CI 和 dry-run 通过,既有发布工作流成功,tag/提交/版本/预发布标志一致 | ## 执行约束和完成边界 @@ -28,6 +28,8 @@ 本轮完成对象是 ENG-00 至 ENG-06 的源码预览路线,不将第二检索源、研究全文提取、任意代码执行、动态外部插件、多 Agent、安装包和团队部署等远期候选视为已经实现。候选须另行具备明确需求及验收。 +本轮没有未完成的路线图任务。后续从实际研究需求选择一个独立候选,再定义输入输出、失败边界和验收;当前不自动扩大范围。现有分块体积提示及本机冷下载 TLS/撤销查询限制继续记录在 STATUS,未将其写成通用兼容性保证。 + ## 历史:产品完善与插件工作台(2026-10-24) 状态:两轮实施完成,2026-10-24。基于当前工作区增量实现,保留已有未提交改动;完成后保留本文件。 diff --git a/README.md b/README.md index a7c141a..0c553a0 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,8 @@ OpenLab is a local-first research workspace being designed to connect open resea **This source is the v0.1.0-alpha.1 research preview.** It runs locally with Node.js 24 and a browser; no installer is provided. The historical v0.0.1 release remains foundation-only. See the [changelog](CHANGELOG.md) for the preview boundary and [PLAN](PLAN.md) for delivery progress. +The [published source prerelease](https://github.com/IsaacHuo/OpenLab/releases/tag/v0.1.0-alpha.1) includes the reviewed notes and GitHub source archives. + The preview combines projects, a supervised Harness, DeepSeek-tested model configuration, Crossref metadata retrieval, plan confirmation, source-linked Markdown reports and portable research archives. See [development](docs/development.md) and the [implementation plan](docs/implementation-plan.md) for tested scope and remaining gates. | Capability | Status | diff --git a/README.zh-CN.md b/README.zh-CN.md index fd2a2c2..152c4e5 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -25,6 +25,8 @@ OpenLab 致力于建立本地优先的科研工作空间,将已有的开源科 **当前源码为 v0.1.0-alpha.1 科研预览。** 使用 Node.js 24 和浏览器在本地运行,尚不提供安装包。历史 v0.0.1 仅交付仓库基础设施;预览边界见[变更日志](CHANGELOG.md),交付进度见[PLAN](PLAN.md)。 +[已发布的源码预览](https://github.com/IsaacHuo/OpenLab/releases/tag/v0.1.0-alpha.1)提供已审阅的发布说明和 GitHub 源码档案。 + | 能力 | 状态 | | --- | --- | | 贡献指南、Issue/PR 模板与发布流程 | 本仓库提供 | diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 73c115b..97fd5d8 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -1,12 +1,14 @@ # OpenLab 长期开发路线图 -本文件整理已有项目的后续工作,不重新立项。首次检查日期:2026-10-25;当时基于分支 `codex/research-acceptance`、HEAD `ac2b5274f4693f1b0c7cca3c26f4cac131ffd0a7` 及已有未提交实现。随后 ENG-01 按用户授权完成项目提交和推送;实现提交为 `22d6db524c08abfd4976bded081cf415b25919c1`,交接提交为 `1574645b8b8bc4da9b7559d7794540e75775724c`,[PR #11](https://github.com/IsaacHuo/OpenLab/pull/11) 尚未合并。任务执行状态统一记录在 [STATUS](STATUS.md)。ENG-02 仅对齐文档,不自动提交、推送、合并 main 或发布版本。 +本文件整理已有项目的任务合同,不重新立项。首次检查日期:2026-10-25;当时基于分支 `codex/research-acceptance`、HEAD `ac2b5274f4693f1b0c7cca3c26f4cac131ffd0a7` 及已有未提交实现。ENG-01 随后按用户授权提交和推送,实现提交为 `22d6db524c08abfd4976bded081cf415b25919c1`,交接提交为 `1574645b8b8bc4da9b7559d7794540e75775724c`;ENG-02 检查时 [PR #11](https://github.com/IsaacHuo/OpenLab/pull/11) 尚未合并,且该文档阶段没有自动推送或发布。任务执行状态统一记录在 [STATUS](STATUS.md)。 + +2026-10-25 后续执行结果:用户授权连续推进后,ENG-00 至 ENG-06 已全部完成;PR #11、#12、#13 均通过必需检查后合并,精确 main CI 和 release dry-run 通过后发布了 [v0.1.0-alpha.1 源码预览](https://github.com/IsaacHuo/OpenLab/releases/tag/v0.1.0-alpha.1)。上段保留首次规划和 ENG-02 时的历史语境;当前进度以根 [PLAN.md](../PLAN.md) 和 STATUS 为准。以下任务合同保留,不重复实施已完成阶段。 ## 目标与现有基线 长期目标沿用[原始愿景](vision.zh-CN.md):让研究项目、证据和成果由用户持有,模型、工具、运行时和界面可以替换。近期目标是把已经可运行的本地研究与文档工作台收敛为可复核、可维护的研究预览,再通过既有发布门槛准备 `v0.1.0-alpha.1`。 -当前源码已有 TypeScript/Node.js 24、React/Vite、SQLite 与普通文件、受监督 Harness、Crossref、计划确认、来源追溯、导入导出,以及连续研究上下文、静态插件、Markdown/LaTeX 编辑、修订比较、BusyTeX 与 PDF.js;后两轮实现已纳入 PR #11。详细进度和验证边界见 [STATUS](STATUS.md),不把这些能力重新列为待开发。2026-10-25 检查发现该 PR 浏览器 CI 为 11 项通过、1 项失败;本地 57/12 的历史结果不代表合并门槛通过。 +当前源码已有 TypeScript/Node.js 24、React/Vite、SQLite 与普通文件、受监督 Harness、Crossref、计划确认、来源追溯、导入导出,以及连续研究上下文、静态插件、Markdown/LaTeX 编辑、修订比较、BusyTeX 与 PDF.js;后两轮实现已纳入 PR #11。详细进度和验证边界见 [STATUS](STATUS.md),不把这些能力重新列为待开发。早期 CI 的 11/12 失败与本地 57/12 记录保留在验证文档;后续候选和精确 main 检查已通过 57 项 Node 和 13 项浏览器,不以历史结果替代新门槛。 ## 文档分工 diff --git a/docs/STATUS.md b/docs/STATUS.md index e71b3c0..d626bee 100644 --- a/docs/STATUS.md +++ b/docs/STATUS.md @@ -1,44 +1,40 @@ # OpenLab 当前状态与交接 -更新时间:2026-10-25(Asia/Shanghai)。当前任务 **ENG-05:alpha 源码候选准备**。ENG-04 的 [PR #12](https://github.com/IsaacHuo/OpenLab/pull/12) 已通过全部必需检查并合并,当前准备 `0.1.0-alpha.1` 版本身份、启动说明、许可和发布材料。计划入口为根 [PLAN.md](../PLAN.md),详细任务合同见 [ROADMAP](ROADMAP.md),约束见 [DECISIONS](DECISIONS.md)。 +更新时间:2026-10-25(Asia/Shanghai)。**本轮 ENG-00 至 ENG-06 已全部完成**,[v0.1.0-alpha.1 科研源码预览](https://github.com/IsaacHuo/OpenLab/releases/tag/v0.1.0-alpha.1) 已发布。当前仅整理最终文档交接。根 [PLAN.md](../PLAN.md) 是用户指定的计划入口;任务合同保留在 [ROADMAP](ROADMAP.md),约束见 [DECISIONS](DECISIONS.md)。 -## Git、授权与交付边界 +## 交付与版本身份 -- 当前分支:`codex/alpha-source-candidate`,起点为 main `14b8a652f63c196b1746878f376bab259a141192`([PR #12](https://github.com/IsaacHuo/OpenLab/pull/12) squash 合并)。此前 PR #11 交付实现、ENG-02 文档和 ENG-03 修复。 -- 用户已授权按 ENG-00 至 ENG-06 顺序提交、PR、必需检查通过后合并,满足候选和精确 main CI 门槛后源码预发布;不绕过规则,不调用付费模型,不把远期候选当成已批准功能。 -- Windows x64、Node.js `24.19.0`、npm `11.17.0`;沿用锁文件和已有依赖,未升级依赖。 -- 原小写根计划已按用户要求更名为大写 `PLAN.md`,顶部补当前阶段和验收出口,保留两轮历史台账并同步链接。README 中英文导航已同步。 -- 用户研究数据、保护凭据、本地 Skills/hooks、未选稿、缓存和测试产物保留本机,不纳入源码交付。档案 v2 与 SQLite `user_version=1` 独立;v1 导入兼容。 +- PR #11(实现、文档对齐、构建/浏览器修复)、#12(数据/权限验收、大写 PLAN)和 #13(alpha 候选及候选失败修复)均在精确 PR CI 全通过、无待解决讨论后 squash 合并。 +- 发布源码:`0e6f348612b56ac17e848c88fd9a3034b61bfc56`。带注释 tag `v0.1.0-alpha.1` 的对象为 `de7a92e79707af54e55b868464baa7392bee3748`,远程与本地解引用均指向该源码提交。版本文件、npm 根版本和 OpenAPI 元数据一致。 +- GitHub Release 于 2026-10-25 15:17(Asia/Shanghai)发布,非草稿、prerelease,无二进制附件;提供源码档案,不提供安装包或托管部署。活动 v* tag 规则禁止更新/删除。 +- 当前最终交接分支:`codex/source-preview-handoff`,基于发布提交,仅改文档;后续 main 文档提交不改变已发布 tag。 +- 用户已授权逐阶段提交、PR、检查通过后合并及满足门槛的源码预发布。本轮未调用付费模型,未修改或发布用户研究数据,未使用子 Agent。 -## 任务状态 +## 阶段结果 -| ID | 状态 | 交接 | +| ID | 状态 | 交付 | | --- | --- | --- | -| ENG-00 | 已完成 | 协作入口及架构约束已交付 | -| ENG-01 | 已完成 | 既有实现盘点、提交、推送,PR #11 已合并 | -| ENG-02 | 已完成 | 文档能力、限制、版本和历史证据对齐;三项文档检查通过 | -| ENG-03 | 已完成 | 本地 57 项 Node、13 项浏览器、构建和检查通过;精确 PR CI 全通过后合并 | -| ENG-04 | 已完成 | 30 项边界测试通过,验收映射和大写 PLAN 入口在 PR #12 通过 CI 后合并 | -| ENG-05 | 进行中 | 固定字体镜像已通过远程准备和真实编译;随后 CI 暴露并发材料选择覆盖,确定性回归先失败后通过,正在复验候选 | -| ENG-06 | 待开始 | 已授权按门槛发布;依赖 ENG-05、release dry-run 与精确 main push CI | - -## 本轮实际验证 - -- ENG-03:`npm run check`(57 项 Node,0 失败/跳过)、`npm run build`、`npm run test:browser`(13 项)、`npm run check:actions`、`npm run check:secrets`、`git diff --check` 通过。桌面/平板/手机文档截图已检查。 -- [CI 40170016084](https://github.com/IsaacHuo/OpenLab/actions/runs/40170016084):head `73ad1658c7f9f3d4d283d5221af4922668661a99` 的 Windows/Linux、独立 TeX 准备、13 项浏览器、actionlint、Gitleaks、required-checks 全通过。该结果不替代后续文档和版本候选的 CI。 -- ENG-04:`node --test app/tests/platform.test.ts app/tests/runtime.test.ts app/tests/service.test.ts app/tests/store.test.ts app/tests/documents.test.ts app/tests/context.test.ts app/tests/workflow.test.ts`:30 项通过,0 失败/跳过。均使用隔离受控夹具,未调用真实模型。 -- [CI 40170593908](https://github.com/IsaacHuo/OpenLab/actions/runs/40170593908):PR #12 head `b1373907f448642991c55840d2c9893c7af1d4b0` 的全部必需检查通过,已合并为 main `14b8a65`。 -- 本阶段 `npm.cmd run lint:markdown`(36 份)、`npm.cmd run check:repository`(159 个文件)及 `git diff --check` 通过,大写路径和链接已核对;详细阶段证据见 [verification](verification.md),alpha 门槛映射见 [acceptance](acceptance.md#alpha-data-and-permission-gates-eng-04-2026-10-25)。 -- ENG-05 候选:`npm run check`(57 项)、build、browser(13 项)、actionlint、Gitleaks、npm audit(零漏洞)和空白检查通过;版本/OpenAPI 一致、依赖图未变及 154 个源码路径的排除检查通过。尚未发布;精确候选和 main CI 不用历史结果替代。 -- PR #13 首次 CI `40171037488`:仓库、actionlint、Gitleaks 通过;准备字体的一个分片 curl 60,浏览器未启动。改用固定 MIT CTAN 镜像,Node HTTPS 实取的 4,947,904 字节与既有 SHA-256 完全一致;TLS 验证保持开启。修复后 check(57 项)、actionlint、空白检查再次通过,等待新远程验证。 -- 后续 CI `40171390131`:固定字体准备和真实 TeX 通过,材料选择场景失败,整体 12/13。受控并发上传回归复现旧状态覆盖;修复为基于最新选择合并,针对场景、类型检查、构建及完整 13 项浏览器再次通过;等待新 head CI。 - -## 限制与下一动作 - -- 早期 XeLaTeX CI 超时的精确原因没有被日志证明;分离准备后的新 CI 已通过。隔离本地冷下载仍观察到 curl 35 TLS 错误,缓存分片保留,明确重试可续传;不把本地 TLS 故障等同于旧 CI 根因。 -- 预览范围保持 Windows 凭据保护、单 Crossref 元数据提供商、具日期的 DeepSeek 非思考模式兼容;没有通用全文/科学论点核实、任意代码、动态插件隔离、多 Agent、安装包或团队部署。Supervisor-Skills 不随源码分发。 -- 现有超过 500 kB 的分块提示保留;尚无用户性能测量,不为发布引入无目标重构。 -- 下一动作:执行 ENG-05 的完整候选检查,建立候选 PR,通过后合并;ENG-06 继续等待精确 main push CI 和 release dry-run。 +| ENG-00 | 已完成 | 协作规则、路线图、状态和决策入口 | +| ENG-01 | 已完成 | 既有实现分类、提交和推送;本地工具及数据排除 | +| ENG-02 | 已完成 | 能力、请求限制、档案/数据库版本与历史证据口径一致 | +| ENG-03 | 已完成 | 独立 TeX 准备、失败证据留存及跨文档比较修复;本地/远程验收通过 | +| ENG-04 | 已完成 | 30 项边界测试与验收映射,PLAN 大写更名及双语入口,PR #12 已合并 | +| ENG-05 | 已完成 | 候选身份、许可与说明;固定字体镜像及并发材料选择修复;PR #13 全检查通过后合并 | +| ENG-06 | 已完成 | 精确 main push CI、release dry-run、发布工作流和 tag/Release 身份核验通过 | + +## 实际验证 + +- 本地:Windows x64、Node.js `24.19.0`、npm `11.17.0`。check(57 项 Node,0 失败/跳过)、build、browser(13 项)、actionlint 1.7.12、Gitleaks 8.30.1、npm audit(零漏洞)、Markdown/仓库和空白检查通过。跨文档对比与确定性并发上传回归均先失败后通过;类型/构建及完整浏览器在对应修复后重跑通过。 +- alpha 专项:既定七文件 `node --test` 命令 30 项通过;计划确认、权限拒绝、重放、取消/重启、凭据隔离、人工修订、v1/v2 往返与跨项目引用均有证据。完整映射见 [acceptance](acceptance.md#alpha-data-and-permission-gates-eng-04-2026-10-25)。 +- [候选 CI 40171822447](https://github.com/IsaacHuo/OpenLab/actions/runs/40171822447)(head `bba97f0`)和[精确 main push CI 40172012839](https://github.com/IsaacHuo/OpenLab/actions/runs/40172012839)(源码 `0e6f348`)均通过全部必需检查,包含新环境字体准备与真实编译。 +- `npm.cmd run release:check -- 0.1.0-alpha.1` 在干净、精确 main 源码上通过;[发布工作流 40172172425](https://github.com/IsaacHuo/OpenLab/actions/runs/40172172425) 成功;发布结果、注释 tag 及活动 tag 保护规则已读取核对。 +- 实际发布 tag 源码 tar 检查通过:PLAN/许可文件存在;本地数据、凭据、Skills/hooks、依赖、缓存、构建、测试和编译器/字体二进制不在档案中。原始愿景与前置 main 的 Git blob 一致。详细证据及历史失败见 [verification](verification.md#source-preview-release-eng-06-2026-10-25)。 + +## 限制与后续 + +- 仍为 Windows 优先、Crossref 元数据研究和具日期的 DeepSeek 非思考模式兼容;通用全文、科学论点核实、任意代码、动态插件隔离、多 Agent、安装包及团队部署均为远期候选。Supervisor-Skills 未分发;数据库版本 1、导出档案 v2、导入 v1/v2 保持原兼容边界。 +- 本机隔离冷下载遇到 TLS/撤销查询错误;已有缓存和新 Linux CI 的真实准备/编译通过。字体固定 MIT 镜像的实取字节与原 SHA-256 一致,TLS 检查未关闭。JavaScript 超过 500 kB 的已有分块提示保留。 +- 本轮没有未完成的路线图任务或发布阻塞。下一动作:保留发布身份,从实际研究需求选择一个远期候选,单独定义输入输出、失败边界和验收后再开发,不重复本轮阶段。 ## 保留的本地预览记录 diff --git a/docs/acceptance.md b/docs/acceptance.md index 2badb30..48a32e6 100644 --- a/docs/acceptance.md +++ b/docs/acceptance.md @@ -2,6 +2,8 @@ Scope: the first local research loop in [product](product.md), with the explicit preview limits below. This record does not claim completion of the founding vision's later compute, multi-agent, institutional or ecosystem phases. +[v0.1.0-alpha.1](https://github.com/IsaacHuo/OpenLab/releases/tag/v0.1.0-alpha.1) was published on 2026-10-25 from `0e6f348612b56ac17e848c88fd9a3034b61bfc56` after the exact candidate and main push CI, release dry-run and release workflow passed. The final 13 browser scenarios include deterministic concurrent-material selection and cross-document comparison regressions. The preview limits below remain applicable; this publication adds no new live provider or full-text compatibility claim. + As of 2026-10-25, ENG-03 passed 57 Node tests and 13 browser scenarios locally. [PR #11 checks](https://github.com/IsaacHuo/OpenLab/actions/runs/40170016084) passed Windows/Linux repository validation, independently prepared compiler resources, all 13 browser scenarios, actionlint, Gitleaks and required-checks. PR #11 was squash merged as `c9a96f3ca22fd85276ca9fb09defa1a541bd08c1`. The earlier first-compilation timeout and its evidence remain historical in [verification](verification.md). No additional live model calls were made. The current task is in [PLAN](../PLAN.md). ## Evidence matrix diff --git a/docs/development.md b/docs/development.md index b487a75..bdd212e 100644 --- a/docs/development.md +++ b/docs/development.md @@ -1,6 +1,6 @@ # Application development -The v0.0.1 release remains foundation-only. Current source includes the React/assistant-ui research workspace, platform archive, generic Harness, supervised worker and local research API. There is no installer yet. Follow the [implementation plan](implementation-plan.md) for remaining gates. +The [v0.1.0-alpha.1 source preview](https://github.com/IsaacHuo/OpenLab/releases/tag/v0.1.0-alpha.1) includes the React/assistant-ui research workspace, platform archive, generic Harness, supervised worker, local research API and document plugins. It is a source release with no installer. The historical v0.0.1 remains foundation-only. See [PLAN](../PLAN.md) for completed delivery stages and [acceptance](acceptance.md) for the preview boundary. ## Run checks @@ -17,7 +17,7 @@ The check includes strict TypeScript validation, documentation validation and No Browser acceptance uses an installed Chrome through Playwright. Set `OPENLAB_BROWSER_CHANNEL` to another installed Chromium channel if necessary. The synthetic server uses a separate temporary data root and no provider credential. Tests cover desktop and 390-pixel drawers, plan confirmation, structured questions, denied access, report revisions, source/step links, conversation replay, cancellation, UTF-8 attachments and English/Chinese interaction. Axe checks the exercised screens for WCAG A/AA issues; this is automated evidence, not a complete accessibility certification. -The document scenarios also run real BusyTeX compilation and PDF.js checks. A cold compiler cache needs about 203 MB of pinned resources; this network setup is separate from the controlled research fixture and requires no model credential. See [plugin preparation](plugins.md#tex-compiler-and-pdf-preview) and the [verification record](verification.md) for cached local results and the unresolved CI compilation timeout. ENG-03 in the [roadmap](ROADMAP.md#eng-03-复核构建与浏览器验收可复现性) owns reproduction and repair. +The document scenarios also run real BusyTeX compilation and PDF.js checks. A cold compiler cache needs about 203 MB of pinned resources; this network setup is separate from the controlled research fixture and requires no model credential. See [plugin preparation](plugins.md#tex-compiler-and-pdf-preview) and the [verification record](verification.md) for cached local results, the historical CI failures and subsequent passing candidate/main checks. CI prepares the components before Playwright and retains failure evidence. The fixed font mirror keeps normal TLS checks and the original SHA-256 pin. ## Implemented core diff --git a/docs/implementation-plan.md b/docs/implementation-plan.md index 555b0e7..11a65d2 100644 --- a/docs/implementation-plan.md +++ b/docs/implementation-plan.md @@ -26,16 +26,18 @@ Each iteration uses a short-lived branch, local checks, a PR, passing required C | Approved workspace redesign, 2026-10-24 | 45 native tests and five browser scenarios passed locally; retained in [verification](verification.md#approved-workspace-redesign-2026-10-24) | | Daily research workflow, 2026-10-24 | 51 native tests and eight browser scenarios passed locally; first batch in the root ledger | | Plugin documents and ENG-01 preflight, 2026-10-24/25 | 57 tests and 12 browser scenarios passed locally on Windows; 2026-10-25 reused the BusyTeX cache, with no live model calls | -| PR #11 CI, inspected 2026-10-25 | Head `1574645b8b8bc4da9b7559d7794540e75775724c`; Windows/Linux repository jobs, actionlint and Gitleaks passed; browser acceptance passed 11/12 and required-checks failed. See [exact tested revision and failure](verification.md#pr-11-ci-inspection-2026-10-25) | +| PR #11 initial CI, historical 2026-10-25 | Head `1574645b8b8bc4da9b7559d7794540e75775724c`; Windows/Linux repository jobs, actionlint and Gitleaks passed; browser acceptance passed 11/12 and required-checks failed. See [exact tested revision and failure](verification.md#pr-11-ci-inspection-2026-10-25) | +| ENG-03 repair and ENG-04 audit, 2026-10-25 | PR #11 and #12 passed all required CI before merge; local 57 Node / 13 browser scenarios and 30 focused data/permission tests passed | +| ENG-05/06 source preview, 2026-10-25 | PR #13 passed exact-head CI after fixing font mirror preparation and concurrent selections; main `0e6f348` passed push CI and dry-run, then [v0.1.0-alpha.1](https://github.com/IsaacHuo/OpenLab/releases/tag/v0.1.0-alpha.1) was published as a prerelease | ## Current product completion batch The approved [root execution ledger](../PLAN.md) extends the delivered preview incrementally: authenticated launch recovery, searchable/renameable conversations, continuous history, frozen follow-up context, per-run material choices and editable providers. The black/white/gray [UI specification](../doc/design/README.md) remains authoritative, including the 24px composer and absence of a caption underneath it. Historical iteration counts above remain evidence for their original revisions; current suite counts and local results are in [verification](verification.md). -This batch is implemented and included in commit `22d6db524c08abfd4976bded081cf415b25919c1`, pushed in [PR #11](https://github.com/IsaacHuo/OpenLab/pull/11). The PR is unmerged as inspected on 2026-10-25. This creates no release, installer, publication or new multi-agent capability. +This batch was implemented in commit `22d6db524c08abfd4976bded081cf415b25919c1` and submitted in [PR #11](https://github.com/IsaacHuo/OpenLab/pull/11). It was still unmerged at the ENG-02 inspection; ENG-03 subsequently passed CI and merged it as `c9a96f3`. The source-preview release followed only after ENG-04/05/06. No installer or multi-agent capability is included. ## Plugin document iteration The approved [root ledger](../PLAN.md) records completed plugin contracts and document records, editors and revision management, real TeX/PDF validation, workspace interaction and integrated local checks. The [plugin SDK](plugins.md) defines the current static-registration boundary. This implemented iteration adds default Markdown/LaTeX editors, revision comparison, browser-side compilation and PDF preview, included in the same PR #11 implementation commit. External plugin installation, additional scholarly services, arbitrary execution, multiple agents and publishing remain outside this batch. -ENG-02 aligns these records without changing the application. ENG-03 must first reproduce the real XeLaTeX CI timeout and record compiler preparation and cache conditions, then repair the demonstrated failure. ENG-04 remains dependent on ENG-03 passing. The existing CI log does not establish a cold-cache root cause. +ENG-02 aligned these records; ENG-03 separated compiler preparation and added failure evidence and a document comparison repair. ENG-04 verified the data and permission gates. ENG-05 repaired a demonstrated font certificate failure and concurrent selection overwrite before candidate acceptance. ENG-06 published only after exact main push CI and dry-run succeeded. The original timeout log still does not establish a cold-cache root cause; its historical uncertainty does not replace the subsequent successful checks. diff --git a/docs/verification.md b/docs/verification.md index 130fa05..d6cc263 100644 --- a/docs/verification.md +++ b/docs/verification.md @@ -2,6 +2,24 @@ This record retains dated evidence from the v0.0.1 foundation through the current development source. Test counts describe their recorded stage and environment; they are not assertions about every later revision. The published v0.0.1 remains foundation-only. Exact workflow outcomes and tested commits remain in GitHub Actions; current work and dependencies are in [STATUS](STATUS.md) and [ROADMAP](ROADMAP.md). +## Source preview release, ENG-06, 2026-10-25 + +[v0.1.0-alpha.1](https://github.com/IsaacHuo/OpenLab/releases/tag/v0.1.0-alpha.1) was published at 2026-10-25 15:17:03 Asia/Shanghai (07:17:03 UTC), following this verified chain: + +| Gate | Exact identity and result | +| --- | --- | +| Candidate PR | [PR #13](https://github.com/IsaacHuo/OpenLab/pull/13), final head `bba97f050e83400b9768365ac1f42147482b0155`; [CI 40171822447](https://github.com/IsaacHuo/OpenLab/actions/runs/40171822447) passed every required job; no unresolved review threads | +| Main source | Squash merge `0e6f348612b56ac17e848c88fd9a3034b61bfc56`; [push CI 40172012839](https://github.com/IsaacHuo/OpenLab/actions/runs/40172012839) passed Windows/Linux repository/build, independent compiler preparation, 13 browser scenarios, actionlint, Gitleaks and required-checks | +| Local dry-run | `npm.cmd run release:check -- 0.1.0-alpha.1` passed from a clean checkout at that exact main SHA before publication | +| Publication | [Release workflow 40172172425](https://github.com/IsaacHuo/OpenLab/actions/runs/40172172425), dispatched on main with version `0.1.0-alpha.1`, completed successfully | +| Remote release | `isDraft=false`, `isPrerelease=true`, tag name `v0.1.0-alpha.1`; no binary attachments, GitHub source archives available | +| Annotated tag | Tag object `de7a92e79707af54e55b868464baa7392bee3748` resolves to commit `0e6f348612b56ac17e848c88fd9a3034b61bfc56`; fetched locally and dereferenced to the same SHA | +| Tag protection | Live `OpenLab immutable version tags` ruleset active for `refs/tags/v*`, with update and deletion restrictions | + +The actual published-tag source tar was inspected: uppercase PLAN.md, LICENSE and THIRD_PARTY_NOTICES.md are present; research/configuration/cache/dependency/build/test-output directories are absent. Version identity is `0.1.0-alpha.1`. The original vision's Git blob remains `5a8bba30140fd457950e6b51998f1b817f8fa130`, identical to the pre-task main baseline. No tag was moved or deleted and no new paid model call was made. + +ENG-00 through ENG-06 are complete within the source-preview boundary. The final documentation handoff records the publication without changing its immutable tag or adding application behavior. Subsequent main documentation commits do not change the release's source identity. Native cold-download TLS/revocation failures, large-chunk advisories and the documented product/compatibility limits remain limitations; they are not represented as passed guarantees for deferred features. + ## Evidence stages | Date and stage | Recorded local checks | Evidence boundary |