# Market Intel Deploy Release

- Generated: `2026-06-11T21:35:56+00:00`
- Transfer ready: `False`
- Production complete: `False`
- Local production complete: `False`
- Remote evidence complete: `False`
- Deploy mode: `docker`
- Package: `-`
- SHA256: `b32e3e95beb3b1510238b1838b6c56b924b7f4e2d7acc79a7a810bbedc33bfa3`
- Checksum file: `-`
- Release upload bundle ready: `True`
- Release upload bundle dir: `deploy_uploads/market-intel-engine-20260611T064355Z-upload`
- Backup: `/app/backups/20260611T213456Z`
- Failed gates: `requirements_complete, readiness_clear, deploy_mode_selected, deployment_clear, env_clear, source_candidates_resolved, telegram_test_sent, health_clear`

## Completion Evidence

- Source: `incomplete`
- Required remote reports: `65/71`
- Missing remote reports: `6`
- Recurring daily operation: `True`
- Remote success days: `5/2`
- Telegram notify sent/fresh: `False/False`
- Manifest/archive verified: `True/True`

## Checks

- `release_package_verified` ERROR: package=-
- `release_checksum_verified` ERROR: checksum=-
- `release_backup_verified` OK: backup=/app/backups/20260611T213456Z
- `release_dashboard_content_ok` OK: dashboard content summary={'errors': 0, 'warnings': 0, 'theme_signals': 19, 'company_rankings': 30, 'latest_analyses': 40, 'related_company_themes': 18, 'strategy_decision_digest_items': 15, 'daily_lock_audit_ok': True, 'daily_lock_audit_warnings': 0, 'daily_lock_ops_success_days': 6, 'daily_lock_ops_consecutive_success_days': 6, 'source_coverage_targets': 59, 'market_source_coverage_targets': 70, 'source_freshness_active_sources': 148, 'source_candidate_only_sources': 0, 'source_candidate_count_rows': 4, 'source_followup_sources': 4, 'source_followup_rows': 4, 'source_strategy_score_rows': 100, 'score_explainability_themes': 19, 'score_explainability_companies': 30, 'score_explainability_sources': 30, 'strategy_quality_audit_ok': True, 'strategy_quality_action_score_missing_rows': 0, 'strategy_quality_decision_score_missing_rows': 0, 'strategy_quality_short': 19, 'strategy_quality_mid': 19, 'strategy_quality_long': 19}
- `release_local_dashboard_smoke_ok` OK: local public summary={'errors': 0, 'warnings': 0, 'configured_url': 'http://127.0.0.1:53258/dashboard.html', 'base_url': 'http://127.0.0.1:53258/', 'endpoint_count': 36}
- `release_strategy_reuse_audit_ok` OK: strategy reuse summary={'errors': 0, 'warnings': 0, 'analyses': 8370, 'strategy_lenses': 19, 'plain_explainer_analyses': 8370, 'lens_reuse_analyses': 8365, 'source_strategy_reuse_analyses': 8370, 'strategy_export_themes': 19, 'strategy_export_companies': 63, 'strategy_export_matrix': 312, 'strategy_action_queue_buy': 9, 'strategy_action_queue_sell': 0, 'strategy_action_queue_watch': 19, 'strategy_action_queue_risk': 19, 'strategy_action_queue_short': 19, 'strategy_action_queue_mid': 19, 'strategy_action_queue_long': 19, 'strategy_action_queue_score_complete_rows': 104, 'strategy_action_queue_score_missing_rows': 0, 'strategy_decision_digest_buy': 5, 'strategy_decision_digest_crowded': 5, 'strategy_decision_digest_risk': 5, 'strategy_decision_digest_score_rows': 15, 'strategy_decision_digest_score_missing_rows': 0, 'source_strategy_scores': 579, 'source_strategy_scores_latest': 148, 'source_strategy_momentum_rows': 148, 'score_explainability_report_valid': True}
- `release_upload_bundle_verified` OK: bundle=deploy_uploads/market-intel-engine-20260611T064355Z-upload bundle_sha=b32e3e95beb3b1510238b1838b6c56b924b7f4e2d7acc79a7a810bbedc33bfa3 release_sha=b32e3e95beb3b1510238b1838b6c56b924b7f4e2d7acc79a7a810bbedc33bfa3

## Preflight Only

```bash
PUBLIC_DASHBOARD_URL="https://35-221-72-238.sslip.io/dashboard.html" TELEGRAM_BOT_TOKEN="$TELEGRAM_BOT_TOKEN" TELEGRAM_CHAT_ID="$TELEGRAM_CHAT_ID" scripts/push_release_to_vps.sh --preflight-only --deploy-mode docker --apply-promotions --min-recurring-success-days 2 --max-recurring-latest-age-hours 30
```

## One Shot Push

```bash
SSH_PORT="${SSH_PORT:-}" SSH_IDENTITY_FILE="${SSH_IDENTITY_FILE:-}" SSH_OPTION="${SSH_OPTION:-}" PUBLIC_DASHBOARD_URL="https://35-221-72-238.sslip.io/dashboard.html" TELEGRAM_BOT_TOKEN="$TELEGRAM_BOT_TOKEN" TELEGRAM_CHAT_ID="$TELEGRAM_CHAT_ID" scripts/push_release_to_vps.sh --host "$VPS_HOST" --user "${VPS_USER:-user}" --deploy-mode docker --collect-dir reports/remote --apply-promotions --min-recurring-success-days 2 --max-recurring-latest-age-hours 30
```

## Cloud Init

```bash
RELEASE_ZIP_URL="$RELEASE_ZIP_URL" scripts/render_cloud_init.sh --release-url "$RELEASE_ZIP_URL" --deploy-release-report reports/deploy_release.json --operator-env reports/operator_inputs.env --output deploy/cloud-init/market-intel.rendered.yaml
```

## Release Upload Bundle

```bash
python3 scripts/market_intel.py release-upload-bundle --report reports/deploy_release.json --report-dir reports --operator-env reports/operator_inputs.env --output-dir deploy_uploads
```

## Verify Release Upload Bundle

```bash
python3 scripts/market_intel.py release-upload-bundle-verify --output-dir deploy_uploads --output reports/release_upload_bundle_check.json
```

## Collect Remote Evidence

```bash
SSH_PORT="${SSH_PORT:-}" SSH_IDENTITY_FILE="${SSH_IDENTITY_FILE:-}" SSH_OPTION="${SSH_OPTION:-}" scripts/collect_remote_evidence.sh --host "$VPS_HOST" --user "${VPS_USER:-user}" --collect-dir reports/remote --run-finalize --deploy-mode docker --apply-promotions --min-recurring-success-days 2 --max-recurring-latest-age-hours 30
```

## Wait For Recurring Evidence

```bash
SSH_PORT="${SSH_PORT:-}" SSH_IDENTITY_FILE="${SSH_IDENTITY_FILE:-}" SSH_OPTION="${SSH_OPTION:-}" scripts/wait_remote_recurring_evidence.sh --host "$VPS_HOST" --user "${VPS_USER:-user}" --collect-dir reports/remote --run-finalize --deploy-mode docker --apply-promotions --min-recurring-success-days 2 --max-recurring-latest-age-hours 30 --max-attempts 48 --sleep-seconds 3600 --status-output reports/remote_recurring_wait.json
```

## Transfer

```bash
scp deploy_packages/market-intel-engine-20260611T064355Z.zip "${VPS_USER:-user}@$VPS_HOST:/tmp/"
scp deploy_packages/market-intel-engine-20260611T064355Z.zip.sha256 "${VPS_USER:-user}@$VPS_HOST:/tmp/"
ssh "${VPS_USER:-user}@$VPS_HOST" 'cd /tmp && sha256sum -c market-intel-engine-20260611T064355Z.zip.sha256'
ssh "${VPS_USER:-user}@$VPS_HOST" 'sudo unzip -o /tmp/market-intel-engine-20260611T064355Z.zip -d /opt && cd /app && scripts/preflight_check.sh'
```

## Deploy

```bash
cd /app
sudo scripts/configure_env.sh --app-dir /app --env-file /app/.env --public-url "https://35-221-72-238.sslip.io/dashboard.html" --telegram-bot-token "$TELEGRAM_BOT_TOKEN" --telegram-chat-id "$TELEGRAM_CHAT_ID" --deploy-mode docker --dashboard-port 8080 --validate
docker compose up -d --build
python3 scripts/market_intel.py deployment-check --env-file /app/.env --deploy-mode docker --require-telegram --format json --output reports/deployment_check.json
```

## Finalize

```bash
python3 scripts/market_intel.py telegram-test --env-file /app/.env --send --format json --output reports/telegram_test.json
python3 scripts/market_intel.py production-audit --env-file /app/.env --deploy-mode docker --format json --output reports/production_audit.json --markdown reports/production_audit.md
python3 scripts/market_intel.py go-live --format json --output reports/go_live.json --markdown reports/go_live.md
python3 scripts/market_intel.py deploy-release --format json --output reports/deploy_release.json --markdown reports/deploy_release.md
python3 scripts/market_intel.py dashboard --limit 40
python3 scripts/market_intel.py dashboard-content-check --format json --output reports/dashboard_content_check.json
python3 scripts/market_intel.py public-dashboard-check --format json --output reports/public_dashboard_check.json --require-public-url
```
