关闭中断的七天试运行任务(07-16-legacy-task-runbook-closeout)

这个提交包含在:
2026-07-16 20:50:09 +08:00
父节点 e7ae23cc4a
当前提交 b7236d6be1
共修改 220 个文件,包含 84 行新增和 4 行删除
@@ -62,6 +62,78 @@ rollback and future self-maintenance.
- New work may mention an old Issue CSV for traceability, but must not require
a new CSV unless the user explicitly requests legacy/export evidence.
## Scenario: Interrupted Or Superseded Task Closeout
### 1. Scope / Trigger
- Trigger: a Trellis task is interrupted, expired, cancelled or superseded and
should leave the active-task list even though its original goal was not met.
- Purpose: keep lifecycle state clean without turning archival metadata into a
false claim that acceptance criteria or business outcomes were completed.
### 2. Signatures
- Command: `python3 ./.trellis/scripts/task.py archive <task-name>`.
- Effects: moves the task under `.trellis/tasks/archive/<year-month>/`, writes
`task.json.status=completed` and sets `completedAt`.
### 3. Contracts
- For interrupted or superseded tasks, `status=completed` means lifecycle
closed; it does not mean the original goal or every acceptance criterion was
achieved.
- Before archive, add a `Lifecycle Closeout` section to `prd.md` and a concise
`task.json.notes` summary covering: what was actually completed, what is
missing, why the task stopped and which future task or condition replaces it.
- Leave unmet acceptance checkboxes unchecked. Never create missing dates,
tests, human confirmation or production evidence merely to make the archived
task look complete.
- Current indexes or runbooks must use the same closeout semantics when the task
previously represented an active operational fact.
### 4. Validation & Error Matrix
- All acceptance criteria achieved with evidence -> normal completed archive.
- Goal incomplete but closeout section and notes are explicit -> lifecycle
archive is allowed; downstream readers must not infer goal completion.
- Goal incomplete and closeout evidence is absent -> do not archive yet.
- Historical evidence missing -> record it as missing; do not reconstruct or
backdate evidence.
### 5. Good/Base/Bad Cases
- Good: a seven-day trial with only Day 1-Day 4 records is archived with the
missing days, absent human closure and successor trial stated explicitly.
- Base: a fully verified implementation is archived with its implementation and
deployment commits referenced.
- Bad: mark Day 5-Day 7 complete or check all PRD boxes only because the task is
old and should disappear from the active list.
### 6. Tests Required
- `python3 ./.trellis/scripts/task.py validate <task-or-archive-path>`.
- Inspect archived `task.json` for `status`, `completedAt` and truthful `notes`.
- Run `node scripts/qa/check-trellis-governance.mjs` and `git diff --check`.
- When the task affects current operational truth, run the documentation audit
and verify index/runbook wording matches the closeout outcome.
### 7. Wrong vs Correct
#### Wrong
```json
{ "status": "completed", "notes": "7 天试运行完成" }
```
#### Correct
```json
{
"status": "completed",
"notes": "生命周期关闭:仅完成 Day 1-Day 4,原目标未完成;未来由新任务从 Day 1 替代。"
}
```
## Scenario: Codex Inline Context Manifests
### 1. Scope / Trigger
@@ -115,3 +115,11 @@ bash scripts/qa/run-oa-real-use-daily.sh
- Daily readonly runner: `scripts/qa/run-oa-real-use-daily.sh`
- Final launch readiness runner: `scripts/qa/run-oa-final-launch-readiness.sh`
- Prior public verification: `.trellis/tasks/archive/2026-05/05-26-oa-frontend-postdeploy-public-verification/research/postdeploy-summary.md`
## Lifecycle Closeout (2026-07-16)
- 本任务原计划 2026-05-26 至 2026-06-01 连续运行 7 天,实际只保留 Day 1–Day 4 自动巡检记录;Day 3 没有独立 research 摘要文件,结论仅记录在 `implement.md`。
- 缺 Day 5–Day 7、现场人工真实业务闭环和 Day 7 `GO / CONDITIONAL_GO / NO_GO` 决策,原 7 天稳定化目标没有完成。
- 7 月生产可信度审计已确认旧 readiness 会把部分 `SKIP` 汇总成 clean `PASS`;历史 `findingCount=0` 只能证明当时运行过检查,不能证明最终启用就绪。
- 用户明确选择关闭此历史任务:归档只表示任务生命周期关闭,不代表原目标达成,也不得补造缺失日期或人工证据。
- 后续若重新做正式启用试运行,必须先部署并复核当前可信基线,再新建 Trellis task,从新的 Day 1 连续运行。

某些文件未显示,因为此 diff 中更改的文件太多 显示更多