## Why

ClawFort currently fetches news on a fixed hourly schedule, which is not enough during first-time setup or after a failed API cycle. Operators need a reliable way to force an immediate news pull so they can bootstrap content quickly and recover without waiting for the next scheduled run.

## What Changes

- **New Capabilities:**
  - Add a manual Python command to trigger an immediate news fetch on demand.
  - Add command output that clearly reports success/failure, number of fetched/stored items, and error details.
  - Add safe invocation behavior so manual runs reuse existing fetch/retry/dedup logic.
- **Backend:**
  - Add a CLI entrypoint/script for force-fetch execution.
  - Wire the command to existing news aggregation pipeline used by scheduled jobs.
  - Return non-zero exit codes on command failure for operational automation.
- **Operations:**
  - Document how and when to run the force-fetch command (initial setup and recovery scenarios).

## Capabilities

### New Capabilities
- `force-fetch-command`: Provide a Python command that triggers immediate news aggregation outside the hourly scheduler.
- `fetch-run-reporting`: Provide operator-facing command output and exit semantics for successful runs and failures.
- `manual-fetch-recovery`: Support manual recovery workflow after failed or partial API fetch cycles.

### Modified Capabilities
- None.

## Impact

- **Code:** New CLI command module/entrypoint plus minimal integration with existing `news_service` execution path.
- **APIs:** No external API contract changes.
- **Dependencies:** No required new runtime dependencies expected.
- **Infrastructure:** No deployment topology change; command runs in the same container/runtime.
- **Environment:** Reuses existing env vars (`PERPLEXITY_API_KEY`, `OPENROUTER_API_KEY`, `IMAGE_QUALITY`).
- **Data:** No schema changes; command writes through existing dedup + persistence flow.
