Files
portfolio/.ralph/review.md
T

39 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Content Refactor Review — Stage 3
## Verdict
Approved for Stage 3. Continue to Stage 4.
## Gate Results
- `npm run lint`: pass (0 errors, 5 existing warnings)
- `npm run typecheck`: pass
- `npm run build`: pass
## Stage 3 Objective Validation
- Timeline/constellation narrative content is now canonicalized and consumed via selectors:
- `src/data/timeline.ts` hydrates `description`, `details`, `outcomes`, `codedEntries` from `getTimelineNarrativeEntry(...)`.
- `src/data/consultations.ts` is now a thin compatibility export over `timelineConsultations`.
- Search/chat duplicated profile copy migrated to canonical selectors:
- `src/lib/search.ts` uses `getAchievementEntries()`, `getEducationEntries()`, `getSearchQuickActions()`.
- `src/lib/llm.ts` uses `getLLMCopy().systemPrompt`.
- Canonical schema/content/helpers extended and typed:
- `src/types/profile-content.ts`
- `src/data/profile-content.ts`
- `src/lib/profile-content.ts`
- Contract stability checks in reviewed code paths:
- Timeline entity IDs and mapping exports remain intact.
- Palette item ID formats (`ach-*`, `edu-*`, `action-*`) and action wiring remain stable.
- Chat request body shape and stream handling unchanged.
- Stage tracker reflects Stage 3 completion:
- `Ralph/PROMPT.md` has Stage 13 checked and Stage 4 unchecked.
## Required Next Work (Stage 4)
1. Cleanup/hardening:
- Remove or further reduce obsolete compatibility/duplicate structures where no longer needed, keeping only thin adapters with clear purpose.
- Tighten canonical access typing where possible (favor readonly returns and narrow key types for canonical sections).
2. One-file editing documentation:
- Add concise docs describing that shared descriptive/profile text should be edited in `src/data/profile-content.ts`.
- Include where typed selectors live (`src/lib/profile-content.ts`) and a brief "edit once, consumed everywhere" workflow.
3. Success criteria/status closure:
- Update `Ralph/PROMPT.md` success criteria checkboxes and mark Stage 4 complete only when cleanup/docs are done.
- Validate that representative shared text edits require changing only the canonical content file.