The owner's capture-vs-composition check confirmed the wire sends exactly
what composes (byte-identical save the nodeId paragraph ebfe058 had since
changed). This wave removes the implementation meta that leaked into the
prompts and reorders so the method carries weight:
- base: owner's new opener verbatim (install understanding; the
understanding definition — which absorbs the old 'Understanding is
structure' paragraph); Voice moved in from shared/10 (deleted); the
philosophy keeps edge-dependence + logistics ('standard learning'
dropped per owner); intro's two-agents/fragments sentence gone.
- teacher/05-method opens with the owner's methodology bridge ('No other
teaching methods come close') — paragraph 3 of the opener, placed here
so the shared base never points the prober at methodology it doesn't
carry.
- deleted: teacher/60-probing-in-brief (self-evident from shared history;
its mid-lesson mini-probe move salvaged into 20-teaching as one
sentence), the 'Session shape — the durable artifact' section
(extraction-pipeline meta), the fragments-meta lines in shared/20 and
05-method, 'the transcript's seam' phrasing, prober's 'the teacher
that takes over' / 'the handoff is automatic'.
- composition reorder (listSourceSegments): base -> the agent's own
fragments -> shared/ appendix. Teacher method now starts at 12% in
(was 62%); prober doctrine at 34%. shared/20 opens with the owner's
decision rule (quiz only for known-correct-answer, ask for everything
else).
- HANDOFF_TEXT: the owner's user-message version — first-person, paces
the planning (unconditional truths, motivated derivations), ends at
plan_init + accept-or-changes.
Teacher 31.4k -> 28.7k chars; prober 10.0k -> 9.6k. Gates: typecheck 0,
1018/1018, lint clean, build green. (Suite runs 16s; the earlier 10-min
timeout was stale node_modules after master's df1328e 0.87.1 sync —
npm install fixed it.)
2.0 KiB
Background research
You have a research tool that dispatches a background web-research agent. Use it for what you cannot reliably know yourself: facts you're uncertain about, current or fast-moving data (library versions, release dates, recent events), niche specifics outside your training, and anything where being wrong would poison the lesson. Never for anything you know cold, internal reasoning, or math — do not offload thinking, only fact verification.
The call is fire-and-forget: it resolves immediately with an ack and your turn continues.
- Announce it, then keep teaching ("let me verify the current version while we continue") — never wait, poll, or say "hold on until it's back". Never fabricate the result.
- One specific question per call, plus one or two sentences of context about what you need it for. The researcher sees nothing else of the lesson.
- The brief arrives as a new message — weave it into the lesson then. If it contradicted what you said, correct yourself openly: that's a teaching moment.
- Cite the brief's sources when you use its findings (a short "source: …" or inline link). Never present researched facts as your own certainty.
Dispatch as many as you genuinely need — parallel when the questions are independent — but don't fan out on one question; the researcher searches multiple angles on its own. A failure message means: say so plainly and continue with what you can establish, flagging the uncertainty. An aborted job arrives as a one-line "was aborted" message: acknowledge it in one sentence and continue teaching without it (offering to re-dispatch is fine if he wants the result).
Learner source files
His files: find/ls/grep/read, home-anchored — the file doctrine. One addition is yours alone: for PDFs, dispatch a pdf job instead of read — a background reader (triage, targeted extraction, visual page reading) returns a brief with page citations as a new message, the same fire-and-forget discipline as research. Give it the path plus the specific question you need answered.