Description
Found during v0.2.8 gate QA (2026-07-15). Asked chat to "Write a performance review for Maya" (employee with 2 full review narratives on file, no numeric ratings): chat replied "I don't have Maya's performance data in my system—no ratings, feedback, or review history." Immediately after, Prep Brief rendered ~18 grounded facts from those same reviews. The two features read different slices of the DB and the user experiences it as the assistant lying about what it knows.
Current State
src-tauri/src/context/ reads performance_ratings only (retrieval.rs:311,505,802,826; aggregates.rs:213; verification.rs:301). Zero references to performance_reviews anywhere in the context module; performance_reviews_fts is only used by the reviews module itself. people_map/context.rs (brief assembler) reads the narratives directly via get_reviews_for_employee. An employee with reviews-but-no-ratings is invisible to chat's performance context.
Suggested Fix
Verification
Automation Hints
scope: src-tauri/src/context/
do-not-touch: src-tauri/src/people_map/, src-tauri/src/recruiting/
approach: refactor-to-config
risk: medium
max-files-changed: 5
blocked-by: none
bail-if: fix requires changing the system-prompt token budget contract or provider payload shape
Priority
High
Description
Found during v0.2.8 gate QA (2026-07-15). Asked chat to "Write a performance review for Maya" (employee with 2 full review narratives on file, no numeric ratings): chat replied "I don't have Maya's performance data in my system—no ratings, feedback, or review history." Immediately after, Prep Brief rendered ~18 grounded facts from those same reviews. The two features read different slices of the DB and the user experiences it as the assistant lying about what it knows.
Current State
src-tauri/src/context/readsperformance_ratingsonly (retrieval.rs:311,505,802,826; aggregates.rs:213; verification.rs:301). Zero references toperformance_reviewsanywhere in the context module;performance_reviews_ftsis only used by the reviews module itself.people_map/context.rs(brief assembler) reads the narratives directly viaget_reviews_for_employee. An employee with reviews-but-no-ratings is invisible to chat's performance context.Suggested Fix
Verification
cargo test --manifest-path src-tauri/Cargo.tomlpassesscripts/dev-seed-people-map-fixtures.sql), ask chat for a performance review → response draws on (or at least acknowledges) the narrativesAutomation Hints
scope: src-tauri/src/context/
do-not-touch: src-tauri/src/people_map/, src-tauri/src/recruiting/
approach: refactor-to-config
risk: medium
max-files-changed: 5
blocked-by: none
bail-if: fix requires changing the system-prompt token budget contract or provider payload shape
Priority
High