docs(growth): record V10.809 production closure [skip ci]
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# AI Automation Mainline Work Items
|
||||
|
||||
> Updated: 2026-07-15 17:16 Asia/Taipei
|
||||
> Updated: 2026-07-15 17:37 Asia/Taipei
|
||||
> Governance: `global_product_governance_v2` + ADR-038
|
||||
> Current P0: `GROWTH-P0-001 comparison coverage truth + autonomous refresh`
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
| Order | ID | Status | Work item | Exit evidence / next machine action |
|
||||
|---:|---|---|---|---|
|
||||
| 1 | `SEC-P0-001` | Completed | Deny-by-default route access control | `governance/evidence/SEC-P0-001-20260711T122758Z.json` plus the current runtime receipt prove anonymous matrix 8/8 denied, public `/metrics` 404, exact internal target up, EwoooC product markers present, Prometheus identity preserved and `momo-db` unchanged. |
|
||||
| 2 | `GROWTH-P0-001` | In progress (`runtime_partial`) | Comparison coverage truth + autonomous refresh | V10.801 is live at exact Gitea object `c091c466c203d7e26c8ed576f573e7e930df34d1`. Production run `7b3b140c076b43be8c79bd85448fbc49` scanned 20, retained one source-disallowed unit-price as candidate-only, wrote three total-price exact offers after check-mode and read all 3/3 back by exact identity. Yahoo is now `active + enabled + write_enabled`; fixed cohort `7b74504fcc1e1801c2ca2b42` remains unchanged while production moves to `24 ready + 1 candidate validation + 25 unmatched`, `48%` count, `57.9%` revenue and `2/15` formal platforms. Next: continue the next revenue-weighted batch without relaxing identity/variant/unit gates, and add the next approved structured marketplace adapter. |
|
||||
| 2 | `GROWTH-P0-001` | In progress (`runtime_partial`) | Comparison coverage truth + autonomous refresh | V10.809 is live at exact Gitea object `2647632660673e9f1533e61922c96e4fb4adcb40`. Controlled run `34999f5314054f09909663b46fc42ee2` scanned 20, verified/wrote/read back one exact offer and raised the fixed cohort to `25 ready + 1 candidate validation + 24 unmatched`, `50%` count and `NT$211,667 / NT$354,062 = 59.782%` revenue. Follow-up run `e1508ec3a49241d1965bc99d428b0325` found 19 candidates but safely wrote zero because none passed strict identity/variant/unit verification; its independent terminal is `degraded_no_safe_candidate`. Yahoo remains durably `active + enabled + write_enabled`, and V10.809 readback proves `formal_source_activated=true` even when the latest run is verified no-write. Formal runtime remains `2/15`. Next: retry the unresolved revenue-weighted batch only with fresh source evidence, then add the next approved structured marketplace adapter without relaxing promotion gates. |
|
||||
| 3 | `SEC-P0-002` | In progress (`canary_ready`) | Database identity + least-privilege RBAC | V10.789 is live and `governance/auth_identity_runtime_receipt.json` verifies required tables, two active admins, durable lockout, session revocation, trusted proxy policy and no-secret mutation audit readiness. Runtime is intentionally hybrid because zero database-admin success receipts have been captured; `auto` retires shared authority after two durable successes without a manual review gate. Next: capture database-admin login receipts and verify automatic database-only cutover. |
|
||||
| 4 | `SEC-P0-003` | In progress | Webhook trust and replay protection | Telegram secret-token verification code exists; production secret activation remains unproven. Exit: secret provisioned outside source, required mode enabled, invalid-secret 401 and authorized callback canary pass. |
|
||||
| 5 | `SUPPLY-P0-001` | In progress | Gitea-only secure software supply chain | Gitea-native checkout, secret-safe `.dockerignore`, commit-bound source receipt and governance gate are active. Exit: exact dependency lock, internal SAST/SCA/secret scan, SBOM, image digest/provenance, vulnerability SLA and production digest readback. |
|
||||
@@ -26,7 +26,7 @@
|
||||
| 8 | `RAG-P0-001` | Not started | Internal RAG candidate canary | V10.770 stops at candidate preview. Exit: bounded pgvector candidate canary, signature/readback/feedback receipt, no price write and no premature `ai_insights` promotion. Next: `run_internal_rag_candidate_canary`. |
|
||||
| 9 | `MCP-P0-001` | In progress (`federation_source_ready`) | MCP/RAG production runtime closure | V10.796 source adds a strict public aggregate receipt for canonical `ewoooc` and `momo-pro-system` identities without opening authenticated internal APIs or exposing endpoint/tool payload data. Exit still requires V10.796 production `/health`, two fresh AWOOOI durable receipts with fingerprint recompute, live MCP servers/router/RAG, approved caller/tool boundary and production query canary. Current source readiness must not be reported as runtime closure. |
|
||||
| 10 | `SEC-P0-004` | Not started | Security operations lifecycle and metrics | Add durable security incident state and publish MTTA, MTTR, recurrence, false positive, human intervention, verifier pass, rollback and freshness. Exit: detect-to-learn production receipt. |
|
||||
| 11 | `REL-P0-001` | In progress (`runtime_verified_cd_degraded`) | Formal deploy and visible proof discipline | Production runtime source object is `d74aa60`; the corresponding dev runtime merge is `c0182b2`. Host 110 still exposes only paused `vibework-dedicated-runner`, with no matching EwoooC runner, so this release has no formal CD execution receipt. Bounded exact-object fallbacks deployed the analytics contract at V10.807; the contract archive SHA-256 is `7c6fc794ac699c6a42f7be8871cbc37f1bb2cfc5c4b7db1598ef8bc6f6d85cca` and final label archive SHA-256 is `9829ffb22f9989444eb80996cfa9fd481dd0c579547e6c5c6cd6ba9aea82d2cd`, with rollback copies under `/home/ollama/momo-deploy-backups/analytics-period-contract-20260715T090919Z-ec40d16` and `/home/ollama/momo-deploy-backups/analytics-period-label-20260715T091335Z-d74aa60`. Internal/external `/health` is healthy at V10.807; app-only recreate preserved scheduler, Telegram bot and `momo-db` ID `cd092451cb5fd555d0ffff70642e109f3b742882c418beeab631793d1e9dc55d`. Runner recovery remains a release-governance gap and is not replaced by fallback evidence. |
|
||||
| 11 | `REL-P0-001` | In progress (`runtime_verified_cd_degraded`) | Formal deploy and visible proof discipline | Production runtime source object is `2647632660673e9f1533e61922c96e4fb4adcb40`; the corresponding dev runtime merge is `25f4029df1b28801f0c5c3fe5b64d51855d9bd64`. Host 110 still exposes only paused `vibework-dedicated-runner`, with no matching EwoooC runner, so this release has no formal CD execution receipt. The V10.807 analytics archives and rollback copies remain valid evidence; the current V10.809 exact-object archive SHA-256 is `6905f3445c4afdd93773eaaf6ea3ce32c511b2c1924011da2628c463955fc11e`, with rollback copy `/home/ollama/momo-deploy-backups/growth-source-readback-20260715T093401Z-2647632`. Internal/external `/health` is healthy at V10.809; only app and scheduler were recreated, Telegram bot ID stayed `1d4bd922f6ad1252177ba40f16ea172dcd5eb1de1b4c999c00f4a3141bd06ca5`, and `momo-db` stayed running at immutable ID `cd092451cb5fd555d0ffff70642e109f3b742882c418beeab631793d1e9dc55d`. Runner recovery remains a release-governance gap and is not replaced by fallback evidence. |
|
||||
|
||||
### GROWTH-P0-001 Fixed Execution Lanes
|
||||
|
||||
@@ -35,8 +35,8 @@ These lanes are one ordered current P0, not optional side work. They must advanc
|
||||
| Lane | Status | Production baseline | Next machine action |
|
||||
|---|---|---|---|
|
||||
| A. Sales freshness | In progress (`sla_runtime_closed_source_redundancy_partial`) | Latest sales date `2026-07-13`; before the `2026-07-15 20:00` cutoff, raw lag is `2` but SLA lag is `0`, state is `grace` and decisions remain released. Scheduler receipt `0f24219e0bbb4740b7ad6645e7952296` and explicit canary receipt `6e2df008f65544fe8e557c11ff0dbb93` both persisted `completed_no_write`; durable decision is `no_candidate_fresh_no_write`. Live and persisted readiness now agree at Google Drive `1/4`; HTTPS, IMAP and local remain disabled. | Continue automatic report-arrival reconciliation. At/after 20:00 require `2026-07-14` or automatically block decision use, emit the bounded upstream action and verify the next arrival receipt; keep source redundancy partial until another approved source is live. |
|
||||
| B. Verified same-item evidence | In progress | TOP50 fixed cohort: `24` verified, `1` candidate/source validation, `25` unmatched. Count coverage is `48%`; revenue-weighted coverage is `NT$204,975 / NT$354,062 = 57.9%`. V10.797 outer-pack false exact candidates were quarantined without deletion; V10.798 normalizes nested quantity, V10.799 fixes cohort membership, and V10.801 run `7b3b140c076b43be8c79bd85448fbc49` added three independently verified Yahoo offers without changing fingerprint `7b74504fcc1e1801c2ca2b42`. | Continue the next revenue-weighted unresolved batch only when source evidence is fresh, preserve deterministic identity/unit/variant gates, and publish count/revenue deltas against the same fingerprint per run. |
|
||||
| C. Platform runtime coverage | In progress (`runtime_canary_activated`) | V10.801 is live; Yahoo run `7b3b140c076b43be8c79bd85448fbc49` separated one unit-price candidate, wrote/read back three exact offers and atomically enabled the source after exceeding the two-offer threshold. Formal runtime is now `2/15`; PixelRAG remains evidence-only. | Repeat bounded refresh on schedule, monitor expiry/recurrence/rollback signals, then implement the next approved structured source contract for Shopee, Coupang, ETMall, Friday or Rakuten without treating blocked pages as product data. |
|
||||
| B. Verified same-item evidence | In progress | TOP50 fixed cohort: `25` verified, `1` candidate/source validation, `24` unmatched. Count coverage is `50%`; revenue-weighted coverage is `NT$211,667 / NT$354,062 = 59.782%`. V10.809 preserves fingerprint `7b74504fcc1e1801c2ca2b42`; run `34999f5314054f09909663b46fc42ee2` added one independently verified offer (`+2.0pp` count, `+1.89pp` revenue), while run `e1508ec3a49241d1965bc99d428b0325` correctly ended no-write. Their durable artifact SHA-256 values are `994beba6dfa70ef8c50031f130916ee155657dd77ac8a2f59b6530b491d45d1e` and `e58be7bb07599871a8f318ad63885bd868c786b0144b81ba0980ae80cf556541`. | Retry unresolved candidates only after fresh evidence arrives, preserve deterministic identity/unit/variant gates, and publish count/revenue deltas against the same fingerprint per run. |
|
||||
| C. Platform runtime coverage | In progress (`runtime_canary_activated`) | V10.809 is live. Yahoo is durably active and exact-offer canary readback remains valid; an already-active canary now returns `already_active_verified`, `state_changed=false` and `writes_database_count=0`, while latest no-write receipts no longer erase durable activation truth. Formal runtime is `2/15`; PixelRAG remains evidence-only. | Continue bounded refresh on schedule, monitor expiry/recurrence/rollback signals, then implement the next approved structured source contract for Shopee, Coupang, ETMall, Friday or Rakuten without treating blocked pages as product data. |
|
||||
|
||||
### Analytics Period-Linkage Closure
|
||||
|
||||
@@ -46,7 +46,7 @@ This bounded interruption is closed and control returns to `GROWTH-P0-001` witho
|
||||
|---|---|---|
|
||||
| Program | Completed for the four primary analysis tabs | Daily sales, sales analysis, growth analysis and monthly summary now share one canonical day/month/range contract; cross-tab links preserve the selected period. |
|
||||
| Asset coverage | `4/4` pages and `2/2` sales async APIs verified | Daily KPI/calendar/charts/Top 10, growth KPI/series, monthly KPI/tables/charts and sales KPI/charts/YoY/detail table all use the active period. Historical current-snapshot mixing and blank monthly charts are replaced by explicit honest states. |
|
||||
| Runtime closure | V10.807 production verified | `2026-04` daily has 30 labels; growth exposes only `2026-04`; monthly reports zero current rows without borrowing another month; sales loads 35,240 April records, renders 25 table rows from a 300-row API result, and aligns YoY to `2025-04-01..04-30` versus `2026-04-01..04-30` at `NT$10,635,583 -> NT$16,848,774 (+58.42%)`. Desktop/mobile overflow is zero and the temporary read-only QA service/tunnel were removed. |
|
||||
| Runtime closure | V10.807 contract retained in current V10.809 production | `2026-04` daily has 30 labels; growth exposes only `2026-04`; monthly reports zero current rows without borrowing another month; sales loads 35,240 April records, renders 25 table rows from a 300-row API result, and aligns YoY to `2025-04-01..04-30` versus `2026-04-01..04-30` at `NT$10,635,583 -> NT$16,848,774 (+58.42%)`. Desktop/mobile overflow is zero and the temporary read-only QA service/tunnel were removed. |
|
||||
| Verification | Passed with bounded residual | Full regression before the final API/schema edge fixes: `2,113 passed / 9 skipped`; final analytics scope: `20 passed`, JavaScript/Python/Jinja compile checks and diff checks passed. Formal CD remains degraded because no matching runner executed the release. |
|
||||
|
||||
## P1
|
||||
@@ -58,10 +58,10 @@ This bounded interruption is closed and control returns to `GROWTH-P0-001` witho
|
||||
| 14 | `APPSEC-P1-001` | In progress | CSP and DOM/XSS hardening | Security headers are present and CSP is report-only. Collect violations, remove high-risk `innerHTML`/inline sinks, then enforce CSP by canary. |
|
||||
| 15 | `APPSEC-P1-002` | Not started | Unsafe shared-cache serialization removal | Replace writable pickle caches in dashboard/daily-sales/EDM/sales with constrained JSON or signed schema. |
|
||||
| 16 | `ARCH-P1-001` | In progress | Split oversized policy/executor/verifier modules | Current top debts include 44k-line PChome mapping and 14k-line smoke service. Split by bounded family and independent tests. |
|
||||
| 17 | `UX-P1-001` | In progress | Professional full-site UI/UX | V10.807 closes period linkage across all four primary analysis tabs. Desktop/mobile production-code/data smoke has zero horizontal overflow; selected-period labels now appear on weekly trend and action-list sections, current-period empty data is explicit, and stale all-year labels were removed. The broader site-wide first-viewport, progressive-disclosure, accessibility and loading/error/degraded-state audit remains in progress. |
|
||||
| 17 | `UX-P1-001` | In progress | Professional full-site UI/UX | The V10.807 period-linkage contract remains live in V10.809 across all four primary analysis tabs. Desktop/mobile production-code/data smoke has zero horizontal overflow; selected-period labels now appear on weekly trend and action-list sections, current-period empty data is explicit, and stale all-year labels were removed. The broader site-wide first-viewport, progressive-disclosure, accessibility and loading/error/degraded-state audit remains in progress. |
|
||||
| 18 | `PIXELRAG-P1-001` | Not started | Ollama-first multimodal embedding benchmark | Verify approved visual embedding on GCP-A -> GCP-B -> 111 and design pgvector-compatible visual metadata; FAISS remains disallowed without ADR. |
|
||||
| 19 | `MARKET-P1-001` | In progress | Marketplace source contracts | Yahoo Shopping V10.801 is active in production with public-boundary allowlists, bounded streaming/rate, provenance, current product-detail readback, stock/spec/variant guards, source-specific promotion partition and exact canary activation. Three fresh verified offers drive formal decisions; the deferred unit-price candidate does not. Shopee, Coupang, ETMall, Friday and Rakuten still require equivalent structured contracts, and blocked pages remain non-product data. |
|
||||
| 20 | `QA-P1-001` | In progress | Deterministic test and CI governance | Latest broad regression before the final analytics API/schema edge fixes is `2,113 passed / 9 skipped / 0 failed`; the final analytics/date-linkage scope is `20 passed`. V10.807 production page/API/network and mobile/desktop evidence is verified, but no matching EwoooC runner executed this release, so CI/CD parity is not claimed and exact-object fallback receipts remain separate evidence. |
|
||||
| 19 | `MARKET-P1-001` | In progress | Marketplace source contracts | Yahoo Shopping V10.809 is active in production with public-boundary allowlists, bounded streaming/rate, provenance, current product-detail readback, stock/spec/variant guards, source-specific promotion partition, idempotent exact canary activation and durable activation readback across no-write runs. Four fresh verified Yahoo offers now contribute formal evidence across completed batches; non-exact and unit-price candidates do not. Shopee, Coupang, ETMall, Friday and Rakuten still require equivalent structured contracts, and blocked pages remain non-product data. |
|
||||
| 20 | `QA-P1-001` | In progress | Deterministic test and CI governance | Latest broad regression before the final analytics API/schema edge fixes is `2,113 passed / 9 skipped / 0 failed`; final analytics/date-linkage scope is `20 passed`, and current Yahoo source-contract/idempotency/readback scope is `73 passed`. V10.809 production health and runtime readback are verified, and V10.807 page/API/network plus mobile/desktop evidence remains valid. No matching EwoooC runner executed these releases, so CI/CD parity is not claimed and exact-object fallback receipts remain separate evidence. |
|
||||
|
||||
## P2
|
||||
|
||||
|
||||
Reference in New Issue
Block a user