Merge remote-tracking branch 'gitea-ssh/main' into codex/p0-product-manifest-standard-20260629
# Conflicts: # docs/LOGBOOK.md
This commit is contained in:
@@ -1,3 +1,15 @@
|
||||
## 2026-06-29 — 13:45 P0 register 噪音整合為風險輸入
|
||||
|
||||
**完成內容**:
|
||||
- 更新 `docs/operations/awoooi-priority-work-order-readback.snapshot.json`,不再把「噪音」視為可忽略事項;改成 `noise_integrated_risk_register`。
|
||||
- 每個干擾訊號都綁定 `why_it_matters`、`professional_handling`、`exit_criteria`,避免 canceled CD、UI-only commits、本機髒工作樹、legacy GitHub lane、warning-only cold-start、stale snapshot 再把 P0 主線帶偏。
|
||||
- P0-005 / P0-003 / P0-006 補上 `professional_fix`,明確要求單一 owner lane、單一 action、可量測退出條件。
|
||||
|
||||
**驗證目標**:
|
||||
- `jq empty docs/operations/awoooi-priority-work-order-readback.snapshot.json`。
|
||||
|
||||
**邊界**:本次只修 P0 執行 register;未重啟服務、未改 workflow、未讀 token / secret / `.env`、未操作 host / Docker / K8s / DB。
|
||||
|
||||
## 2026-06-29 — 13:40 P0-005 credential escrow evidence intake 只讀投影
|
||||
|
||||
**完成內容**:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"schema_version": "awoooi_priority_work_order_readback_v1",
|
||||
"generated_at": "2026-06-29T13:28:25+08:00",
|
||||
"status": "p0_product_governance_readback_green_next_blocker_credential_escrow",
|
||||
"status": "integrated_p0_register_next_blocker_credential_escrow",
|
||||
"source_refs": {
|
||||
"global_scorecard": "~/.codex/product-runtime-governance-completion-scorecard.snapshot.json",
|
||||
"workstation_dashboard": "~/.codex/codex-workstation-sync-dashboard.snapshot.json",
|
||||
@@ -124,21 +124,98 @@
|
||||
"dns_registrar_recovery",
|
||||
"oauth_ai_provider_recovery"
|
||||
],
|
||||
"safe_next_step": "collect_redacted_non_secret_evidence_refs_then_rerun_preflight"
|
||||
"professional_fix": {
|
||||
"owner": "DR evidence lane",
|
||||
"action": "Create one DR escrow checklist packet with the five required item ids, accept only redacted evidence refs, then run the existing preflight once.",
|
||||
"exit_criteria": [
|
||||
"effective_escrow_missing_count=0",
|
||||
"owner_response_accepted_count=5",
|
||||
"secret_value_collection_allowed=false",
|
||||
"post_reboot_readiness OVERALL_DECLARATION no longer includes DR_ESCROW_BLOCKED"
|
||||
],
|
||||
"do_not_repeat": [
|
||||
"Do not reopen cold-start or CI/CD work because escrow refs are missing.",
|
||||
"Do not create additional owner-package variants for the same five refs."
|
||||
]
|
||||
},
|
||||
"safe_next_step": "create_single_dr_escrow_evidence_checklist_then_rerun_preflight"
|
||||
},
|
||||
{
|
||||
"workplan_id": "P0-003",
|
||||
"title": "取得 Gitea private inventory 權限",
|
||||
"status": "blocked_external_or_authenticated_inventory_required",
|
||||
"reason": "Global scorecard still reports private/internal inventory incomplete; GitHub remains stopped and must not be used as a fallback."
|
||||
"reason": "Global scorecard still reports private/internal inventory incomplete; GitHub remains stopped and must not be used as a fallback.",
|
||||
"professional_fix": {
|
||||
"owner": "Gitea inventory lane",
|
||||
"action": "Use Gitea-only inventory readback and retire GitHub from P0 completion math; keep GitHub as do_not_use historical context only.",
|
||||
"exit_criteria": [
|
||||
"private_inventory_source=gitea",
|
||||
"github_lane_excluded_from_p0_blocker_count=true",
|
||||
"all active product repos have Gitea owner/readiness row"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"workplan_id": "P0-006",
|
||||
"title": "清理 source-to-runtime drift 與 stale routes",
|
||||
"status": "pending_after_p0_005_and_p0_003",
|
||||
"reason": "P0-004 source readiness and P0-002 product manifest are green; keep drift cleanup after credential escrow and authenticated Gitea inventory readback."
|
||||
"reason": "P0-004 source readiness and P0-002 product manifest are green; keep drift cleanup after credential escrow and authenticated Gitea inventory readback.",
|
||||
"professional_fix": {
|
||||
"owner": "source-runtime drift lane",
|
||||
"action": "Compare product.awoooi.yaml, committed K8s/docker/workflow sources, production readback, and public routes; generate one drift list with owner and fix command per row.",
|
||||
"exit_criteria": [
|
||||
"runtime_without_source_count=0",
|
||||
"source_without_runtime_count=0",
|
||||
"stale_route_count=0 or explicitly retired"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"noise_integrated_risk_register": [
|
||||
{
|
||||
"signal": "canceled_or_superseded_cd_runs",
|
||||
"why_it_matters": "Canceled runs hide whether the latest main actually deployed and can make a completed source fix look failed.",
|
||||
"professional_handling": "Only the latest non-canceled run for the current main head is a deploy signal; older canceled runs become context, not blockers.",
|
||||
"exit_criteria": "latest_main_deploy_readback_success=true"
|
||||
},
|
||||
{
|
||||
"signal": "ui_redaction_commits_during_p0_recovery",
|
||||
"why_it_matters": "Concurrent UI-only commits can cancel P0 CI runs and consume attention while not changing cold-start or DR truth.",
|
||||
"professional_handling": "Keep UI-only changes on controlled-runtime profile and verify production readback after the newest head; do not reopen host recovery.",
|
||||
"exit_criteria": "production_deploy_status=closure_verified and P0 endpoints unchanged"
|
||||
},
|
||||
{
|
||||
"signal": "dirty_local_awooop_worktree",
|
||||
"why_it_matters": "Local uncommitted frontend copy can create false test failures and pollute P0 diagnosis.",
|
||||
"professional_handling": "Run P0 verification in clean Gitea main worktrees; never stage or revert user dirty files during P0 recovery.",
|
||||
"exit_criteria": "all P0 test receipts come from clean main worktree"
|
||||
},
|
||||
{
|
||||
"signal": "legacy_github_lane",
|
||||
"why_it_matters": "Retired GitHub blockers inflate P0 blocker count and distract from active Gitea/runtime work.",
|
||||
"professional_handling": "Keep GitHub stopped/do_not_use; remove it from active P0 next actions and route inventory work to Gitea.",
|
||||
"exit_criteria": "active_p0_next_actions contain no GitHub recovery work"
|
||||
},
|
||||
{
|
||||
"signal": "warning_only_cold_start_findings",
|
||||
"why_it_matters": "Warnings can reveal hygiene debt, but treating them as reboot blockers delays recovery closure.",
|
||||
"professional_handling": "Keep warnings visible with owner and due lane; close reboot recovery when BLOCKED=0 and service/data health are green.",
|
||||
"exit_criteria": "cold_start_blocked=0 and warning items assigned outside reboot recovery"
|
||||
},
|
||||
{
|
||||
"signal": "stale_or_incomplete_priority_snapshots",
|
||||
"why_it_matters": "Old snapshots can contradict live production readback and send work back to already-fixed items.",
|
||||
"professional_handling": "Live production readback wins; snapshots must be refreshed only when they change the next executable P0 action.",
|
||||
"exit_criteria": "priority snapshot current_head matches latest successful deploy marker"
|
||||
}
|
||||
],
|
||||
"professional_execution_rules": [
|
||||
"Treat noise as a risk input when it masks, delays, or misroutes a P0; otherwise keep it as context.",
|
||||
"Do not split noise into a separate project; attach it to the P0 row it can affect.",
|
||||
"Every P0 row must have one owner lane, one action, and measurable exit criteria.",
|
||||
"Do not re-run cold-start, CD, or UI checks unless their result can change the next P0 action.",
|
||||
"One blocker gets one checklist and one preflight; do not produce duplicate owner packets for the same missing evidence."
|
||||
],
|
||||
"stopped_or_do_not_use": [
|
||||
{
|
||||
"workplan_id": "P0-003A",
|
||||
@@ -163,8 +240,8 @@
|
||||
"database_write_or_restore_performed": false
|
||||
},
|
||||
"next_execution_order": [
|
||||
"P0-005: keep credential_escrow_evidence blocked until real redacted non-secret evidence refs exist; do not read or write secrets.",
|
||||
"P0-003: continue Gitea-only private/internal inventory readback when authorized source exists; do not use GitHub.",
|
||||
"P0-006: source-to-runtime drift cleanup after P0-005/P0-003 blockers are stable."
|
||||
"P0-005: create a single DR escrow evidence checklist for the five missing refs and rerun one preflight.",
|
||||
"P0-003: convert private/internal inventory to Gitea-only readback and remove retired GitHub from active P0 blocker math.",
|
||||
"P0-006: run source-to-runtime drift cleanup using product manifest, committed runtime sources, production readback, and public route evidence."
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user