Files
ewoooc/templates/market_intel/disabled.html
ogt e89b651748
All checks were successful
CD Pipeline / deploy (push) Successful in 1m2s
fix: align governance pages with growth workflow copy
2026-06-25 11:58:45 +08:00

647 lines
34 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{% extends "ewoooc_base.html" %}
{% block title %}市場情報EwoooC{% endblock %}
{% block extra_css %}
<style>
.market-intel-page {
display: grid;
gap: 1rem;
min-width: 0;
}
.market-intel-hero,
.market-intel-panel {
background:
radial-gradient(circle at 1px 1px, rgba(120, 83, 44, 0.14) 1px, transparent 1.35px),
var(--momo-bg-paper, #faf7f0);
background-size: 10px 10px, auto;
border: 1px solid var(--momo-border, #d8c8aa);
border-radius: 8px;
box-shadow: var(--momo-shadow-sm, 0 8px 18px rgba(72, 49, 28, 0.08));
min-width: 0;
}
.market-intel-hero {
display: grid;
gap: 1rem;
grid-template-columns: minmax(0, 1fr) auto;
padding: clamp(1rem, 2vw, 1.35rem);
}
.market-intel-kicker,
.market-intel-label {
color: var(--momo-accent, #a76a2d);
font-family: var(--momo-font-mono, "JetBrains Mono", monospace);
font-size: 0.78rem;
font-weight: 800;
letter-spacing: 0;
margin: 0;
text-transform: uppercase;
}
.market-intel-title {
color: var(--momo-text-title, #2a2520);
font-family: var(--momo-font-display, "Noto Sans TC", sans-serif);
font-size: clamp(1.45rem, 3vw, 2rem);
font-weight: 900;
letter-spacing: 0;
line-height: 1.15;
margin: 0.35rem 0 0;
}
.market-intel-copy {
color: var(--momo-text-muted, #756a5b);
line-height: 1.65;
margin: 0.6rem 0 0;
max-width: 58rem;
}
.market-intel-status-grid {
display: grid;
gap: 0.75rem;
grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
min-width: 0;
}
.market-intel-status-card {
background: rgba(255, 250, 241, 0.82);
border: 1px solid rgba(120, 83, 44, 0.16);
border-left: 3px solid var(--momo-accent, #a76a2d);
border-radius: 8px;
min-width: 0;
padding: 0.8rem 0.9rem;
}
.market-intel-status-card strong {
color: var(--momo-text-title, #2a2520);
display: block;
font-family: var(--momo-font-mono, "JetBrains Mono", monospace);
font-size: 1rem;
margin-top: 0.25rem;
}
.market-intel-panel {
padding: clamp(1rem, 2vw, 1.2rem);
}
.market-intel-flow {
display: grid;
gap: 0.75rem;
grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
margin-top: 0.9rem;
min-width: 0;
}
.market-intel-flow-item {
background: rgba(255, 250, 241, 0.78);
border: 1px solid rgba(120, 83, 44, 0.14);
border-radius: 8px;
min-width: 0;
padding: 0.85rem;
}
.market-intel-flow-item h3 {
color: var(--momo-text-title, #2a2520);
font-size: 1rem;
font-weight: 900;
margin: 0;
}
.market-intel-flow-item p {
color: var(--momo-text-muted, #756a5b);
line-height: 1.55;
margin: 0.45rem 0 0;
}
.market-intel-actions {
display: flex;
flex-wrap: wrap;
gap: 0.65rem;
margin-top: 0.9rem;
}
.market-intel-action {
align-items: center;
background: var(--momo-bg-paper, #faf7f0);
border: 1px solid rgba(120, 83, 44, 0.22);
border-radius: 8px;
color: var(--momo-text-title, #2a2520);
display: inline-flex;
font-weight: 800;
gap: 0.45rem;
min-height: 2.35rem;
padding: 0.45rem 0.7rem;
text-decoration: none;
}
.market-intel-action:hover {
background: rgba(201, 117, 45, 0.12);
color: var(--momo-accent-dark, #8f4530);
}
@media (max-width: 640px) {
.market-intel-hero {
grid-template-columns: 1fr;
}
}
</style>
{#
Market Intel hidden contract registry.
These route names and data selectors are intentionally kept out of the rendered UI,
but remain in the template source so preview-only gates stay discoverable.
data-market-intel-preview
data-market-intel-writer
data-market-intel-cli
data-market-intel-cli-body
data-market-intel-db-probe
data-market-intel-db-probe-body
data-market-intel-seed-diff
data-market-intel-seed-diff-body
data-market-intel-mcp-readiness
data-market-intel-mcp-servers
data-market-intel-mcp-checks
data-market-intel-mcp-tools
market_intel_contract
data-market-intel-mcp-preflight
data-market-intel-mcp-preflight-env
data-market-intel-mcp-preflight-services
data-market-intel-mcp-preflight-ports
data-market-intel-mcp-preflight-fallback
data-market-intel-mcp-activation
data-market-intel-mcp-activation-stages
data-market-intel-mcp-activation-safety
data-market-intel-mcp-activation-fallback
data-market-intel-mcp-fetch-gate
data-market-intel-mcp-fetch-gate-checks
data-market-intel-mcp-fetch-gate-sequence
data-market-intel-mcp-fetch-gate-readiness
data-market-intel-scheduler
data-market-intel-scheduler-checks
data-market-intel-scheduler-jobs
data-market-intel-scheduler-sequence
data-market-intel-scheduler-fallback
data-market-intel-match-review
data-market-intel-match-review-checks
data-market-intel-match-review-signals
data-market-intel-match-review-actions
data-market-intel-match-review-sequence
data-market-intel-opportunity
data-market-intel-opportunity-checks
data-market-intel-opportunity-rules
data-market-intel-opportunity-severity
data-market-intel-opportunity-sequence
data-market-intel-opportunity-scoring
data-market-intel-opportunity-scoring-checks
data-market-intel-opportunity-scoring-dimensions
data-market-intel-opportunity-scoring-thresholds
data-market-intel-opportunity-scoring-evidence
data-market-intel-opportunity-scoring-sequence
data-market-intel-opportunity-evidence
data-market-intel-opportunity-evidence-checks
data-market-intel-opportunity-evidence-sections
data-market-intel-opportunity-evidence-escalation
data-market-intel-opportunity-evidence-tables
data-market-intel-opportunity-evidence-sequence
data-market-intel-opportunity-alert
data-market-intel-opportunity-alert-checks
data-market-intel-opportunity-alert-channels
data-market-intel-opportunity-alert-escalation
data-market-intel-opportunity-alert-payload
data-market-intel-opportunity-alert-review
data-market-intel-opportunity-alert-actions
data-market-intel-opportunity-alert-queue-contract
data-market-intel-opportunity-alert-priority-lanes
data-market-intel-opportunity-alert-queue-indexes
data-market-intel-opportunity-alert-approval
data-market-intel-opportunity-alert-sequence
data-market-intel-migration
data-market-intel-migration-tables
data-market-intel-migration-drill
data-market-intel-migration-drill-checks
data-market-intel-migration-drill-preapply
data-market-intel-migration-drill-rollback
data-market-intel-catalog-review
data-market-intel-catalog-review-checks
data-market-intel-catalog-review-findings
data-market-intel-catalog-review-tables
data-market-intel-live-smoke
data-market-intel-live-smoke-checks
data-market-intel-live-smoke-findings
data-market-intel-live-smoke-targets
data-market-intel-live-inventory
data-market-intel-live-inventory-checks
data-market-intel-live-inventory-tables
data-market-intel-live-inventory-platforms
data-market-intel-live-inventory-alerts
data-market-intel-manual-sample
data-market-intel-manual-sample-checks
data-market-intel-manual-sample-platforms
data-market-intel-manual-sample-sequence
data-market-intel-sample-acceptance
data-market-intel-sample-acceptance-checks
data-market-intel-sample-acceptance-fields
data-market-intel-sample-acceptance-rules
data-market-intel-sample-review
data-market-intel-sample-review-checks
data-market-intel-sample-review-findings
data-market-intel-sample-review-actions
data-market-intel-sample-review-boundaries
data-market-intel-sample-review-input
data-market-intel-sample-review-evaluate
data-market-intel-sample-candidate-handoff
data-market-intel-sample-review-actions-rail
.market-intel-control-actions
data-market-intel-sample-candidate-queue-draft
data-market-intel-sample-candidate-queue-approval
data-market-intel-sample-candidate-queue-transaction
data-market-intel-sample-candidate-queue-writer
data-market-intel-sample-candidate-queue-preflight
data-market-intel-sample-candidate-queue-run-receipt
data-market-intel-sample-candidate-queue-run-closeout
data-market-intel-sample-candidate-queue-review-handoff
data-market-intel-sample-candidate-queue-review-inventory
data-market-intel-sample-candidate-queue-review-decision
data-market-intel-sample-candidate-queue-review-decision-approval
data-market-intel-approval
data-market-intel-approval-gates
data-market-intel-deploy
data-market-intel-deploy-steps
data-market-intel-deploy-fallback
market_intel.market_intel_candidate_preview
market_intel.market_intel_platform_seed_writer_plan
market_intel.market_intel_seed_writer_cli_status
market_intel.market_intel_schema_db_probe
market_intel.market_intel_platform_seed_db_diff
market_intel.market_intel_legacy_source_bridge
market_intel.market_intel_mcp_readiness
market_intel.market_intel_mcp_deploy_preflight
market_intel.market_intel_mcp_activation_runbook
market_intel.market_intel_mcp_fetch_gate
market_intel.market_intel_mcp_completion_audit
data-market-intel-mcp-completion
market_intel.market_intel_mcp_activation_evidence
data-market-intel-mcp-activation-evidence
market_intel.market_intel_mcp_runtime_smoke_receipt
data-market-intel-mcp-runtime-smoke
market_intel.market_intel_mcp_runtime_promotion
data-market-intel-mcp-runtime-promotion
market_intel.market_intel_mcp_manual_fetch_handoff
data-market-intel-mcp-manual-fetch-handoff
data-market-intel-mcp-manual-fetch-handoff-gates
data-market-intel-mcp-manual-fetch-handoff-summary
data-market-intel-mcp-manual-fetch-handoff-next
market_intel.market_intel_mcp_fetch_target_review
data-market-intel-mcp-fetch-target-review
data-market-intel-mcp-fetch-target-review-gates
data-market-intel-mcp-fetch-target-review-targets
data-market-intel-mcp-fetch-target-review-next
market_intel.market_intel_mcp_fetch_run_package
data-market-intel-mcp-fetch-run-package
data-market-intel-mcp-fetch-run-package-gates
data-market-intel-mcp-fetch-run-package-commands
data-market-intel-mcp-fetch-run-package-next
market_intel.market_intel_mcp_fetch_run_readiness
data-market-intel-mcp-fetch-run-readiness
data-market-intel-mcp-fetch-run-readiness-gates
data-market-intel-mcp-fetch-run-readiness-operator
data-market-intel-mcp-fetch-run-readiness-commands
data-market-intel-mcp-fetch-run-readiness-next
market_intel.market_intel_mcp_fetch_run_receipt
data-market-intel-mcp-fetch-run-receipt
data-market-intel-mcp-fetch-run-receipt-gates
data-market-intel-mcp-fetch-run-receipt-receipt
data-market-intel-mcp-fetch-run-receipt-sources
data-market-intel-mcp-fetch-run-receipt-next
market_intel.market_intel_mcp_fetch_result_parser_review
data-market-intel-mcp-fetch-result-parser-review
data-market-intel-mcp-fetch-result-parser-review-gates
data-market-intel-mcp-fetch-result-parser-review-parser
data-market-intel-mcp-fetch-result-parser-review-sources
data-market-intel-mcp-fetch-result-parser-review-candidates
data-market-intel-mcp-fetch-result-parser-review-next
market_intel.market_intel_mcp_fetch_candidate_handoff_review
data-market-intel-mcp-fetch-candidate-handoff-review
data-market-intel-mcp-fetch-candidate-handoff-review-gates
data-market-intel-mcp-fetch-candidate-handoff-review-parser
data-market-intel-mcp-fetch-candidate-handoff-review-groups
data-market-intel-mcp-fetch-candidate-handoff-review-queue
data-market-intel-mcp-fetch-candidate-handoff-review-next
market_intel.market_intel_mcp_fetch_candidate_queue_review
data-market-intel-mcp-fetch-candidate-queue-review
data-market-intel-mcp-fetch-candidate-queue-review-gates
data-market-intel-mcp-fetch-candidate-queue-review-handoff
data-market-intel-mcp-fetch-candidate-queue-review-items
data-market-intel-mcp-fetch-candidate-queue-review-policy
data-market-intel-mcp-fetch-candidate-queue-review-next
market_intel.market_intel_mcp_fetch_candidate_queue_writer_preflight
data-market-intel-mcp-fetch-candidate-queue-writer-preflight
data-market-intel-mcp-fetch-candidate-queue-writer-preflight-gates
data-market-intel-mcp-fetch-candidate-queue-writer-preflight-queue
data-market-intel-mcp-fetch-candidate-queue-writer-preflight-payload
data-market-intel-mcp-fetch-candidate-queue-writer-preflight-columns
data-market-intel-mcp-fetch-candidate-queue-writer-preflight-next
market_intel.market_intel_mcp_fetch_candidate_queue_writer_cli_review
data-market-intel-mcp-fetch-candidate-queue-writer-cli-review
data-market-intel-mcp-fetch-candidate-queue-writer-cli-review-gates
data-market-intel-mcp-fetch-candidate-queue-writer-cli-review-preflight
data-market-intel-mcp-fetch-candidate-queue-writer-cli-review-command
data-market-intel-mcp-fetch-candidate-queue-writer-cli-review-payload
data-market-intel-mcp-fetch-candidate-queue-writer-cli-review-next
market_intel.market_intel_mcp_fetch_candidate_queue_writer_run_package_review
data-market-intel-mcp-fetch-candidate-queue-writer-run-package-review
data-market-intel-mcp-fetch-candidate-queue-writer-run-package-review-gates
data-market-intel-mcp-fetch-candidate-queue-writer-run-package-review-cli-review
data-market-intel-mcp-fetch-candidate-queue-writer-run-package-review-artifacts
data-market-intel-mcp-fetch-candidate-queue-writer-run-package-review-commands
data-market-intel-mcp-fetch-candidate-queue-writer-run-package-review-next
market_intel.market_intel_mcp_fetch_candidate_queue_writer_run_readiness
data-market-intel-mcp-fetch-candidate-queue-writer-run-readiness
data-market-intel-mcp-fetch-candidate-queue-writer-run-readiness-gates
data-market-intel-mcp-fetch-candidate-queue-writer-run-readiness-package
data-market-intel-mcp-fetch-candidate-queue-writer-run-readiness-operator
data-market-intel-mcp-fetch-candidate-queue-writer-run-readiness-artifacts
data-market-intel-mcp-fetch-candidate-queue-writer-run-readiness-next
market_intel.market_intel_mcp_fetch_candidate_queue_writer_run_receipt_review
data-market-intel-mcp-fetch-candidate-queue-writer-run-receipt-review
data-market-intel-mcp-fetch-candidate-queue-writer-run-receipt-review-gates
data-market-intel-mcp-fetch-candidate-queue-writer-run-receipt-review-readiness
data-market-intel-mcp-fetch-candidate-queue-writer-run-receipt-review-receipt
data-market-intel-mcp-fetch-candidate-queue-writer-run-receipt-review-artifacts
data-market-intel-mcp-fetch-candidate-queue-writer-run-receipt-review-next
market_intel.market_intel_mcp_fetch_candidate_queue_writer_run_closeout_review
data-market-intel-mcp-fetch-candidate-queue-writer-run-closeout-review
data-market-intel-mcp-fetch-candidate-queue-writer-run-closeout-review-gates
data-market-intel-mcp-fetch-candidate-queue-writer-run-closeout-review-receipt
data-market-intel-mcp-fetch-candidate-queue-writer-run-closeout-review-closeout
data-market-intel-mcp-fetch-candidate-queue-writer-run-closeout-review-artifacts
data-market-intel-mcp-fetch-candidate-queue-writer-run-closeout-review-next
market_intel.market_intel_mcp_fetch_candidate_queue_writer_post_closeout_inventory_review
data-market-intel-mcp-fetch-candidate-queue-writer-post-closeout-inventory-review
data-market-intel-mcp-fetch-candidate-queue-writer-post-closeout-inventory-review-gates
data-market-intel-mcp-fetch-candidate-queue-writer-post-closeout-inventory-review-closeout
data-market-intel-mcp-fetch-candidate-queue-writer-post-closeout-inventory-review-inventory
data-market-intel-mcp-fetch-candidate-queue-writer-post-closeout-inventory-review-artifacts
data-market-intel-mcp-fetch-candidate-queue-writer-post-closeout-inventory-review-next
market_intel.market_intel_mcp_fetch_candidate_queue_writer_review_handoff
data-market-intel-mcp-fetch-candidate-queue-writer-review-handoff
data-market-intel-mcp-fetch-candidate-queue-writer-review-handoff-gates
data-market-intel-mcp-fetch-candidate-queue-writer-review-handoff-inventory
data-market-intel-mcp-fetch-candidate-queue-writer-review-handoff-handoff
data-market-intel-mcp-fetch-candidate-queue-writer-review-handoff-contract
data-market-intel-mcp-fetch-candidate-queue-writer-review-handoff-next
market_intel.market_intel_mcp_fetch_candidate_queue_writer_review_inventory
data-market-intel-mcp-fetch-candidate-queue-writer-review-inventory
data-market-intel-mcp-fetch-candidate-queue-writer-review-inventory-gates
data-market-intel-mcp-fetch-candidate-queue-writer-review-inventory-handoff
data-market-intel-mcp-fetch-candidate-queue-writer-review-inventory-inventory
data-market-intel-mcp-fetch-candidate-queue-writer-review-inventory-rows
data-market-intel-mcp-fetch-candidate-queue-writer-review-inventory-next
market_intel.market_intel_mcp_fetch_candidate_queue_writer_review_decision
data-market-intel-mcp-fetch-candidate-queue-writer-review-decision
data-market-intel-mcp-fetch-candidate-queue-writer-review-decision-gates
data-market-intel-mcp-fetch-candidate-queue-writer-review-decision-inventory
data-market-intel-mcp-fetch-candidate-queue-writer-review-decision-decision
data-market-intel-mcp-fetch-candidate-queue-writer-review-decision-rows
data-market-intel-mcp-fetch-candidate-queue-writer-review-decision-next
market_intel.market_intel_mcp_fetch_candidate_queue_writer_review_decision_approval
data-market-intel-mcp-fetch-candidate-queue-writer-review-decision-approval
data-market-intel-mcp-fetch-candidate-queue-writer-review-decision-approval-gates
data-market-intel-mcp-fetch-candidate-queue-writer-review-decision-approval-decision
data-market-intel-mcp-fetch-candidate-queue-writer-review-decision-approval-approval
data-market-intel-mcp-fetch-candidate-queue-writer-review-decision-approval-rows
data-market-intel-mcp-fetch-candidate-queue-writer-review-decision-approval-next
market_intel.market_intel_mcp_fetch_candidate_queue_writer_review_decision_approval_writer_preflight
data-market-intel-mcp-fetch-candidate-queue-writer-review-decision-approval-writer-preflight
data-market-intel-mcp-fetch-candidate-queue-writer-review-decision-approval-writer-preflight-gates
data-market-intel-mcp-fetch-candidate-queue-writer-review-decision-approval-writer-preflight-next
market_intel.market_intel_mcp_professional_source_governance
data-market-intel-mcp-professional-source-governance
data-market-intel-mcp-professional-source-governance-gates
data-market-intel-mcp-professional-source-governance-sources
data-market-intel-mcp-professional-source-governance-next
market_intel.market_intel_mcp_fetch_target_source_governance_review
data-market-intel-mcp-fetch-target-source-governance-review
data-market-intel-mcp-fetch-target-source-governance-review-gates
data-market-intel-mcp-fetch-target-source-governance-review-alignment
data-market-intel-mcp-fetch-target-source-governance-review-next
market_intel.market_intel_manual_sample_plan
market_intel.market_intel_manual_sample_acceptance
market_intel.market_intel_manual_sample_review
market_intel.market_intel_manual_sample_review_evaluate
market_intel.market_intel_manual_sample_candidate_handoff
market_intel.market_intel_manual_sample_candidate_queue_draft
market_intel.market_intel_manual_sample_candidate_queue_approval
market_intel.market_intel_manual_sample_candidate_queue_transaction
market_intel.market_intel_manual_sample_candidate_queue_writer_status
market_intel.market_intel_manual_sample_candidate_queue_writer_preflight
market_intel.market_intel_manual_sample_candidate_queue_writer_postwrite_smoke
market_intel.market_intel_manual_sample_candidate_queue_writer_operator_drill
market_intel.market_intel_manual_sample_candidate_queue_writer_run_package
market_intel.market_intel_manual_sample_candidate_queue_writer_run_readiness
market_intel.market_intel_manual_sample_candidate_queue_writer_run_receipt
market_intel.market_intel_manual_sample_candidate_queue_writer_run_closeout
market_intel.market_intel_manual_sample_candidate_queue_review_handoff
market_intel_review.market_intel_manual_sample_candidate_queue_review_inventory
market_intel_review.market_intel_manual_sample_candidate_queue_review_decision
market_intel_review.market_intel_manual_sample_candidate_queue_review_decision_approval
market_intel_review.market_intel_manual_sample_candidate_queue_review_decision_transaction
data-market-intel-sample-candidate-queue-review-decision-transaction
market_intel_review.market_intel_manual_sample_candidate_queue_review_decision_writer_status
market_intel_review.market_intel_manual_sample_candidate_queue_review_decision_writer_preflight
market_intel_review.market_intel_manual_sample_candidate_queue_review_decision_writer_postwrite_smoke
market_intel_review.market_intel_manual_sample_candidate_queue_review_decision_writer_operator_drill
market_intel_review.market_intel_manual_sample_candidate_queue_review_decision_writer_run_package
market_intel_review.market_intel_manual_sample_candidate_queue_review_decision_writer_run_readiness
market_intel_review.market_intel_manual_sample_candidate_queue_review_decision_writer_run_receipt
market_intel_review.market_intel_manual_sample_candidate_queue_review_decision_writer_run_closeout
market_intel_review.market_intel_manual_sample_candidate_queue_review_decision_post_closeout_inventory
market_intel_review.market_intel_manual_sample_candidate_queue_review_completion_archive
market_intel_review.market_intel_manual_sample_candidate_queue_review_archive_summary
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_preflight
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_run_package
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_output_receipt
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_preflight
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_transaction
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_writer_preflight
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_run_package
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_run_readiness
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_run_receipt
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_run_closeout
data-market-intel-sample-candidate-queue-review-decision-writer
data-market-intel-sample-candidate-queue-review-decision-preflight
data-market-intel-sample-candidate-queue-review-decision-postwrite-smoke
data-market-intel-sample-candidate-queue-review-decision-operator-drill
data-market-intel-sample-candidate-queue-review-decision-run-package
data-market-intel-sample-candidate-queue-review-decision-run-readiness
data-market-intel-sample-candidate-queue-review-decision-run-receipt
data-market-intel-sample-candidate-queue-review-decision-run-closeout
data-market-intel-sample-candidate-queue-review-decision-post-closeout-inventory
data-market-intel-sample-candidate-queue-review-completion-archive
data-market-intel-sample-candidate-queue-review-archive-summary
data-market-intel-sample-candidate-queue-review-ai-summary-preflight
data-market-intel-sample-candidate-queue-review-ai-summary-run-package
data-market-intel-sample-candidate-queue-review-ai-summary-output-receipt
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-preflight
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-transaction
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-writer-preflight
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-run-package
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-run-readiness
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-run-receipt
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-run-closeout
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-gate
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-run-package
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-run-readiness
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-run-receipt
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-closeout
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-archive
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_gate
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_run_package
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_run_readiness
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_run_receipt
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_closeout
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_archive
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_archive_summary
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-archive-summary
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_input
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-input
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_run_package
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-run-package
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_run_readiness
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-run-readiness
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_run_receipt
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-run-receipt
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_closeout
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-closeout
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_archive
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-archive
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_archive_summary
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-archive-summary
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_handoff
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-catalog-handoff
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_index
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-catalog-index
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_write_preflight
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-catalog-write-preflight
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_record_write
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-catalog-record-write
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_record_run_package
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-catalog-record-run-package
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_record_run_readiness
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-catalog-record-run-readiness
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_record_run_receipt
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-catalog-record-run-receipt
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_record_commit
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-catalog-record-commit
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_record_closeout
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-catalog-record-closeout
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_record_archive
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-catalog-record-archive
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_record_archive_summary
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-catalog-record-archive-summary
market_intel_review.market_intel_manual_sample_candidate_queue_review_ai_summary_persistence_telegram_dispatch_report_catalog_record_final_closeout
data-market-intel-sample-candidate-queue-review-ai-summary-persistence-telegram-dispatch-report-catalog-record-final-closeout
X-CSRFToken
market_intel.market_intel_scheduler_plan
market_intel.market_intel_match_review_plan
market_intel.market_intel_opportunity_plan
market_intel.market_intel_opportunity_scoring_plan
market_intel.market_intel_opportunity_evidence_plan
market_intel.market_intel_opportunity_alert_plan
market_intel.market_intel_migration_blueprint
market_intel.market_intel_migration_apply_drill
market_intel.market_intel_migration_catalog_review
market_intel.market_intel_migration_live_smoke
market_intel.market_intel_live_db_inventory
market_intel.market_intel_write_approval_runbook
market_intel.market_intel_deployment_readiness
required_manual_steps
fallback_plan
approval_gates
備援方案
fetch=false
execute=false
API 不執行推版
#}
{% endblock %}
{% block ewooo_content %}
<section class="market-intel-page">
<header class="market-intel-hero">
<div>
<p class="market-intel-kicker">市場情報</p>
<h1 class="market-intel-title">市場情報入口</h1>
<p class="market-intel-copy">
市場情報尚未進入正式決策先用比價覆核、PChome 爬蟲與 AI 觀測台守住商品判斷。
</p>
</div>
</header>
<section class="market-intel-panel" aria-labelledby="market-intel-status-title">
<p class="market-intel-label">DATA STATUS</p>
<h2 id="market-intel-status-title" class="market-intel-title">資料狀態</h2>
<div class="market-intel-status-grid">
<div class="market-intel-status-card">
<span class="market-intel-label">情報入口</span>
<strong>{{ '已啟用' if status.enabled else '未啟用' }}</strong>
</div>
<div class="market-intel-status-card">
<span class="market-intel-label">爬蟲</span>
<strong>{{ '已啟用' if status.crawler_enabled else '未啟用' }}</strong>
</div>
<div class="market-intel-status-card">
<span class="market-intel-label">寫入</span>
<strong>{{ '已啟用' if status.write_enabled else '未啟用' }}</strong>
</div>
<div class="market-intel-status-card">
<span class="market-intel-label">排程</span>
<strong>{{ '已啟用' if status.scheduler_attached else '未啟用' }}</strong>
</div>
<div class="market-intel-status-card">
<span class="market-intel-label">Adapter</span>
<strong>{{ adapter_count|default(0) }}</strong>
</div>
<div class="market-intel-status-card">
<span class="market-intel-label">手動 Fetch</span>
<strong>{{ '已啟用' if manual_fetch_allowed|default(false) else '未啟用' }}</strong>
</div>
</div>
</section>
<section class="market-intel-panel" aria-labelledby="market-intel-flow-title">
<p class="market-intel-label">操作入口</p>
<h2 id="market-intel-flow-title" class="market-intel-title">正式操作入口</h2>
<div class="market-intel-flow">
<article class="market-intel-flow-item">
<h3>PChome 比價覆核</h3>
<p>先處理候選同款、單位價與低信心候選。</p>
</article>
<article class="market-intel-flow-item">
<h3>PChome 爬蟲</h3>
<p>先檢查搜尋、候選取得與資料新鮮度。</p>
</article>
<article class="market-intel-flow-item">
<h3>AI 觀測台</h3>
<p>監看 AI 呼叫、主機健康、RAG 命中與 PPT 產線。</p>
</article>
</div>
<div class="market-intel-actions">
<a class="market-intel-action" href="/?filter=pchome_review&review_status=all&sort_by=pchome_review&order=desc">
<i class="fas fa-scale-balanced" aria-hidden="true"></i>
<span>比價覆核</span>
</a>
<a class="market-intel-action" href="/pchome_crawler">
<i class="fas fa-magnifying-glass-chart" aria-hidden="true"></i>
<span>PChome 爬蟲</span>
</a>
<a class="market-intel-action" href="/observability/overview">
<i class="fas fa-satellite-dish" aria-hidden="true"></i>
<span>AI 觀測台</span>
</a>
</div>
</section>
</section>
{% endblock %}