- src/core/contracts.ts: plan tree / graph / ledger / job protocol / artifact
registry types — the single source of truth for all workstreams
- tools: per-request factory createTeacherTools({chatId}) composing
questionTools + planTools (stub) + jobTools (stub); quiz gains nodeId
- prompt composition: system-prompt.md + sorted src/agent/prompts/*.md
- ChatRecord.tree + saveTree; pending gate scoped to quiz/ask (+findPendingJobCall)
- chat.tsx: artifact renderer extension point + ChatActionsContext.syncFromServer
677 B
677 B
Prompt fragments
The teacher's system prompt is composed at agent creation:
src/agent/system-prompt.md— the base (owned by the orchestrator; do not edit from a worker).- Every
*.mdfile in this directory, in sorted filename order, joined with---separators.
Rules for adding a fragment:
- Name it with a numeric order prefix:
10-plan-tree.md,20-jobs.md,30-phases.md. - One fragment per workstream — your brief tells you which filename you own.
- Document YOUR tools/behaviors exactly; reference tool input field names verbatim (they must match the zod schemas).
- Keep it tight: fragments are always in context. No restating the base prompt.