Files
2026-02-10 01:20:58 -05:00

1.5 KiB

ADDED Requirements

Requirement: Redis-backed cache service

The system MUST provide a Redis-backed cache service for use by ingestion and content processing flows.

The cache service MUST be runnable in local development via Docker Compose.

Scenario: Cache service available in Docker

  • WHEN the Docker Compose stack is started
  • THEN a Redis service is available to other services/scripts on the internal network

Requirement: TTL-based invalidation

Cached entries MUST support TTL-based invalidation.

The system MUST define a default TTL and MUST allow overriding the TTL via environment/config.

Scenario: Default TTL applies

  • WHEN a cached entry is written without an explicit TTL override
  • THEN it expires after the configured default TTL

Scenario: TTL override applies

  • WHEN a TTL override is configured via environment/config
  • THEN new cached entries use that TTL for expiration

Requirement: Cache key namespace

Cache keys MUST be namespaced by source and parameters so that different data requests do not collide.

Scenario: Two different sources do not collide

  • WHEN the system caches a YouTube fetch and a WordPress fetch
  • THEN they use different key namespaces and do not overwrite each other

Requirement: Manual cache clear

The system MUST provide a script/command to manually clear the cache.

Scenario: Manual clear executed

  • WHEN a developer runs the cache clear command
  • THEN the cache is cleared and subsequent ingestion runs produce cache misses