endsession
Document and conclude study sessions by tracking academic progress, recording learned concepts, updating assignment statuses, and enriching the student knowledge graph through a structured multi-step workflow.
Instructions
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:
Summary Stage: Records basic session information
Concepts Learned Stage: Documents specific concepts studied
Assignment Updates Stage: Records status and priority changes to assignments
New Concepts Stage: Defines new concept entities to add
Course Status Stage: Updates the overall course status
Assembly Stage: Consolidates all information and finalizes the session record
Parameters explained:
sessionId: Required - Unique identifier for the study session
Obtained from the startsession tool
Example: "stu_1234567890_abc123"
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
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
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
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"
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
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
isRevision: Optional - Whether this is revising a previous stage
Boolean value (true/false)
Default: false
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:
Concept Entities: Creates entities for each concept learned and links them to the course
Assignment Status Updates: Updates assignment status via has_status relations (not_started, in_progress, complete)
Assignment Priority Updates: Updates assignment priority via has_priority relations (low, high)
Sequential Concept Relationships: Establishes follows relations between concepts when specified
Course Status Update: Updates the course status via has_status relation, adds an updated timestamp, and records observations
New Concept Creation: Creates new concept entities, links them to the course, and establishes any sequential relationships
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
Input Schema
Name | Required | Description | Default |
---|---|---|---|
analysis | No | Text analysis or observations for the current stage | |
isRevision | No | Whether this is revising a previous stage | |
nextStageNeeded | Yes | Whether additional stages are needed after this one (false for final stage) | |
revisesStage | No | If revising, which stage number is being revised | |
sessionId | Yes | The unique session identifier obtained from startsession | |
stage | Yes | Current stage of analysis: 'summary', 'conceptsLearned', 'assignmentProgress', 'questions', 'nextSteps', or 'assembly' | |
stageData | No | Stage-specific data structure - format depends on the stage type: - For 'summary' stage: { summary: "Session summary text", duration: "2 hours", focus: "CourseName" } - For 'conceptsLearned' stage: { concepts: ["Concept A", "Concept B", "Concept C"] } - For 'assignmentProgress' stage: { assignments: [{ name: "Assignment1", status: "completed" }, { name: "Assignment2", status: "in_progress" }] } - For 'questions' stage: { questions: ["Question about topic X", "Question about concept Y"] } - For 'nextSteps' stage: { nextSteps: ["Review chapter 7", "Complete practice problems", "Attend office hours"] } - For 'assembly' stage: no stageData needed - automatic assembly of previous stages | |
stageNumber | Yes | The sequence number of the current stage (starts at 1) | |
totalStages | Yes | Total number of stages in the workflow (typically 5 for standard workflow) |