A multi-stage tool for documenting study sessions, tracking academic progress, recording concepts learned, updating assignment status, and enriching the student knowledge graph.
When to use this tool:
Only use this tool when the user explicity requests it or provides explicit approval.
Key features:
- Provides a structured, multi-stage workflow for session documentation
- Records concepts learned in the knowledge graph
- Updates assignment status using has_status relations (not_started, in_progress, complete)
- Updates assignment priorities using has_priority relations (low, high)
- Establishes sequential relationships between concepts using follows relations
- Creates connections between concepts and courses
- Updates course status metadata
- Creates new concept entities for topics you've studied
- Maintains session continuity with unique session IDs
- Supports revision of previous stages when needed
- Offers a comprehensive assembly stage that consolidates all session information
- Organizes your academic knowledge into a coherent structure
The endsession tool uses a sequential, multi-stage approach with 6 typical stages:
1. Summary Stage: Records basic session information
2. Concepts Learned Stage: Documents specific concepts studied
3. Assignment Updates Stage: Records status and priority changes to assignments
4. New Concepts Stage: Defines new concept entities to add
5. Course Status Stage: Updates the overall course status
6. Assembly Stage: Consolidates all information and finalizes the session record
Parameters explained:
1. sessionId: Required - Unique identifier for the study session
- Obtained from the startsession tool
- Example: "stu_1234567890_abc123"
2. stage: Required - Current stage of the endsession workflow
- Accepts: "summary", "conceptsLearned", "assignmentUpdates", "newConcepts", "courseStatus", or "assembly"
- Each stage has specific data requirements and processing logic
3. stageNumber: Required - The sequence number of the current stage
- Starts at 1 and typically progresses through 6 stages
- Used to track progress through the session documentation workflow
4. totalStages: Required - Total number of stages planned for this workflow
- Typically 6 for the complete workflow
- Provides context for the progress within the overall process
5. analysis: Optional - Text analysis or observations for the current stage
- Descriptive text explaining the work done in this stage
- Example: "Analyzed progress on studying for the final exam"
6. stageData: Optional - Stage-specific structured data
- Structure varies by stage type:
* summary: { summary: "Session summary text", duration: "2 hours", course: "CourseName" }
* conceptsLearned: { concepts: ["Concept A", "Concept B", "Concept C"] }
* assignmentUpdates: { updates: [{ name: "Assignment1", status: "complete", priority: "high" }, { name: "Assignment2", status: "in_progress" }] }
* newConcepts: { concepts: [{ name: "NewConcept1", description: "Definition of the concept", follows: "PriorConcept" }] }
* courseStatus: { courseStatus: "in_progress", courseObservation: "Making good progress" }
* assembly: No stageData needed - automatically assembled from previous stages
7. nextStageNeeded: Required - Whether additional stages are needed after this one
- Boolean value (true/false)
- Set to false on the final stage to complete the session
8. isRevision: Optional - Whether this is revising a previous stage
- Boolean value (true/false)
- Default: false
9. revisesStage: Optional - If revising, which stage number is being revised
- Required when isRevision is true
- Indicates which previous stage is being updated
When the endsession workflow completes (assembly stage with nextStageNeeded: false), the tool performs these updates:
1. Concept Entities: Creates entities for each concept learned and links them to the course
2. Assignment Status Updates: Updates assignment status via has_status relations (not_started, in_progress, complete)
3. Assignment Priority Updates: Updates assignment priority via has_priority relations (low, high)
4. Sequential Concept Relationships: Establishes follows relations between concepts when specified
5. Course Status Update: Updates the course status via has_status relation, adds an updated timestamp, and records observations
6. New Concept Creation: Creates new concept entities, links them to the course, and establishes any sequential relationships
7. Session Recording: Marks the session as completed in persistent storage
Return information:
- JSON response with the following structure:
* success: Boolean indicating whether the operation succeeded
* stageCompleted: The stage that was just completed
* nextStageNeeded: Whether more stages are required
* stageResult: The processed result of the current stage
* endSessionArgs: (Only in assembly stage) Consolidated arguments for the session
* sessionRecorded: (Final stage only) Whether the session was recorded
* summaryMessage: (Final stage only) Formatted summary of all recorded information
* error: (Only on failure) Error message describing the issue
- Error information when operation fails
Status and Priority Values:
- Valid status values: not_started, in_progress, complete
- Valid priority values: low, high
You should:
- Complete all stages in order for comprehensive session documentation
- Provide specific details in each stage for accurate knowledge graph updates
- Be precise about assignment names to ensure they match existing assignments
- Use valid status values (not_started, in_progress, complete) when updating assignments
- Use valid priority values (low, high) when specifying assignment importance
- Specify sequential relationships between concepts when appropriate
- Use clear, descriptive names for any new concepts
- Include relevant observations for course status updates
- If making a revision, specify which stage is being revised
- Only mark nextStageNeeded as false on the final assembly stage
- Review the final summary message to confirm all session details were recorded properly
- Use the unique session ID consistently across all stages