Research methodology - when and how to checkpoint with Sage
Checkpoint at state transitions, not token pressure.
| Trigger | Signal | Confidence |
|---|---|---|
synthesis | "Therefore...", "In summary...", "The answer is..." | 0.5+ |
web_search_complete | After processing search results | 0.3+ |
branch_point | "We could either X or Y..." | 0.4+ |
constraint_discovered | "This won't work because..." | 0.4+ |
topic_shift | Conversation changing direction | 0.4+ |
manual | User says "checkpoint" or "save this" | 0.0 (always) |
| Signal | Example Phrases |
|---|---|
| Conclusion reached | "So the answer is...", "This means...", "Therefore..." |
| Hypothesis validated | "This confirms...", "This rules out..." |
| Branch point | "We could either X or Y", "Two approaches..." |
| Constraint discovered | "Wait, that changes things...", "I didn't realize..." |
| Topic transition | Shift in focus, new entity/concept |
| User validation | "That makes sense", "Let's go with that", "Agreed" |
| Explicit request | "checkpoint", "save this", "remember this" |
WebSearch -> synthesize findings -> sage_autosave_check -> respond to user
A research task is NOT complete until sage_autosave_check is called.
sage_autosave_check(
trigger_event="synthesis", # What triggered this
core_question="What are we solving?", # The driving question
current_thesis="Our current position", # 1-2 sentence synthesis
confidence=0.7, # How confident (0-1)
open_questions=["What's still unknown?"],
key_evidence=["Concrete facts supporting thesis"],
)
When you see these messages from hooks, act immediately:
sage_autosave_check(trigger_event='synthesis', ...)sage_autosave_check(trigger_event='branch_point', ...)sage_autosave_check(trigger_event='constraint_discovered', ...)sage_autosave_check(trigger_event='topic_shift', ...)Never ignore hook detection messages. They indicate checkpoint-worthy moments.
Always checkpoint before moving to a new subject:
sage_autosave_check(
trigger_event="topic_shift",
core_question="Previous topic question",
current_thesis="Where we landed",
confidence=0.6,
)
Think of checkpointing like a game's autosave system:
| Trigger Event | When | Game Analogy |
|---|---|---|
research_start | User asks research question | Entering boss room |
web_search_complete | After processing web search results | Picked up item |
synthesis | You say "So...", "Therefore...", "In summary..." | Quest complete |
topic_shift | User pivots to new topic | Switching levels |
user_validated | User confirms your finding | Checkpoint reached |
constraint_discovered | New info changes approach | Plot twist |
branch_point | Multiple viable paths identified | Fork in road |
When checkpointing, this data is captured: