Problem
Screening and TA responses are point-in-time values without retrieval provenance, cache state, or explicit partial-result diagnostics. TA currently maps unavailable scores to 0/neutral, and symbol lookup can omit requested symbols without identifying them.
Scope
- Add additive result metadata: retrieval timestamp, source endpoint, cache hit, requested/returned counts, and missing symbols.
- Distinguish unavailable TA data from a genuine neutral signal.
- Validate TA weights and report excluded/unavailable symbols in ranking output.
- Preserve existing top-level result collections for compatibility.
- Add deterministic tests for cache hits, partial symbol results, missing TA values, and invalid weights.
Acceptance criteria
- A caller can tell whether data is fresh, cached, incomplete, or unavailable without reading logs.
- Missing TA values never silently influence a ranking as neutral unless explicitly configured.
- Requested symbols missing upstream are listed in the response.
- Metadata is additive and documented.
Non-goals
No persistence database, scheduler, alert delivery, brokerage integration, or general historical-data platform.
Problem
Screening and TA responses are point-in-time values without retrieval provenance, cache state, or explicit partial-result diagnostics. TA currently maps unavailable scores to
0/neutral, and symbol lookup can omit requested symbols without identifying them.Scope
Acceptance criteria
Non-goals
No persistence database, scheduler, alert delivery, brokerage integration, or general historical-data platform.