Files
clawfort/openspec/changes/archive/2026-02-13-p02-force-fetch-command/proposal.md

1.9 KiB

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.