Invalidate answers when policy authority or access changes
A cached answer still cites a withdrawn policy and is reused for an employee with different access. Bind cache entries to the exact corpus and permission authority.
- Focused work estimate
- 3h 30m + prerequisites
- Priority in the scenario
- High
- Engineering practice
- Cache invalidation · Authorization · Versioned data · Consistency
Estimated field mix
- Applied AI40%
- Security30%
- Distributed systems30%
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Review it, then add it to your workspace.
The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.
Project context
Employees search fictional travel and equipment policies. The current prototype blends draft and approved text and sometimes answers using a policy the employee cannot open. Use a small synthetic corpus and a deterministic answer-provider double.
Setup prerequisites
- Author synthetic policy documents with revisions, effective dates, and access groups.
- Use a local deterministic provider double; paid model access is optional and not required.
Preceding work
Complete these dependencies, or supply their agreed outputs before taking this ticket.
- SEARCH-101 · Import policy documents with stable revision identities
- SEARCH-102 · Keep chunk citations anchored to the original policy text
- SEARCH-103 · Apply group access before ranking or sending context to a provider
- SEARCH-104 · Exclude drafts and future policies from current-policy answers
- SEARCH-105 · Reject answers with invented or mismatched citations
- SEARCH-106 · Return insufficient information when the corpus cannot answer
- SEARCH-107 · Contain instructions embedded in a retrieved document
- SEARCH-108 · Bound provider latency, retries, and retained query data
Acceptance criteria
- Cache identity includes normalized query, corpus version, provider configuration, tenant, and permission-scope version.
- Delivery rechecks every cited revision eligibility and current access even on a cache hit.
- Withdrawing a cited policy prevents old answer delivery without rewriting the original cached record.
Implementation constraints
- Use a version pointer or tombstone for invalidation rather than editing source history.
Verification to include
- Warm the cache, withdraw a source, and verify the next request cannot return the old answer.
- Reuse identical text across two permission groups and verify no cross-scope hit occurs.
Deliverables
- Authority-aware cache and withdrawal/access regression cases
Rollout and recovery
Ship with caching disabled, then enable only after invalidation cases pass; a kill switch returns to live retrieval.
Value of the work
For the engineer: Practice access-aware retrieval, source provenance, structured model boundaries, and reproducible evaluation.
For the team: Inspect how an engineer prevents unsupported or unauthorized answers and handles changing policy content.
Evidence boundaries
Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.
Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.