diff --git a/.gitignore b/.gitignore index b0d6e104..5770eb24 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,9 @@ reports/archive/gate_verification/*.log.audit.json reports/archive/gate_verification/*.log.issue.json reports/archive/gate_verification/*.log.server reports/archive/gate_verification/token_runtime_bin_* +reports/archive/gates/ +reports/archive/metrics_daily_snapshots.csv +reports/archive/minimax_upstream_daily_snapshots.csv # Local build output platform-token-runtime/platform-token-runtime diff --git a/reports/archive/gate_verification/INDEX_2026-04-13.md b/reports/archive/gate_verification/INDEX_2026-04-13.md index 5e346ba7..2698e111 100644 --- a/reports/archive/gate_verification/INDEX_2026-04-13.md +++ b/reports/archive/gate_verification/INDEX_2026-04-13.md @@ -2,7 +2,7 @@ **日期**: 2026-04-13 **作用**: 作为根仓库 `reports/gates/` 迁移到 `reports/archive/gate_verification/` 的首个受控索引文件。 -**状态**: 已建索引,未完成正式迁移提交 +**状态**: 已建立受控索引,核心历史摘要已完成 admission,剩余新快照待审计 --- @@ -10,18 +10,18 @@ | 项目 | 当前值 | 说明 | |------|--------|------| -| 工作区 `reports/gates/` 文件数 | 0 | 主目录文件已从工作区移除 | -| `reports/gates` staged deletion 数 | 365 | 删除已经进入暂存区,但尚未建立完整的提交说明 | -| `reports/archive/gate_verification/` 本地文件数 | 1461 | 本地存在大量归档文件、日志和派生证据 | -| `reports/archive/` Git 状态 | 未跟踪 | 归档树当前还不是仓库中的已跟踪事实 | -| 已确认缺失的归档对应物 | 0 个 | 本轮已补齐两个 CSV 聚合文件 | +| 工作区 `reports/gates/` 文件数 | 0 | 主目录已从工作区清空 | +| Git 中 `reports/gates` 已跟踪文件数 | 0 | 历史摘要删除已进入提交历史 | +| `reports/archive/gate_verification/` 已跟踪文件数 | 235 | canonical 归档已部分入库 | +| `reports/archive/gate_verification/` 未跟踪文件数 | 62 | 剩余为新增快照或待审计归档 | +| 重复来源路径 | 3 处 | `reports/archive/gates/` 与根目录平铺 CSV 两份 | 结论: -1. 迁移并不是“没有归档”,而是“本地已有归档树,但尚未被仓库索引和受控提交承认”。 -2. staged deletion 只能说明源目录被清空,不能自动证明归档已经可审计。 -3. 在归档树被正式纳入 Git 前,不应直接提交根仓库 `reports/gates/*` 的批量删除。 -4. 2026-04-13 已从 `HEAD:reports/gates/*` 补齐两个缺失的 CSV 聚合文件。 +1. 根目录 `reports/gates/*` 的历史摘要删除已经进入提交历史,不能再把当前问题描述成“删除待处理”。 +2. 迁移已经进入第二阶段:核心历史摘要已入库到 `reports/archive/gate_verification/`,但仍有 62 个新增快照待审计。 +3. 当前主要风险不再是“缺失对应物”,而是“新增快照与重复来源路径尚未定性”。 +4. 两个历史 CSV 聚合文件已补齐到 canonical 目录,根目录平铺副本应视为重复来源,不再进入 Git。 --- @@ -100,14 +100,42 @@ --- +## 已完成 admission 的核心批次 + +当前已入库的 canonical 归档覆盖以下批次: + +1. 指标与上游摘要:`metrics_*`、`minimax_upstream_*` +2. 决策摘要:`final_decision_consistency_*` +3. 历史后端验证摘要:`backend_verify_2026-04-11_091249.md` +4. 阶段验证与发布流水:`staging_*`、`superpowers_release_pipeline_*`、已存在历史对应物的 `superpowers_stage_validation_*` +5. Token runtime 历史 readiness 摘要:截至 `2026-03-31` + +## 待处理项 + +以下内容仍未完成正式定性: + +- `backend_verify_*` 在 `2026-04-11` 到 `2026-04-13` 的新增 10 份摘要 +- `superpowers_stage_validation_*` 在 `2026-04-11` 到 `2026-04-13` 的新增 6 份摘要 +- `token_runtime_readiness_*` 在 `2026-04-11` 到 `2026-04-13` 的新增 16 份摘要 +- `tok005_dryrun_*` 的新增 17 份摘要 +- `tok006_gate_bundle_*` 的新增 9 份摘要 +- `tok006_release_decision_onepager_template_v1_2026-03-30.md` 模板文件 +- `reports/archive/gates/` 与 `reports/archive/*.csv` 的重复来源路径 + +处理规则: + +1. 只有真实执行摘要才允许 admission。 +2. 模板文件和重复来源路径不进入 canonical 归档。 +3. 新增快照需先做内容审计,再决定 admission 或降级为本地留档。 + ## 下一步执行要求 下一批处理必须完成以下动作后才能提交: -1. 把本索引文件加入仓库。 -2. 决定 `reports/archive/gate_verification/` 中哪些文件族需要正式纳入 Git,哪些只保留为本地审计留档。 -3. 用 `git diff --cached --name-only -- reports/gates` 与 `find reports/archive/gate_verification -maxdepth 1 -type f` 再做一次 basename 对照,确认已无同名缺口。 -4. 决定这 1461 个归档文件中哪些文件族正式纳入 Git,哪些只保留为本地审计留档。 +1. 对剩余 62 个未跟踪摘要按文件族做真实性审计。 +2. 将 `reports/archive/gates/` 与根目录平铺 CSV 视为重复来源,不再作为 admission 候选。 +3. 对模板文件建立“无效历史模板”清单,避免误入 canonical 归档。 +4. 每批 admission 前继续使用 `git diff --check` 和文件族交集校验,防止再次出现“先删后补”的提交顺序错误。 --- diff --git a/reports/archive/gate_verification/local_dev_port_baseline_2026-03-31.md b/reports/archive/gate_verification/local_dev_port_baseline_2026-03-31.md new file mode 100644 index 00000000..5debb5e5 --- /dev/null +++ b/reports/archive/gate_verification/local_dev_port_baseline_2026-03-31.md @@ -0,0 +1,46 @@ +# 本机开发端口基线(2026-03-31) + +- 目的:在继续 STG 本地演练前,清理蚊子残留与冲突进程,固化端口基线。 +- 执行时间:2026-03-31(Asia/Shanghai) + +## 1. 清理动作 + +已停止以下冲突/残留进程(TERM 后必要时 KILL): + +1. `158085`(蚊子后端 Java,监听 8080) +2. `170093`(蚊子前端 H5 Node,监听 5176) +3. `180724`(蚊子前端 Admin Node,监听 5177) +4. `216458`(`supply-api`,监听 18082,干扰 M-021 smoke) +5. `135336` / `135522`(`platform-token-runtime` 历史常驻进程,监听 18081) + +## 2. 端口状态(清理后) + +| 端口 | 状态 | 说明 | +|---|---|---| +| 5176 | FREE | 蚊子 H5 已清理 | +| 5177 | FREE | 蚊子 Admin 已清理 | +| 8080 | FREE | 蚊子后端已清理 | +| 18080 | FREE | STG mock 运行时可按需启动 | +| 18081 | FREE | token runtime 常驻进程已清理 | +| 18082 | FREE | M-021 smoke 历史冲突端口已释放 | +| 3000 | OCCUPIED | 非 STG 关键端口,当前保留,不阻断本次 STG 演练 | + +## 3. 复测结果 + +1. 清理后复跑 `staging_release_pipeline.sh`(`local/mock`): + - 报告:`reports/gates/staging_release_pipeline_2026-03-31_100942.md` + - 结果:`PASS` +2. 关联总控流水: + - 报告:`reports/gates/superpowers_release_pipeline_2026-03-31_100943.md` + - 结果:`PASS` + +## 4. 固化检查命令 + +```bash +cd "/home/long/project/立交桥" +ss -ltnp | grep -E ":3000|:5176|:5177|:8080|:18080|:18081|:18082" || true +``` + +判定规则: +1. `5176/5177/8080/18080/18081/18082` 应为空闲或由本次演练临时进程占用。 +2. 若 `18082` 被占用,M-021 仍可通过自动端口避让执行,但建议先查明占用来源。 diff --git a/reports/archive/gate_verification/local_staging_env_generation_2026-03-31_105620.md b/reports/archive/gate_verification/local_staging_env_generation_2026-03-31_105620.md new file mode 100644 index 00000000..3bf91ade --- /dev/null +++ b/reports/archive/gate_verification/local_staging_env_generation_2026-03-31_105620.md @@ -0,0 +1,21 @@ +# Local Staging Env Generation + +- 时间戳:2026-03-31_105620 +- 输出文件:`/home/long/project/立交桥/scripts/supply-gate/.env.staging-real` +- API_BASE_URL:`http://127.0.0.1:18080` +- token nominal expiry(UTC):`2026-03-31T04:56:20Z` +- token runtime:`http://127.0.0.1:18091` +- runtime auto-start:`1` + +## Token 摘要(不含明文) + +| role | length | sha256_12 | +|---|---:|---| +| owner | 36 | 5e005018d060 | +| viewer | 36 | b627263085b6 | +| admin | 36 | 7f58157fb7ff | + +## 下一步 + +1. 使用该 env 执行:`ALLOW_LOCAL_MOCK_STAGING=1 bash scripts/ci/staging_release_pipeline.sh /home/long/project/立交桥/scripts/supply-gate/.env.staging-real` +2. 若切换真实 staging,更新 `API_BASE_URL` 后复跑。 diff --git a/reports/archive/gate_verification/local_staging_env_generation_2026-03-31_123102.md b/reports/archive/gate_verification/local_staging_env_generation_2026-03-31_123102.md new file mode 100644 index 00000000..096aca06 --- /dev/null +++ b/reports/archive/gate_verification/local_staging_env_generation_2026-03-31_123102.md @@ -0,0 +1,21 @@ +# Local Staging Env Generation + +- 时间戳:2026-03-31_123102 +- 输出文件:`/home/long/project/立交桥/scripts/supply-gate/.env.staging-real` +- API_BASE_URL:`http://127.0.0.1:18080` +- token nominal expiry(UTC):`2026-03-31T06:31:02Z` +- token runtime:`http://127.0.0.1:18091` +- runtime auto-start:`1` + +## Token 摘要(不含明文) + +| role | length | sha256_12 | +|---|---:|---| +| owner | 36 | b57dc2f8cee0 | +| viewer | 36 | b77377772ca2 | +| admin | 36 | fb2bbc583e19 | + +## 下一步 + +1. 使用该 env 执行:`ALLOW_LOCAL_MOCK_STAGING=1 bash scripts/ci/staging_release_pipeline.sh /home/long/project/立交桥/scripts/supply-gate/.env.staging-real` +2. 若切换真实 staging,更新 `API_BASE_URL` 后复跑。 diff --git a/supply-api/reports/CLEANUP_REPORT_2026-04-13.md b/supply-api/reports/CLEANUP_REPORT_2026-04-13.md index c0f6c3ba..987de958 100644 --- a/supply-api/reports/CLEANUP_REPORT_2026-04-13.md +++ b/supply-api/reports/CLEANUP_REPORT_2026-04-13.md @@ -11,7 +11,7 @@ |------|------| | `supply-api/docs/archive/` | 存在真实的文档归档动作,可作为首批可提交内容的一部分 | | `supply-api/reports/archive/` | 可保留,但必须明确“历史快照”与“门禁证据”的区别 | -| 根仓库 `reports/gates/` | 当前是大规模删除,不是完成迁移,不能直接提交 | +| 根仓库 `reports/gates/` | 历史摘要删除已入提交历史,当前问题转为 canonical admission 与重复来源收口 | | `config.dev.yaml` | 已被本机 Unix socket 配置污染,不应作为仓库样例直接提交 | | `internal/outbox` / `internal/domain/outbox.go` | 不是可直接二选一的重复实现 | | `internal/compensation` / `internal/domain/compensation.go` | 不是可直接二选一的重复实现 | @@ -42,26 +42,27 @@ #### 3.1 根仓库门禁证据仍处于“删除待处理”状态 -复核后确认:根仓库本地已经存在 `reports/archive/gate_verification/` 归档树,但它此前既没有索引文件,也没有被仓库正式跟踪;同时 `reports/gates/` 的删除已进入暂存区,导致“本地归档存在”和“仓库可审计迁移”之间脱节。 +复核后确认:根仓库 `reports/gates/` 的历史摘要删除已经入提交历史,`reports/archive/gate_verification/` 也已开始按批次 admission。当前风险不再是“删除待处理”,而是“canonical admission 尚未覆盖所有新增快照,同时还存在第二套重复归档来源”。 截至 2026-04-13 的真实状态是: -- `reports/gates/` 工作区文件数为 0。 -- `reports/gates/*` staged deletion 共 365 条。 -- `reports/archive/gate_verification/` 本地文件数现已补齐到 1461。 -- `reports/archive/` 当前整体仍是未跟踪目录。 -- 此前缺失的 `metrics_daily_snapshots.csv`、`minimax_upstream_daily_snapshots.csv` 已按 `HEAD:reports/gates/*` 内容补档。 +- `reports/gates/` 工作区文件数为 0,Git 中也已无已跟踪文件。 +- `reports/archive/gate_verification/` 当前已有 235 个已跟踪 canonical 归档文件。 +- `reports/archive/gate_verification/` 仍有 62 个未跟踪摘要文件待审计。 +- `reports/archive/gates/` 与根目录平铺 CSV 仍是未跟踪重复来源。 +- 此前缺失的 `metrics_daily_snapshots.csv`、`minimax_upstream_daily_snapshots.csv` 已补齐到 canonical 目录。 因此,以下内容仍不能直接宣称“已归档完成”: -- `reports/gates/backend_verify_*.md` -- `reports/gates/superpowers_stage_validation_*.md` -- `reports/gates/token_runtime_readiness_*.md` -- `reports/gates/token_runtime_smoke_*.log.*` -- `reports/gates/metrics_daily_snapshot_*.md` -- `reports/gates/metrics_trend_7d_*.md` +- `reports/archive/gate_verification/backend_verify_2026-04-11..2026-04-13` 新增批次 +- `reports/archive/gate_verification/superpowers_stage_validation_2026-04-11..2026-04-13` 新增批次 +- `reports/archive/gate_verification/token_runtime_readiness_2026-04-11..2026-04-13` 新增批次 +- `reports/archive/gate_verification/tok005_dryrun_*` +- `reports/archive/gate_verification/tok006_gate_bundle_*` +- `reports/archive/gates/` 重复归档树 +- `reports/archive/metrics_daily_snapshots.csv` 与 `reports/archive/minimax_upstream_daily_snapshots.csv` 平铺副本 -结论:索引和两个 CSV 缺口已补齐,下一步应核定哪些归档文件族正式纳入 Git,然后才能提交根仓库 `reports/gates/*` 的删除批次。 +结论:核心历史摘要已经补回 canonical 归档,下一步应处理剩余 62 个新增快照和第二套重复来源,而不是继续描述为“根仓库删除待提交”。 #### 3.2 本机配置和伪文档仍需隔离