Problem
When the tailor emits [INSERT specific metric for LTV model] and the student answers "improved LTV prediction R² from 0.71 to 0.84", that answer is lost the moment the run finishes. If they run resumasher against a different JD next week, the tailor might emit the same placeholder and the student has to type the same answer again. Fatiguing, and the numbers might drift if they mistype.
Proposal
Local-only facts store at .resumasher/facts.jsonl (or .json):
- After each
specifics or soften answer, persist (placeholder_text_normalized, student_answer, timestamp, run_id)
- At the start of Phase 7 (placeholder fill), check if any placeholder in the current run matches a stored fact
- If match: pre-fill the answer and ask "Use previous answer? [Y/n/e(dit)]"
Why local-only
- Privacy: answers contain real numbers, project names, potentially confidential information
- No backend involvement — never syncs to Supabase, not in telemetry
- Lives in the same
.resumasher/ directory students already know about
Edge cases
- Placeholder text changes slightly run-to-run ("LTV model" vs "customer LTV model") — normalize via lowercased, tokenized, stemmed match
- Student wants to forget a fact →
resumasher facts delete <pattern> subcommand
- Student wants to see what's stored →
resumasher facts list (or similar)
- Conflicting facts for same placeholder → show most recent, let them pick
Acceptance
Problem
When the tailor emits
[INSERT specific metric for LTV model]and the student answers "improved LTV prediction R² from 0.71 to 0.84", that answer is lost the moment the run finishes. If they run resumasher against a different JD next week, the tailor might emit the same placeholder and the student has to type the same answer again. Fatiguing, and the numbers might drift if they mistype.Proposal
Local-only facts store at
.resumasher/facts.jsonl(or.json):specificsorsoftenanswer, persist(placeholder_text_normalized, student_answer, timestamp, run_id)Why local-only
.resumasher/directory students already know aboutEdge cases
resumasher facts delete <pattern>subcommandresumasher facts list(or similar)Acceptance
.resumasher/facts.jsonlresumasher facts list / deletesubcommands