Use the saved version that still matches the lesson
The staging investigation found a ready saved guide beside an older unavailable generation artifact. The provider and queue were available. The guide was hidden because the learner response followed the artifact's state instead of selecting the usable saved version.
Those records describe different things: the artifact tracks generation work, while a version stores its output. The state service now asks for a ready version matching the configured provider, model and generation contract, then compares its fingerprint with current lesson material.
The fingerprint includes the generation policy as well as the source. Unchanged lesson text therefore doesn't keep a guide eligible after the policy changes. Saved output has to pass the current checks, not just exist in the database.
Make the learner response and admin filter agree
A compatible current version supplies readiness and its metadata. Otherwise, the stale, blocked and unavailable paths still apply. The admin filter now uses that same computed state, so it doesn't list a guide as unavailable while the page displays it as ready.
The regression places an unavailable artifact beside a compatible ready version and checks the ready response, takeaway, practice-question count and absence of answer data. The June record reports eight passing assertions. An older failure no longer hides an eligible guide, and the precedence change doesn't make stale output ready.
A saved version can override an older artifact state
Compatibility selects a candidate; a current-evidence fingerprint decides whether it can establish readiness.
Stored and current material
Selection and readiness
Learner response
Scroll or drag the background to move. Use the zoom buttons to resize.Arrow keys move between components. Enter selects.
Choose a component to explore
Select a numbered component on the map or use the component menu. Its details and connections will appear here.
No component selected.
All connections (8)
- 06 · Learner study-guide request → 05 · StudyPackStateServiceResolve current state · Direct call
- 05 · StudyPackStateService → 04 · StudyPackVersionServiceSelect compatible candidate · Direct call
- 04 · StudyPackVersionService → 02 · Saved study-guide versionsRead ready versions · Direct call
- 04 · StudyPackVersionService → 05 · StudyPackStateServiceReturn selected version · Response / return
- 05 · StudyPackStateService → 03 · Current lesson evidence and policyCompare fingerprint · Direct call
- 01 · Generation artifact → 05 · StudyPackStateServiceFallback generation state · Response / return
- 05 · StudyPackStateService → 07 · Ready guide responseMatching current version · Response / return
- 05 · StudyPackStateService → 08 · Non-ready responseNo current ready result · Blocked / denied