39 lines
2.1 KiB
Markdown
39 lines
2.1 KiB
Markdown
# 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 1–3 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.
|