feat(pchome): close freshness and multi-market decision gaps
Some checks failed
CD Pipeline / deploy (push) Has been cancelled

This commit is contained in:
ogt
2026-07-10 21:22:42 +08:00
parent 744cd946f3
commit b8cc27e4c4
29 changed files with 1373 additions and 123 deletions

View File

@@ -582,3 +582,77 @@ N8N_PROTOCOL=http
N8N_WEBHOOK_BASE_URL=http://192.168.0.110:5678/
N8N_USER=admin
N8N_PASSWORD=change-me
# ──────────────────────────────────────────────────────────────────────────
# 2026-07-10 runtime contract inventory
# Keep every os.getenv key discoverable without exposing production secrets.
# ──────────────────────────────────────────────────────────────────────────
FLASK_ENV=production
KUBERNETES_SERVICE_HOST=
CICD_PROD_BASE_URL=https://mo.wooo.work
CICD_UAT_BASE_URL=https://uat.mo.wooo.work
SCHEDULER_STATS_PATH=/app/data/scheduler_stats.json
DAILY_SALES_IMPORT_MAX_STALE_DAYS=3
DAILY_SALES_IMPORT_STALENESS_GUARD_ENABLED=true
GOOGLE_DRIVE_CREDENTIALS_FILE=/app/config/google_credentials.json
GOOGLE_DRIVE_TOKEN_FILE=/app/config/google_token.json
GOOGLE_DRIVE_LEGACY_PICKLE_FILE=/app/config/google_token.pickle
EXTERNAL_OFFER_SYNC_LIMIT=500
MOMO_TARGETED_SEARCH_LIMIT_PER_TERM=3
MOMO_TARGETED_SEARCH_MAX_PRODUCTS=8
MOMO_TARGETED_SEARCH_MAX_TERMS=3
MOMO_TARGETED_SEARCH_MIN_SCORE=0.5
PCHOME_GROWTH_MOMO_BACKFILL_LIMIT=8
PCHOME_GROWTH_BACKFILL_COOLDOWN_HOURS=4
PCHOME_GROWTH_BACKFILL_RETRY_HOURS=1
PCHOME_PUBLIC_API_TIMEOUT_SECONDS=4
PCHOME_SALES_JOIN_BY_MOMO_SKU_ENABLED=false
PCHOME_STALE_RECOVERY_ENABLED=true
PCHOME_FEEDER_TTL_HOURS=24
PCHOME_FEEDER_BACKFILL_TIMEOUT=12
PCHOME_FEEDER_BACKFILL_MAX_SEARCH_TERMS=6
PCHOME_FEEDER_BACKFILL_MAX_SECONDS_PER_SKU=45
PCHOME_FEEDER_BACKFILL_SEARCH_MAX_PAGES=2
PCHOME_BACKFILL_EXPIRED_REFRESH_LIMIT=40
PCHOME_BACKFILL_RETRYABLE_LIMIT=40
PCHOME_BACKFILL_REVALIDATION_LIMIT=40
PCHOME_BACKFILL_UNMATCHED_LIMIT=40
MOMO_PCHOME_AUTO_POLICY_DECISION_PREFLIGHT_BATCH_SIZE=20
MOMO_PCHOME_AUTO_POLICY_DECISION_PREFLIGHT_TIMEOUT_SECONDS=12
MOMO_PCHOME_AUTO_POLICY_GUARD_BATCH_SIZE=20
MOMO_PCHOME_AUTO_POLICY_GUARD_LIMIT=50
MOMO_PCHOME_AUTO_POLICY_GUARD_TIMEOUT_SECONDS=12
MOMO_PCHOME_DRIFT_MONITOR_DB_STATEMENT_TIMEOUT_MS=12000
MCP_FAST_STATIC_FALLBACK=true
MCP_OLLAMA_NUM_PREDICT=512
MCP_OLLAMA_TIMEOUT=45
OLLAMA_SECONDARY_MODEL_FALLBACK=
OLLAMA_SECONDARY_MODEL_FALLBACK_PATTERNS=
PIXELRAG_VISUAL_EVIDENCE_ROOT=/app/data/pixelrag/evidence
PIXELRAG_VISUAL_EVIDENCE_MANIFEST_QUEUE_ROOT=/app/data/pixelrag/manifest_queue
PIXELRAG_VISUAL_EVIDENCE_MAX_AGE_HOURS=24
PIXELRAG_PLATFORM_PROBE_CAPTURE_OUTPUT_ROOT=/app/data/pixelrag/platform_probe
PIXELRAG_PLATFORM_PROBE_WORKER_RECEIPT_ROOT=/app/data/pixelrag/receipts/platform_probe
PIXELRAG_SOURCE_CONTRACT_REPLAY_RECEIPT_ROOT=/app/data/pixelrag/receipts/source_contract
PIXELRAG_MARKETPLACE_ADAPTER_DRY_RUN_RECEIPT_ROOT=/app/data/pixelrag/receipts/adapter_dry_run
PIXELRAG_MARKETPLACE_ADAPTER_PREFLIGHT_RECEIPT_ROOT=/app/data/pixelrag/receipts/adapter_preflight
PIXELRAG_MARKETPLACE_CANDIDATE_KNOWLEDGE_REPLAY_RECEIPT_ROOT=/app/data/pixelrag/receipts/knowledge_replay
PIXELRAG_MARKETPLACE_EMBEDDING_SIGNATURE_GUARD_REPLAY_RECEIPT_ROOT=/app/data/pixelrag/receipts/embedding_guard
PIXELRAG_MARKETPLACE_IDENTITY_MATCHER_REPLAY_RECEIPT_ROOT=/app/data/pixelrag/receipts/identity_matcher
PIXELRAG_MARKETPLACE_PROMOTION_GATE_REPLAY_RECEIPT_ROOT=/app/data/pixelrag/receipts/promotion_gate
PIXELRAG_VLM_REPLAY_RECEIPT_ROOT=/app/data/pixelrag/receipts/vlm_replay
PIXELRAG_VLM_MODEL=qwen3-vl
PIXELRAG_VLM_MODEL_CANDIDATES=qwen3-vl,minicpm-v
MOMO_SITEWIDE_VISUAL_QA_ARTIFACT=/app/data/runtime_artifacts/sitewide_visual_qa.json
MOMO_SITEWIDE_VISUAL_QA_MAX_AGE_HOURS=24
PPT_SCHEDULED_FAST_FALLBACK=true
TELEGRAM_WEBHOOK_SECRET_REQUIRED=true
TELEGRAM_WEBHOOK_SECRET_TOKEN=