From 7d63f0f9ca8e273a7e3e041bc50559ef7c8752c0 Mon Sep 17 00:00:00 2001 From: AutoGenUI <231675956+AutoGenUI@users.noreply.github.com> Date: Tue, 13 Oct 2026 19:37:41 +0800 Subject: [PATCH] Record subscription polish v14 publication evidence --- docs/CURRENT_STATE.json | 104 ++++++++++++++---- docs/PROJECT_CONTEXT.md | 8 +- .../2026-10-13-subscription-polish.md | 10 +- 3 files changed, 97 insertions(+), 25 deletions(-) diff --git a/docs/CURRENT_STATE.json b/docs/CURRENT_STATE.json index adced91..88f22fe 100644 --- a/docs/CURRENT_STATE.json +++ b/docs/CURRENT_STATE.json @@ -13,17 +13,17 @@ "documentsAndCodeIntegrityVerified": true }, "production": { - "evidence": "Formal v1.0.0 publication receipts, Sites metadata/source and read-only public checks on 2026-10-13; private environment values and subscriber rows were not read", + "evidence": "Sites v14 deployment/source and public read-only HTTP checks on 2026-10-13; private environment and subscriber rows not read", "url": "https://ag-ui.ai", "platformUrl": "https://ag-ui-ai.channely.chatgpt.site", "projectId": "appgprj_6a5dcacfcbb4819193bac2b2104ed926", - "publishedVersion": 13, - "versionId": "appgprj_6a5dcacfcbb4819193bac2b2104ed926~appgver_e5bc604caacc819184c81bd223d5c9ee", - "deploymentId": "appgdep_6ace04b15f408191ad18bdcbbe4be3d3", + "publishedVersion": 14, + "versionId": "appgprj_6a5dcacfcbb4819193bac2b2104ed926~appgver_c60692fd0b988191b251e97a8b7b285e", + "deploymentId": "appgdep_6ace173e29688191b6636567e98e443d", "deploymentStatus": "succeeded", - "deploymentCompletedAt": "2026-10-13T10:15:25.780042+00:00", - "sourceCommit": "8512d230c7df3bece70c503af02ff2acce0dbe9d", - "sourceTree": "661f59e806ce2174a33d6d87b9b44d0959400554", + "deploymentCompletedAt": "2026-10-13T11:34:36.106757+00:00", + "sourceCommit": "32af985205988054ac77619828f0d5ab0112eee0", + "sourceTree": "545ab7adf8b2a8f5040ba1c8f8d51f4cdcdebd2b", "githubReleaseCommit": "71ff116e033f0295a44415d13acd92bf1c0b97b6", "environmentSetRevision": 12, "hasMcp": true, @@ -38,25 +38,26 @@ }, "existingSchedulesPreserved": true, "automationCountAtObservation": 2, - "observedOn": "2026-10-13" + "observedOn": "2026-10-13", + "githubIterationCommit": "ce64f39c158e72e06549cde97c6810c77a2ff5d8" }, "github": { "observedOn": "2026-10-13", "repository": "AutoGenUI/ag-ui.ai", "defaultBranch": "main", - "mainAtObservation": "71ff116e033f0295a44415d13acd92bf1c0b97b6", - "evidence": "Formal release publication receipts; later documentation commits are not part of the immutable release tag", + "mainAtObservation": "ce64f39c158e72e06549cde97c6810c77a2ff5d8", + "evidence": "Subscription polish PR7 and main verify succeeded; separate documentation receipt may follow without redeployment", "syncBranch": null, - "pullRequest": "https://github.com/AutoGenUI/ag-ui.ai/pull/5", + "pullRequest": "https://github.com/AutoGenUI/ag-ui.ai/pull/7", "draftAtObservation": false, "mergedAtObservation": true, - "mergedAt": "2026-10-13T10:13:52Z", - "validatedPullRequestHead": "04c99295995993c93c0cb3596a55f049369601f7", - "validatedTree": "661f59e806ce2174a33d6d87b9b44d0959400554", + "mergedAt": "2026-10-13T11:32:18Z", + "validatedPullRequestHead": "96e7930fc0bcef8ba5c11517440031d01099b430", + "validatedTree": "545ab7adf8b2a8f5040ba1c8f8d51f4cdcdebd2b", "requiredCheck": "verify", "branchProtectionPreserved": true, "branchPolicy": "Keep only main after completed iterations; temporary PR branches allowed and cleaned after verified merge", - "documentationFollowup": "Public receipt updates use a temporary PR branch; no new Sites deployment and no movement of v1.0.0 tag", + "documentationFollowup": "Public v14 receipt via protected temporary PR; no further Sites deployment and no movement of v1.0.0 tag", "recoverablePreCleanupBundleVerified": true, "protectedManagedWorktreeRetained": true }, @@ -273,7 +274,7 @@ "Observe real queued cancellation and additional bounce scenarios only under authorized acceptance", "Before authorized production maintenance, refresh account permissions, full DNS/DKIM inventory, actual Sites deployment, D1 migration ledger and backup/restore capability, schedules and provider allowance" ], - "refreshRule": "Before the next iteration read live GitHub state and docs/operations/README.md. The completed v1.0.0 release receipt is dated evidence, not live configuration. GitHub merge does not deploy Sites. Preserve immutable release tag and keep private operational data outside this repository.", + "refreshRule": "Read current GitHub and operations/README.md before maintenance. Subscription polish v14 is dated evidence; docs-only receipts may follow deployed source. GitHub merge does not deploy Sites. Preserve immutable v1.0.0 tag and keep private operational data outside repository.", "operationsHandoff": { "scope": "Public maintenance documentation; not production account inspection or deployment", "index": "docs/operations/README.md", @@ -520,7 +521,7 @@ }, "subscriptionPolish": { "recordedOn": "2026-10-13", - "phase": "local-verification-complete-awaiting-required-CI-and-Sites-publication", + "phase": "published", "baseMain": "c67f707b9e6c7f9e9b297dbde72757a1b545ecc9", "notes": "docs/iterations/2026-10-13-subscription-polish.md", "behavior": [ @@ -572,7 +573,8 @@ "Form before signup feedback; no return-to-form button" ], "consoleErrors": 0 - } + }, + "links": "passed in PR and main required verify" }, "schemaChanged": false, "productionSecretsRead": false, @@ -580,6 +582,70 @@ "realMailSent": false, "productionConfigurationChanges": false, "newReleaseTagCreated": false, - "immutableReleaseTag": "v1.0.0" + "immutableReleaseTag": "v1.0.0", + "githubCommit": "ce64f39c158e72e06549cde97c6810c77a2ff5d8", + "githubTree": "545ab7adf8b2a8f5040ba1c8f8d51f4cdcdebd2b", + "pullRequest": "https://github.com/AutoGenUI/ag-ui.ai/pull/7", + "requiredVerify": { + "status": "passed", + "url": "https://github.com/AutoGenUI/ag-ui.ai/actions/runs/38390726523/job/115273567567" + }, + "mainVerify": { + "status": "passed", + "url": "https://github.com/AutoGenUI/ag-ui.ai/actions/runs/38390910990/job/115274178851" + }, + "sites": { + "version": 14, + "versionId": "appgprj_6a5dcacfcbb4819193bac2b2104ed926~appgver_c60692fd0b988191b251e97a8b7b285e", + "sourceCommit": "32af985205988054ac77619828f0d5ab0112eee0", + "treeMatchesGithub": true, + "deploymentId": "appgdep_6ace173e29688191b6636567e98e443d", + "status": "succeeded", + "completedAt": "2026-10-13T11:34:36.106757+00:00", + "environmentRevision": 12, + "hasMcp": true, + "automationCount": 2 + }, + "publicHttp": [ + { + "path": "/zh/subscribe", + "http": 200 + }, + { + "path": "/en/subscribe", + "http": 200 + }, + { + "path": "/zh/feed.xml", + "http": 200 + }, + { + "path": "/en/feed.xml", + "http": 200 + }, + { + "path": "/feed.xml", + "http": 200 + }, + { + "path": "/api/subscription/status", + "http": 200, + "publicAggregate": { + "enabled": true, + "confirmedCount": 1, + "capacity": 250, + "remaining": 249, + "full": false, + "dailyLimit": 300, + "weeklyLimit": 250 + } + }, + { + "path": "/api/admin", + "http": 403 + } + ], + "productionBrowser": "Agent in-app browser rejected both custom and platform domain navigation; no production DOM acceptance claimed. Synthetic local browser acceptance passed.", + "immutableReleaseTagVerified": true } } diff --git a/docs/PROJECT_CONTEXT.md b/docs/PROJECT_CONTEXT.md index 7dd770a..2789c53 100644 --- a/docs/PROJECT_CONTEXT.md +++ b/docs/PROJECT_CONTEXT.md @@ -4,7 +4,7 @@ ## 最新迭代:订阅体验优化(2026-10-13) -在正式 v1.0.0 之后继续迭代,候选基线 main 为 `c67f707b9e6c7f9e9b297dbde72757a1b545ecc9`。当前候选已完成本地验证,GitHub required CI 与 Sites 发布结果随后单独记录;下节 v1.0.0 是不可变历史,不能代表本次候选已上线。 +在正式 v1.0.0 之后继续迭代,候选基线 main 为 `c67f707b9e6c7f9e9b297dbde72757a1b545ecc9`。[PR #7](https://github.com/AutoGenUI/ag-ui.ai/pull/7) 已正常合入 main `ce64f39c158e72e06549cde97c6810c77a2ff5d8`,[PR verify](https://github.com/AutoGenUI/ag-ui.ai/actions/runs/38390726523/job/115273567567) 与 [main verify](https://github.com/AutoGenUI/ag-ui.ai/actions/runs/38390910990/job/115274178851) 均通过。下节 v1.0.0 是不可变历史。 原生与 Radix 下拉箭头增加右侧留白。申请订阅后保留表单,反馈和后续管理卡片位于其下方;去掉返回填写按钮,使用“查看邮件,确认订阅”。中英确认邮件与周报使用结构化 HTML 和纯文本后备,确认主按钮与管理/退订区域分开。 @@ -12,6 +12,10 @@ 本地 35 基础 + 55 新闻/邮件 + 11 订阅 UI + 8 HTTP,共 109 项通过;TypeScript、内容、lint、构建与预算通过,审计 8 moderate、0 high、0 critical。隔离浏览器验证一次邮件按钮点击即可自动确认、语言切换、偏好保存、明确退订/取消、测试隔离及过期反馈;表单布局使用本地模拟 signup 响应。邮件是合成 HTML 预览,没有发送真实邮件。详细边界见 [本次迭代记录](iterations/2026-10-13-subscription-polish.md)。 +Sites 数字版本 **14** 于 11:34:36 UTC 部署成功,version ID `appgprj_6a5dcacfcbb4819193bac2b2104ed926~appgver_c60692fd0b988191b251e97a8b7b285e`,部署 `appgdep_6ace173e29688191b6636567e98e443d`。源码 `32af985205988054ac77619828f0d5ab0112eee0` 的 tree `545ab7adf8b2a8f5040ba1c8f8d51f4cdcdebd2b` 与 GitHub 验证版本完全一致。环境 revision 12、public、active、MCP 和 2 项任务保留;无 schema、DNS、生产开关修改。平台数字版本不是新语义化 release;`v1.0.0` 标签仍指向原 commit。 + +公开 HTTP:中英订阅页、三项 RSS 和状态接口均 200,匿名管理接口 403;公开人数仍 1/250,剩余 249。代理浏览器对自定义域名和平台域名均阻止导航,未宣称生产 DOM 验收;本地隔离浏览器证据与 HTTP 部署证据分开记录。没有访问真实签名链接或发送真实邮件;当前邮箱客户端真实呈现仍未新增验收。 + ## 历史:v1.0.0 正式发布与接续 2026-10-13 已完成订阅体验修复并正式发布 [v1.0.0](https://github.com/AutoGenUI/ag-ui.ai/releases/tag/v1.0.0)。[PR #5](https://github.com/AutoGenUI/ag-ui.ai/pull/5) 于 10:13:52 UTC 正常 rebase 合入 main;release commit 为 `71ff116e033f0295a44415d13acd92bf1c0b97b6`,tree 为 `661f59e806ce2174a33d6d87b9b44d0959400554`。[PR required verify](https://github.com/AutoGenUI/ag-ui.ai/actions/runs/38381641758/job/115243248665) 和 [main verify](https://github.com/AutoGenUI/ag-ui.ai/actions/runs/38381929658/job/115244227252) 均通过,主分支保护保留。 @@ -77,7 +81,7 @@ - 网站正式 confirmed 订阅策略容量为 250。每日发送额度 300、周报预算 250 是交接时的免费档与网站策略;不是联系人上限。后续是否变化需重新核验,不自动购买或升级。 - pending、test、unsubscribed、suppressed 不占正式 confirmed 容量。确认原子取得名额;满额返回 `capacity-full`,偏好与退订继续可用;退订释放名额。 -- 普通 GET/HEAD/预取不确认或退订;当前候选在可见确认落地页自动 POST,退订仍需明确按钮操作。执行可见 JavaScript 的扫描器可能确认,不能宣称完全排除机器人。保留原始 URL/纯文本后备、状态反馈、请求 epoch 和防旧请求覆盖逻辑。 +- 普通 GET/HEAD/预取不确认或退订;当前版本在可见确认落地页自动 POST,退订仍需明确按钮操作。执行可见 JavaScript 的扫描器可能确认,不能宣称完全排除机器人。保留原始 URL/纯文本后备、状态反馈、请求 epoch 和防旧请求覆盖逻辑。 - 测试身份与正式订阅隔离,不能将测试收件人转为正式订阅。固定测试收件人只取服务器配置,不从工具参数指定。 - 保留 generation、最新 run 原子 claim、restart winner、过期检查、投递幂等和抑制机制;不确定提交不能自动重发。D1 字面前缀使用 `substr`,不要恢复曾触发长度限制的 LIKE prefix 实现。 - 交接记录两轮真实验收完成,合计 4 封测试邮件,用户已退订,鉴权 Delivered 回调与退订后停发通过。本轮没有重复此流程。没有真实 queued cancellation 证据;不宣称真实验证了全部退信情况。 diff --git a/docs/iterations/2026-10-13-subscription-polish.md b/docs/iterations/2026-10-13-subscription-polish.md index a3d290a..ada32f5 100644 --- a/docs/iterations/2026-10-13-subscription-polish.md +++ b/docs/iterations/2026-10-13-subscription-polish.md @@ -1,6 +1,6 @@ -# 2026-10-13 订阅交互与邮件排版候选 +# 2026-10-13 订阅交互与邮件排版发布 -本文记录 [v1.0.0 正式发布](../releases/v1.0.0.md) 之后的本地候选迭代。新的 Sites 发布尚未发生,不预写下一平台版本序号、提交 SHA 或部署成功;`v1.0.0` tag/回执保留为历史且不移动。最新工程证据与最终发布映射由 [PROJECT_CONTEXT.md](../PROJECT_CONTEXT.md) 和 [CURRENT_STATE.json](../CURRENT_STATE.json) 记录。本页不含私有邮箱、签名链接、订阅行或秘密值。 +本文记录 [v1.0.0 正式发布](../releases/v1.0.0.md) 之后的订阅迭代,Sites 平台 v14 已部署成功;`v1.0.0` tag/回执保留为历史且不移动。最新工程证据与最终发布映射由 [PROJECT_CONTEXT.md](../PROJECT_CONTEXT.md) 和 [CURRENT_STATE.json](../CURRENT_STATE.json) 记录。本页不含私有邮箱、签名链接、订阅行或秘密值。 ## 交互与自动确认 @@ -35,12 +35,14 @@ suppressed、测试身份、历史硬失败和任意 sending/uncertain 不因公 | 隔离本地浏览器:过期确认 | 合成过期链接落地自动提交后显示“未能核验操作结果”与“重试确认”,不误报成功;公众 `0/250` 不变 | | 隔离本地浏览器:pending 取消 | 管理 URL 的 `#unsubscribe` 仅显示尚未确认及下方取消申请;明确点击后显示已退订,公众 `0/250` 不变 | | 本地控制台与视觉复核 | 测试确认、周报管理和过期页控制台错误均为 0;390px 确认邮件层次清晰、无横向溢出;桌面申请反馈截图中表单在反馈上方、无返回按钮 | -| 最新候选 required CI、PR 合并与 Sites 发布 | 本页未记录完成;需独立终态及源码映射 | +| required CI、PR 合并与 Sites 发布 | PR #7 与合并后 main verify 全通过;Sites v14 部署成功,源码树一致。完整 ID、SHA 与检查链接见 PROJECT_CONTEXT/CURRENT_STATE | -上述为本地候选证据,不证明真实确认邮件、周报、退信/投诉回调或 inbox 展示。本轮没有读取秘密或生产订阅行、发送新增真实邮件、变更 schema、DNS、生产邮件开关或定时任务,也没有新增付费调用。网络、提供商跟踪与真实投递的未核验范围继续保留,不凭页面 200 扩大结论。 +上述本地验收证据,不证明真实确认邮件、周报、退信/投诉回调或 inbox 展示。本轮没有读取秘密或生产订阅行、发送新增真实邮件、变更 schema、DNS、生产邮件开关或定时任务,也没有新增付费调用。网络、提供商跟踪与真实投递的未核验范围继续保留,不凭页面 200 扩大结论。 ## 来源与维护入口 [Brevo 双重确认官方文章 JSON](https://help.brevo.com/api/v2/help_center/en-us/articles/208771869.json) 描述邮件链接确认与可选重定向;没有要求额外网页按钮。[Brevo 邮件机器人官方文章 JSON](https://help.brevo.com/api/v2/help_center/en-us/articles/4406537065618.json) 说明安全软件会点链接并模拟用户,存在意外动作风险。它们是同 ID 官方帮助正文的机器入口,避免把 HTML 帮助页面 403 当成文章不存在;本轮公开读取两个 JSON 均 HTTP 200。 接手参见 [邮件维护](../operations/email-subscriptions.md)、[owner 管理](../operations/owner-management.md)、[部署维护](../operations/deployment-maintenance.md) 和 [采编合同](../../public/automation.md)。采编任务不得访问真实签名链接来代替读者确认、退订或发起 `mail-test`,不得重置生产订阅/投递记录。 + +生产只读 HTTP 的中英订阅页、三项 RSS 与状态接口通过,匿名管理 403,公开人数 1、余位 249。代理浏览器对两个生产域名阻止导航,没有生产 DOM 验收结论。Sites env revision 12、public、active、MCP 和原 2 项任务保留;来源历史 v1.0.0 标签未移动。后续公开回执是文档提交,不再次部署。