docs(gates): admit local staging evidence

This commit is contained in:
Your Name
2026-04-13 21:45:35 +08:00
parent af3b9943be
commit e54cba9feb
6 changed files with 148 additions and 28 deletions

3
.gitignore vendored
View File

@@ -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

View File

@@ -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` 和文件族交集校验,防止再次出现“先删后补”的提交顺序错误
---

View File

@@ -0,0 +1,46 @@
# 本机开发端口基线2026-03-31
- 目的:在继续 STG 本地演练前,清理蚊子残留与冲突进程,固化端口基线。
- 执行时间2026-03-31Asia/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 仍可通过自动端口避让执行,但建议先查明占用来源。

View File

@@ -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` 后复跑。

View File

@@ -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` 后复跑。

View File

@@ -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/` 工作区文件数为 0Git 中也已无已跟踪文件
- `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 本机配置和伪文档仍需隔离