diff --git a/.claude/commands/apply.md b/.claude/commands/apply.md index 1956eb9..89d0b0a 100644 --- a/.claude/commands/apply.md +++ b/.claude/commands/apply.md @@ -4,6 +4,12 @@ You are orchestrating a two-agent job application workflow. The job posting is p Follow these steps **exactly in order**. Do not skip steps. +**Standing rule — write new facts back to the profile.** If the user confirms, corrects or supplies a fact that is not already in `01-candidate-profile.md` — a metric, a project detail, a skill, a scope correction — update that file in the same turn. Do not leave it living only in the conversation or in a draft. + +This is not bookkeeping. A fact that exists only in chat **will be treated as unsupported by a later session and stripped from drafts as a fabrication.** Anything absent from the sources does not exist as far as future drafting is concerned, and the loss is silent — a real achievement quietly disappears from every subsequent CV. + +This rule is the input side of the Step 3 Factual Grounding Audit, not a competitor to it. The audit is deliberately strict: an ungrounded claim is removed, and it cannot tell a fabrication from a real fact the user stated out loud last week. That strictness is correct, and it is exactly why confirmed facts have to reach the sources in the same turn they surface. Write to `01-candidate-profile.md` specifically — it is one of the audit's three sources, so a fact recorded there is grounded on the next run. Adding a fact to `01` that `CLAUDE.md` and the master CV simply do not mention is an absence, not a contradiction, and does not trip the audit's profile-consistency warning; if the new fact *corrects* something either of those states, fix it there too rather than leaving the two sources disagreeing. + **Token-efficiency rules for this workflow:** - Never re-Read a file whose contents are already in your context from an earlier step. If you read it in Step 1, it is still available in Step 2. - When dispatching the reviewer agent, pass draft content **inline in the agent prompt** rather than asking the agent to Read files you already have in memory. diff --git a/.claude/commands/interview.md b/.claude/commands/interview.md index 5107512..5c84112 100644 --- a/.claude/commands/interview.md +++ b/.claude/commands/interview.md @@ -104,4 +104,6 @@ If Step 3 drafted new STAR answers the user approved for keeps, remind them thos 2. **Honesty on gaps.** Weak matches get bridge answers (acknowledge → adjacent experience → learning path), never invented experience. Same rule as everywhere else in this repo. 3. **Verified research only.** Company specifics go in the pack only after independent confirmation. Interviewer notes stick to public professional information. 4. **Stage-appropriate prep.** A phone screen pack and a final-round pack are different documents; recorded feedback from earlier stages takes priority over generic question lists. -5. **Write only to the application archive.** The prep pack lands in `documents/applications/_/`; framework and profile files are never edited, except appending user-approved STAR examples to `07-interview-prep.md` on explicit request. +5. **Write only to the application archive** — with one exception. The prep pack lands in `documents/applications/_/`; framework files are not edited, except appending user-approved STAR examples to `07-interview-prep.md` on explicit request. + + **The exception is `01-candidate-profile.md`.** Interview prep is where new facts surface most often: the user recalls a metric, corrects a scope, or fills in a STAR stub. When that happens, write the fact into the profile, as well as putting it in the prep pack. A fact recorded only in prep material reads as unsupported to a later drafting session and gets stripped from CVs as a fabrication. Prep files are not a substitute for the profile.