Sessions
A Session in Tevis represents an active work contextβa focused period where you're working on a specific project with a particular configuration.
What is a Session?β
Think of a session like opening a project in your IDE, but with superpowers:
- Repository binding β Connected to a specific git repository
- Context preservation β Your work state persists
- Nanocycle container β All nanocycles are created within sessions
- Real-time sync β Changes stream to Mission Control
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SESSION β
β β
β Project: my-saas-app β
β Repository: github.com/user/my-saas-app β
β Started: 2026-02-06 09:00 β
β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β NC-001 β β NC-002 β β NC-003 β β
β β Complete β β Complete β β In Progress β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Session Lifecycleβ
Creating a Sessionβ
# Via CLI
tevis session create --project my-project
# Or in Mission Control
# Click "New Session" in the project view
When a session starts:
- Repository cloned β Fresh workspace created
- Context loaded β Planning docs, memory, preferences
- Services connected β Tevis Local, Core API, LPU
- Session ID assigned β Unique identifier for tracking
During a Sessionβ
While a session is active:
- Create and execute nanocycles
- View real-time execution streams
- Access repository files
- Receive hold point notifications
- Review and merge completed work
Ending a Sessionβ
Sessions can be ended explicitly or timeout after inactivity:
# Via CLI
tevis session end
# Or in Mission Control
# Click "End Session" in session view
When a session ends:
- Workspace preserved β Code stays in place
- State saved β Progress, context, preferences
- Cleanup β Temporary files removed
- Summary generated β Session recap available
Session vs Projectβ
| Aspect | Project | Session |
|---|---|---|
| Lifecycle | Permanent | Temporary |
| Scope | All work ever | Current work context |
| Nanocycles | Contains all | Contains active ones |
| Repository | Configuration | Live workspace |
| Memory | Historical | Active context |
A project can have many sessions. Each session is a focused work period.
Session Typesβ
Development Sessionβ
The standard session type for active development:
type: development
repository: git@github.com:user/repo.git
branch: main
capabilities:
- nanocycle_creation
- code_execution
- file_editing
Review Sessionβ
For reviewing completed nanocycles without execution:
type: review
repository: git@github.com:user/repo.git
branch: feat/nc-007-auth
capabilities:
- code_viewing
- diff_review
- merge_approval
Planning Sessionβ
For strategic planning without code execution:
type: planning
capabilities:
- plan_drafting
- context_editing
- memory_browsing
Session Stateβ
Sessions maintain state including:
Active Contextβ
{
"session_id": "sess_a1b2c3",
"project_id": "proj_xyz",
"repository": "git@github.com:user/repo.git",
"branch": "main",
"started_at": "2026-02-06T09:00:00Z",
"nanocycles": ["NC-001", "NC-002", "NC-003"],
"active_nanocycle": "NC-003"
}
Workspace Stateβ
{
"workspace_path": "~/.tevis-runtime/session-repos/sess_a1b2c3",
"git_status": "clean",
"last_commit": "abc123",
"modified_files": []
}
Execution Stateβ
{
"active_tpus": 2,
"pending_holdpoints": 0,
"execution_status": "running"
}
Working with Sessionsβ
List Active Sessionsβ
# CLI
tevis session list
# Output
ID PROJECT STARTED STATUS
sess_a1b2c3 my-saas-app 2026-02-06 09:00 active
sess_d4e5f6 docs-site 2026-02-05 14:30 paused
Switch Sessionsβ
# CLI
tevis session switch sess_d4e5f6
# Or in Mission Control
# Click on session in session list
Session Detailsβ
tevis session info sess_a1b2c3
# Output
Session: sess_a1b2c3
Project: my-saas-app
Repository: git@github.com:user/repo.git
Branch: main
Started: 2026-02-06 09:00:00
Duration: 2h 30m
Nanocycles:
NC-001: completed (auth-system)
NC-002: completed (dashboard)
NC-003: in_progress (settings-page)
Active TPUs: 2
Hold Points: 0
Session Best Practicesβ
One Session Per Focus Areaβ
Don't mix unrelated work in one session:
β Single session
- Working on auth
- Also fixing unrelated bugs
- Also updating docs
β
Separate sessions
- Session 1: Authentication feature
- Session 2: Bug fixes
- Session 3: Documentation
End Sessions When Doneβ
Don't leave sessions running indefinitely:
# End session when switching focus
tevis session end
# Start fresh session for new work
tevis session create --project other-project
Review Session Summariesβ
After ending a session, review the summary:
tevis session summary sess_a1b2c3
# Shows:
# - Nanocycles completed
# - Files changed
# - Time spent
# - Metrics
Session in Mission Controlβ
The Mission Control UI provides rich session management:
Session Panelβ
- Active session details
- Nanocycle list and status
- Quick actions (new nanocycle, end session)
Session Switcherβ
- All sessions for current project
- Switch with one click
- Visual status indicators
Session Timelineβ
- Chronological view of session activity
- Nanocycle starts/completions
- Hold points and interventions
Troubleshootingβ
Session Won't Startβ
# Check for port conflicts
lsof -i :8082
# Verify Docker is running
docker info
# Check Tevis Local status
tevis-local status
Lost Session Stateβ
Sessions auto-save state, but if issues occur:
# Recover session
tevis session recover sess_a1b2c3
# Or create new session with same config
tevis session create --project my-project --from-config
Multiple Sessions Conflictβ
Only one session can be active at a time per project:
# End conflicting session
tevis session end sess_old
# Then start new one
tevis session create --project my-project