Orchestrata Ultimate / RTM / 006-session-management

RTM: 006-session-management

Requirement to symbol to test rows for 006-session-management: Session Management.

At a glance

Item Value
Requirement IDs 144
Traced from src/ 144 (100.0%)
Untraced 0
Cited from tests/ 19 (13.2%)
Traced in src/ but not cited from tests/ 125

Reading this matrix

This matrix lists each of the 144 requirement IDs of spec 006-session-management with the src/ symbols that cite it and the tests that cite it. 144 of them (100.0%) have at least one citing symbol and 0 have none.

19 requirements are also cited from tests/, and 125 are traced in code but never named by a test. A test citation is a @traces on a test function; it shows intent to cover, not that the test runs or reaches the symbol.

Every row has at least one citing symbol; the remaining work is on the test column.

Requirement to symbols to tests

Requirement Symbols in src/ Tests citing it
REQ-006-US-001-001 User can create a new session with a unique session ID orchestrata_ultimate/session/controller/_core begin L168
orchestrata_ultimate/session/interfaces open_session L22
none
REQ-006-US-001-002 System generates session ID automatically if not provided orchestrata_ultimate/session/constants generate_session_id L17
orchestrata_ultimate/session/controller/_core begin L168
orchestrata_ultimate/session/portfolio begin_session L134
none
REQ-006-US-001-003 Session creation includes timestamp and initial state orchestrata_ultimate/session/controller/_core begin L168
orchestrata_ultimate/session/models SessionRecord L127
orchestrata_ultimate/session/portfolio begin_session L134
+1 more
none
REQ-006-US-001-004 Session is registered in the Prolog fact database orchestrata_ultimate/session/prolog_facts assert_fact L48
orchestrata_ultimate/session/prolog_interface assert_session_open L79
none
REQ-006-US-001-005 Session creation completes in < 50ms orchestrata_ultimate/session/controller/_core begin L168
orchestrata_ultimate/session/redis_store save_session L127
none
REQ-006-US-001-006 Verification: session_exists(SessionID) returns true orchestrata_ultimate/session/prolog_interface fact_exists L383
orchestrata_ultimate/session/prolog_interface query_session L185
none
REQ-006-US-002-001 User can explicitly close a session orchestrata_ultimate/session/cli/lifecycle _finalize_session L254
orchestrata_ultimate/session/cli/lifecycle _prompt_achievements L426
orchestrata_ultimate/session/cli/lifecycle _prompt_upcoming L443
+6 more
none
REQ-006-US-002-002 System removes session from active sessions list orchestrata_ultimate/session/controller/_core SessionController L111
orchestrata_ultimate/session/redis_store _checkpoints_key L117
orchestrata_ultimate/session/redis_store clear_active L237
+1 more
none
REQ-006-US-002-003 Session facts are retracted from Prolog database orchestrata_ultimate/orchestrator/fact_graph delete_fact L169
orchestrata_ultimate/orchestrator/fact_manager unregister_fact L225
orchestrata_ultimate/orchestrator/fact_store retract_fact L145
+4 more
none
REQ-006-US-002-004 Session cleanup completes successfully orchestrata_ultimate/session/controller/_core SessionController L111
orchestrata_ultimate/session/controller/_core end L222
orchestrata_ultimate/session/graph_store GraphSessionStore L47
+2 more
none
REQ-006-US-002-005 Session resources are released orchestrata_ultimate/session/controller/_core SessionController L111
orchestrata_ultimate/session/redis_store cleanup_session L448
orchestrata_ultimate/session/redis_store clear_context L365
+1 more
none
REQ-006-US-002-006 Verification: session_exists(SessionID) returns false after closure orchestrata_ultimate/session/controller/_core SessionController L111
orchestrata_ultimate/session/prolog_interface fact_exists L383
orchestrata_ultimate/session/prolog_interface retract_session L116
none
REQ-006-US-002-007 [DRAFT — derived-from-code, UNRATIFIED]: When ending a session, the system... orchestrata_ultimate/session/cli/lifecycle _auto_detect_session_data L486
orchestrata_ultimate/session/cli/lifecycle _count_lines L530
orchestrata_ultimate/session/cli/lifecycle _detect_modified_artifacts L498
none
REQ-006-US-002-008 [DRAFT — derived-from-code, UNRATIFIED]: When ending a session, the system... orchestrata_ultimate/session/cli/lifecycle _auto_detect_session_data L486
orchestrata_ultimate/session/cli/lifecycle _detect_recent_commits L568
none
REQ-006-US-002-009 [DRAFT — derived-from-code, UNRATIFIED]: When ending a session, the system runs test... orchestrata_ultimate/session/cli/lifecycle _auto_detect_session_data L486
orchestrata_ultimate/session/cli/lifecycle _detect_test_state L539
none
REQ-006-US-002-010 [DRAFT — derived-from-code, UNRATIFIED]: When ending a session, the user can... orchestrata_ultimate/session/cli/lifecycle _commit_code_changes L594 none
REQ-006-US-003-001 User can query current session state orchestrata_ultimate/session/cli/lifecycle _get_active_session L643
orchestrata_ultimate/session/controller/_core active_session L162
orchestrata_ultimate/session/controller/_core get_session L444
+5 more
none
REQ-006-US-003-002 System returns all facts associated with session orchestrata_ultimate/orchestrator/fact_manager get_session_facts L393
orchestrata_ultimate/session/fact_emitter get_facts L177
orchestrata_ultimate/session/graph_store query_fact_timeline L318
+4 more
none
REQ-006-US-003-003 Query includes session metadata (ID, timestamp, status) orchestrata_ultimate/session/models SessionRecord L127
orchestrata_ultimate/session/prolog_interface query_session L185
orchestrata_ultimate/session/redis_store RedisSessionStore L52
+1 more
none
REQ-006-US-003-004 Query execution completes in < 10ms orchestrata_ultimate/session/fact_emitter query_facts L193
orchestrata_ultimate/session/redis_store RedisSessionStore L52
orchestrata_ultimate/session/redis_store get_facts L285
none
REQ-006-US-003-005 Results are formatted correctly (JSON/Prolog terms) orchestrata_ultimate/session/facts write_facts_file L45
orchestrata_ultimate/session/mcp_tools _query_facts L227
orchestrata_ultimate/session/prolog_interface query_session L185
+5 more
none
REQ-006-US-003-006 Verification: Query returns expected session data orchestrata_ultimate/session/fact_emitter query_facts L193
orchestrata_ultimate/session/prolog_interface query_session L185
orchestrata_ultimate/session/redis_store RedisSessionStore L52
none
REQ-006-US-004-001 User can emit facts to current session orchestrata_ultimate/orchestrator/fact_manager register_fact L148
orchestrata_ultimate/orchestrator/fact_store assert_fact L96
orchestrata_ultimate/session/fact_emitter FactEmitter L47
+3 more
none
REQ-006-US-004-002 Facts are immediately available in Prolog database orchestrata_ultimate/governance/prolog_gate _run_volk_goals L245
orchestrata_ultimate/session/fact_emitter FactEmitter L47
orchestrata_ultimate/session/fact_emitter flush_to_prolog L220
+2 more
none
REQ-006-US-004-003 Fact emission includes source attribution orchestrata_ultimate/session/fact_emitter FactEmitter L47
orchestrata_ultimate/session/fact_emitter emit_typed L141
orchestrata_ultimate/session/types Fact L42
none
REQ-006-US-004-004 Fact emission completes in < 10ms orchestrata_ultimate/session/fact_emitter FactEmitter L47
orchestrata_ultimate/session/fact_emitter emit L114
orchestrata_ultimate/session/redis_store save_fact L261
none
REQ-006-US-004-005 Multiple facts can be emitted in single operation orchestrata_ultimate/session/fact_emitter FactEmitter L47
orchestrata_ultimate/session/fact_emitter batch_emit L160
orchestrata_ultimate/session/graph_store persist_facts_batch L188
+4 more
none
REQ-006-US-004-006 Verification: Emitted facts can be queried immediately orchestrata_ultimate/session/fact_emitter FactEmitter L47
orchestrata_ultimate/session/fact_emitter get_facts L177
orchestrata_ultimate/session/fact_emitter query_facts L193
none
REQ-006-US-005-001 System maintains session-specific context orchestrata_ultimate/context/providers/mission_context render_mission_context L20
orchestrata_ultimate/session/carryover WorkCarryoverManager L19
orchestrata_ultimate/session/controller/_core set_handoff L381
+5 more
none
REQ-006-US-005-002 Context includes conversation history orchestrata_ultimate/session/models SessionRecord L127
orchestrata_ultimate/session/redis_store get_all_context L342
none
REQ-006-US-005-003 Context includes emitted facts orchestrata_ultimate/session/fact_emitter get_facts L177
orchestrata_ultimate/session/redis_store get_facts L285
none
REQ-006-US-005-004 Context is isolated per session orchestrata_ultimate/session/redis_store _context_key L111
orchestrata_ultimate/session/redis_store _facts_key L98
orchestrata_ultimate/session/types FactFilter L133
none
REQ-006-US-005-005 Context persists throughout session lifetime orchestrata_ultimate/session/checkpoint CheckpointManager L20
orchestrata_ultimate/session/handover attach_to_session L64
orchestrata_ultimate/session/redis_store RedisSessionStore L47
none
REQ-006-US-005-006 Verification: Context queries return session-specific data only orchestrata_ultimate/session/handover extract_from_session L201
orchestrata_ultimate/session/handover get_from_session L78
orchestrata_ultimate/session/redis_store get_all_context L342
+1 more
none
REQ-006-US-006-001 System triggers on_session_start hook orchestrata_ultimate/session/hook_registry fire L139
orchestrata_ultimate/session/hooks/session_auto_start_hook _build_session_output L93
orchestrata_ultimate/session/hooks/session_auto_start_hook _detect_auto_closed_session L78
+12 more
none
REQ-006-US-006-002 System triggers on_session_end hook orchestrata_ultimate/session/hook_registry fire L139
orchestrata_ultimate/session/hooks/session_pre_close_hook check_git_clean L77
orchestrata_ultimate/session/hooks/session_pre_close_hook main L135
+1 more
none
REQ-006-US-006-003 Hooks can execute custom logic orchestrata_ultimate/session/hook_registry SessionHook L32
orchestrata_ultimate/session/hook_registry add L80
none
REQ-006-US-006-004 Hook execution does not block session operations orchestrata_ultimate/session/hook_registry fire L139 none
REQ-006-US-006-005 Hook failures are logged but do not crash system orchestrata_ultimate/session/exceptions SessionError L11
orchestrata_ultimate/session/hook_registry fire L139
none
REQ-006-US-006-006 Verification: Hooks are called with correct parameters orchestrata_ultimate/session/hook_registry SessionHook L32
orchestrata_ultimate/session/hook_registry __call__ L52
orchestrata_ultimate/session/hook_registry fire L139
none
REQ-006-US-007-001 System supports multiple concurrent sessions orchestrata_ultimate/session/portfolio PortfolioController L24
orchestrata_ultimate/session/redis_store set_active L232
none
REQ-006-US-007-002 Each session has isolated state orchestrata_ultimate/session/portfolio PortfolioController L24
orchestrata_ultimate/session/redis_store _session_key L94
orchestrata_ultimate/session/types FactFilter L133
none
REQ-006-US-007-003 Sessions do not interfere with each other orchestrata_ultimate/session/portfolio PortfolioController L24
orchestrata_ultimate/session/redis_store _context_key L111
orchestrata_ultimate/session/redis_store _facts_key L98
none
REQ-006-US-007-004 Session switching is supported orchestrata_ultimate/session/controller/_core resume L415
orchestrata_ultimate/session/interfaces pause_session L42
orchestrata_ultimate/session/interfaces resume_session L47
+1 more
none
REQ-006-US-007-005 Session list can be queried orchestrata_ultimate/kernel/session_manager get_active_sessions L530
orchestrata_ultimate/kernel/session_manager is_active L121
orchestrata_ultimate/session/controller/_core all_sessions L460
+3 more
none
REQ-006-US-007-006 Verification: Multiple sessions can be active simultaneously orchestrata_ultimate/session/portfolio PortfolioController L24
orchestrata_ultimate/session/redis_store get_active_sessions L242
orchestrata_ultimate/session/redis_store is_active L254
none
REQ-006-FR1-001 System generates unique session IDs orchestrata_ultimate/session/constants generate_session_id L17
orchestrata_ultimate/session/controller/_core SessionController L100
none
REQ-006-FR1-002 Session IDs follow format: session_YYYYMMDD_HHMMSS_UUID... orchestrata_ultimate/session/constants generate_session_id L17
orchestrata_ultimate/session/controller/_core SessionController L100
none
REQ-006-FR1-003 Session IDs are collision-resistant orchestrata_ultimate/session/constants generate_session_id L17
orchestrata_ultimate/session/controller/_core SessionController L100
none
REQ-006-FR1-004 Session IDs are human-readable orchestrata_ultimate/session/constants generate_session_id L17
orchestrata_ultimate/session/controller/_core SessionController L100
none
REQ-006-FR1-005 Verification: Generated IDs are unique across 1000+ sessions orchestrata_ultimate/session/constants generate_session_id L17
orchestrata_ultimate/session/controller/_core SessionController L100
none
REQ-006-FR2-001 Session state is stored in Prolog fact database orchestrata_ultimate/session/prolog_facts PrologFactBridge L22
orchestrata_ultimate/session/prolog_interface assert_session_open L79
none
REQ-006-FR2-002 State includes: session ID, timestamp, status, metadata orchestrata_ultimate/session/models SessionRecord L127
orchestrata_ultimate/session/types SessionState L16
none
REQ-006-FR2-003 State is queryable via Prolog interface orchestrata_ultimate/session/prolog_interface execute_query L405
orchestrata_ultimate/session/prolog_interface query_session L185
none
REQ-006-FR2-004 State updates are atomic orchestrata_ultimate/session/context write L318
orchestrata_ultimate/session/redis_store save_session L127
none
REQ-006-FR2-005 Verification: State persists across multiple queries orchestrata_ultimate/session/cli/lifecycle _get_active_session L643
orchestrata_ultimate/session/prolog_interface query_session L185
orchestrata_ultimate/session/redis_store get_session L164
none
REQ-006-FR3-001 Facts are tagged with session ID orchestrata_ultimate/orchestrator/fact_manager register_fact L148
orchestrata_ultimate/session/fact_emitter FactEmitter L36
orchestrata_ultimate/session/facts FactGenerator L19
+6 more
none
REQ-006-FR3-002 Facts include timestamp of emission orchestrata_ultimate/session/fact_emitter FactEmitter L36
orchestrata_ultimate/session/facts _work_facts L141
orchestrata_ultimate/session/facts session_fact L165
+3 more
none
REQ-006-FR3-003 Facts include source attribution orchestrata_ultimate/session/fact_emitter FactEmitter L36
orchestrata_ultimate/session/graph_store persist_fact L155
orchestrata_ultimate/session/types Fact L42
+1 more
none
REQ-006-FR3-004 Facts are queryable by session ID orchestrata_ultimate/orchestrator/fact_manager get_session_facts L393
orchestrata_ultimate/session/fact_emitter FactEmitter L36
orchestrata_ultimate/session/fact_emitter get_facts L177
+2 more
none
REQ-006-FR3-005 Verification: Facts are correctly associated with sessions orchestrata_ultimate/session/fact_emitter FactEmitter L36
orchestrata_ultimate/session/fact_emitter get_fact_count L215
orchestrata_ultimate/session/types FactFilter L133
+1 more
none
REQ-006-FR4-001 Each session has separate fact namespace orchestrata_ultimate/session/controller/_core SessionController L89
orchestrata_ultimate/session/prolog_facts _fact_to_term L189
orchestrata_ultimate/session/redis_store _facts_key L98
none
REQ-006-FR4-002 Queries are scoped to current session by default orchestrata_ultimate/session/controller/_core SessionController L89
orchestrata_ultimate/session/fact_emitter query_facts L193
orchestrata_ultimate/session/types FactFilter L133
none
REQ-006-FR4-003 Cross-session queries are explicitly supported orchestrata_ultimate/session/controller/_core SessionController L89
orchestrata_ultimate/session/interfaces get_active_sessions L37
orchestrata_ultimate/session/prolog_interface _session_query L426
+1 more
none
REQ-006-FR4-004 Session isolation prevents fact leakage orchestrata_ultimate/session/controller/_core SessionController L89
orchestrata_ultimate/session/prolog_facts query_facts L98
orchestrata_ultimate/session/redis_store _session_key L94
none
REQ-006-FR4-005 Verification: Session A cannot access Session B facts without explicit permission orchestrata_ultimate/session/controller/_core SessionController L89
orchestrata_ultimate/session/redis_store _facts_key L98
orchestrata_ultimate/session/types FactFilter L133
+1 more
none
REQ-006-FR5-001 Closed sessions retract all associated facts orchestrata_ultimate/core/protocols/decoupling end_session L53
orchestrata_ultimate/orchestrator/fact_manager on_session_end L288
orchestrata_ultimate/session/controller/_core SessionController L78
+3 more
none
REQ-006-FR5-002 Session resources are released on closure orchestrata_ultimate/session/controller/_core SessionController L78
orchestrata_ultimate/session/graph_store GraphSessionStore L47
orchestrata_ultimate/session/graph_store cleanup_session L387
+2 more
none
REQ-006-FR5-003 Cleanup is atomic (all-or-nothing) orchestrata_ultimate/session/controller/_core SessionController L78
orchestrata_ultimate/session/controller/_core end L222
orchestrata_ultimate/session/redis_store cleanup_session L448
none
REQ-006-FR5-004 Failed cleanup attempts are logged orchestrata_ultimate/session/controller/_core SessionController L78
orchestrata_ultimate/session/controller/_core end L222
orchestrata_ultimate/session/exceptions SessionError L11
none
REQ-006-FR5-005 Verification: No memory leaks after 1000+ session cycles orchestrata_ultimate/session/controller/_core SessionController L78
orchestrata_ultimate/session/redis_store cleanup_session L448
orchestrata_ultimate/session/redis_store delete_checkpoints L409
none
REQ-006-FR6-001 Invalid session IDs return clear error messages orchestrata_ultimate/session/controller/_core SessionController L67
orchestrata_ultimate/session/exceptions SessionError L11
orchestrata_ultimate/session/exceptions SessionStartError L57
+2 more
none
REQ-006-FR6-002 Operations on closed sessions fail gracefully orchestrata_ultimate/session/cli/lifecycle _finalize_session L254
orchestrata_ultimate/session/cli/lifecycle _report_ended_session L276
orchestrata_ultimate/session/controller/_core SessionController L67
+2 more
none
REQ-006-FR6-003 Prolog errors are caught and logged orchestrata_ultimate/session/controller/_core SessionController L67
orchestrata_ultimate/session/prolog_facts assert_fact L48
orchestrata_ultimate/session/prolog_interface assert_session_open L79
none
REQ-006-FR6-004 System remains stable after errors orchestrata_ultimate/session/controller/_core SessionController L67
orchestrata_ultimate/session/exceptions SessionError L11
orchestrata_ultimate/session/hook_registry fire L139
none
REQ-006-FR6-005 Verification: System continues operating after error conditions orchestrata_ultimate/session/controller/_core SessionController L67
orchestrata_ultimate/session/exceptions SessionError L11
none
REQ-006-FR7-001 Session creation: < 50ms orchestrata_ultimate/session/controller/_core SessionController L55
orchestrata_ultimate/session/controller/_core begin L168
orchestrata_ultimate/session/redis_store save_session L127
none
REQ-006-FR7-002 Fact emission: < 10ms orchestrata_ultimate/session/controller/_core SessionController L55
orchestrata_ultimate/session/fact_emitter emit L114
none
REQ-006-FR7-003 Session query: < 10ms (Redis LRANGE + filter, validated in benchmarks) orchestrata_ultimate/session/controller/_core SessionController L55
orchestrata_ultimate/session/redis_store get_facts L285
orchestrata_ultimate/session/redis_store get_session L164
none
REQ-006-FR7-004 Session closure: < 50ms (pipeline cleanup, validated in benchmarks) orchestrata_ultimate/session/controller/_core SessionController L55
orchestrata_ultimate/session/controller/_core end L222
orchestrata_ultimate/session/redis_store cleanup_session L448
none
REQ-006-FR7-005 Concurrent operations: 100+ sessions without degradation orchestrata_ultimate/session/controller/_core SessionController L55
orchestrata_ultimate/session/redis_store get_active_sessions L242
none
REQ-006-FR7-006 Verification: Performance benchmarks pass orchestrata_ultimate/session/controller/_core SessionController L55
orchestrata_ultimate/session/fact_emitter FactEmitter L31
orchestrata_ultimate/session/sync SessionSync L20
none
REQ-006-FR8-001 Python API: emit_fact(session_id, fact_term) orchestrata_ultimate/orchestrator/fact_graph build_create_query L51
orchestrata_ultimate/orchestrator/fact_manager register_fact L148
orchestrata_ultimate/orchestrator/fact_store assert_fact L96
+4 more
none
REQ-006-FR8-002 Supports Prolog term strings orchestrata_ultimate/session/facts generate_all_facts L32
orchestrata_ultimate/session/prolog_facts _fact_to_term L189
orchestrata_ultimate/session/prolog_interface assert_session_fact L147
none
REQ-006-FR8-003 Supports structured fact dictionaries orchestrata_ultimate/session/fact_emitter emit_typed L141
orchestrata_ultimate/session/types Fact L42
orchestrata_ultimate/session/types from_dict L76
+4 more
none
REQ-006-FR8-004 Returns success/failure status orchestrata_ultimate/session/fact_emitter emit L114
orchestrata_ultimate/session/mcp_tools _emit_fact L213
none
REQ-006-FR8-005 Verification: API calls succeed with valid inputs orchestrata_ultimate/session/fact_emitter emit L114 none
REQ-006-FR9-001 Python API: query_session(session_id, query_term) orchestrata_ultimate/session/controller/_core SessionController L44
orchestrata_ultimate/session/fact_emitter query_facts L193
orchestrata_ultimate/session/interfaces query_facts L69
+2 more
none
REQ-006-FR9-002 Returns list of matching facts orchestrata_ultimate/orchestrator/fact_manager get_facts_by_predicate L411
orchestrata_ultimate/session/controller/_core SessionController L44
orchestrata_ultimate/session/fact_emitter query_facts L193
+2 more
none
REQ-006-FR9-003 Supports complex Prolog queries orchestrata_ultimate/session/controller/_core SessionController L44
orchestrata_ultimate/session/prolog_interface _session_query L426
orchestrata_ultimate/session/prolog_interface _work_query L444
+3 more
none
REQ-006-FR9-004 Returns empty list for no matches orchestrata_ultimate/session/controller/_core SessionController L44
orchestrata_ultimate/session/fact_emitter query_facts L193
orchestrata_ultimate/session/prolog_interface query_session L185
none
REQ-006-FR9-005 Verification: Queries return correct results orchestrata_ultimate/session/controller/_core SessionController L44
orchestrata_ultimate/session/fact_emitter query_facts L193
orchestrata_ultimate/session/types FactFilter L133
+1 more
none
REQ-006-FR10-001 Python API: open_session(session_id=None) orchestrata_ultimate/session/controller/_core SessionController L33
orchestrata_ultimate/session/interfaces open_session L22
orchestrata_ultimate/session/mcp_tools _create L182
none
REQ-006-FR10-002 Python API: close_session(session_id) orchestrata_ultimate/session/controller/_core SessionController L33
orchestrata_ultimate/session/controller/_core end L222
orchestrata_ultimate/session/interfaces close_session L27
+1 more
none
REQ-006-FR10-003 Python API: get_session_info(session_id) orchestrata_ultimate/session/controller/_core SessionController L33
orchestrata_ultimate/session/controller/_core get_session L444
orchestrata_ultimate/session/interfaces get_session L32
+1 more
none
REQ-006-FR10-004 Returns session metadata orchestrata_ultimate/session/cli/achievements achievement_add L52
orchestrata_ultimate/session/cli/achievements achievement_list L20
orchestrata_ultimate/session/context read_latest_session L376
+4 more
none
REQ-006-FR10-005 Verification: APIs work as documented orchestrata_ultimate/session/controller/_core SessionController L33
orchestrata_ultimate/session/interfaces ISessionManager L14
orchestrata_ultimate/session/mcp_tools handle_tool_call L156
none
REQ-006-FR11-001 Hooks are registered via Python API orchestrata_ultimate/session/hook_registry __init__ L75
orchestrata_ultimate/session/hook_registry add L80
orchestrata_ultimate/session/hook_registry clear L214
+2 more
none
REQ-006-FR11-002 Hook signature: hook_function(session_id, **kwargs) (SessionHook protocol in... orchestrata_ultimate/session/hook_registry SessionHook L32
orchestrata_ultimate/session/hook_registry __call__ L52
orchestrata_ultimate/session/hooks/session_pre_close_hook run_tests L44
none
REQ-006-FR11-003 Hooks execute synchronously during lifecycle events orchestrata_ultimate/session/hook_registry fire L139
orchestrata_ultimate/session/hooks/session_pre_close_hook run_tests L44
none
REQ-006-FR11-004 Hook failures are logged orchestrata_ultimate/session/hook_registry fire L139
orchestrata_ultimate/session/hooks/session_pre_close_hook run_tests L44
none
REQ-006-FR11-005 Verification: Hooks execute with correct parameters orchestrata_ultimate/session/hook_registry count L194
orchestrata_ultimate/session/hook_registry fire L139
orchestrata_ultimate/session/hooks/session_pre_close_hook run_tests L44
none
REQ-006-FR12-001 All session operations are logged orchestrata_ultimate/session/controller/_core end L222
orchestrata_ultimate/session/controller/_core log_achievement L365
orchestrata_ultimate/session/controller/_core log_artifact L323
+2 more
none
REQ-006-FR12-002 Logs include: session ID, operation, timestamp, result orchestrata_ultimate/session/models LogEntry L91
orchestrata_ultimate/session/models SessionRecord L127
none
REQ-006-FR12-003 Performance metrics are captured orchestrata_ultimate/orchestrator/fact_manager get_stats L432
orchestrata_ultimate/session/fact_emitter emit_count L102
orchestrata_ultimate/session/sync SessionSync L20
+4 more
none
REQ-006-FR12-004 Errors are logged with stack traces orchestrata_ultimate/session/controller/_core end L222
orchestrata_ultimate/session/exceptions SessionError L11
none
REQ-006-FR12-005 Verification: Logs are complete and accurate orchestrata_ultimate/session/controller/_core log_achievement L365
orchestrata_ultimate/session/controller/_core log_artifact L323
orchestrata_ultimate/session/controller/_core log_choice L349
+2 more
none
REQ-006-FR13-001 Session management exposed via MCP protocol orchestrata_ultimate/session/mcp_tools SessionMCPTools L22 none
REQ-006-FR13-002 MCP tools can manage sessions (create, get, close) orchestrata_ultimate/session/mcp_tools _close L205
orchestrata_ultimate/session/mcp_tools _create L182
orchestrata_ultimate/session/mcp_tools _get L197
none
REQ-006-FR13-003 MCP clients can query session state and facts orchestrata_ultimate/session/mcp_tools _fact_count L251
orchestrata_ultimate/session/mcp_tools _query_facts L227
orchestrata_ultimate/session/redis_store get_fact_count L313
none
REQ-006-FR13-004 MCP tool schemas follow standard format orchestrata_ultimate/session/mcp_tools tool_definitions L39 none
REQ-006-FR13-005 MCP integration verified with comprehensive tests orchestrata_ultimate/session/mcp_tools handle_tool_call L156 none
REQ-006-FR14-001 context.json is machine-readable source of truth orchestrata_ultimate/session/cli/main _find_project_root L21
orchestrata_ultimate/session/context __init__ L76
orchestrata_ultimate/session/context _read_json L259
+4 more
none
REQ-006-FR14-002 context.md rendered from context.json via Jinja2 orchestrata_ultimate/session/context _parse L1044
orchestrata_ultimate/session/context _parse_current_state L903
orchestrata_ultimate/session/context write L318
none
REQ-006-FR14-003 Atomic writes — both files updated or neither orchestrata_ultimate/session/context initialize L218
orchestrata_ultimate/session/context write L318
none
REQ-006-FR14-004 context.history.md is canonical archive filename orchestrata_ultimate/session/archive SessionArchiver L21
orchestrata_ultimate/session/context ensure_initialized L165
tests/session/test_session_archive.py::TestSessionArchiverInit
REQ-006-FR14-005 Auto-archive when session count exceeds SESSION_LIMIT orchestrata_ultimate/session/archive SessionArchiver L21
orchestrata_ultimate/session/archive should_archive L247
orchestrata_ultimate/session/context archive_old_sessions L502
tests/session/test_session_archive.py::TestShouldArchive
REQ-006-FR14-006 Schema defined by ContextData Pydantic model orchestrata_ultimate/context/providers/mission_context render_mission_context L20
orchestrata_ultimate/session/cli/lifecycle _prompt_achievements L426
orchestrata_ultimate/session/cli/lifecycle _prompt_handoff L473
+3 more
none
REQ-006-FR14-007 Sync integrity — gapless ascending session numbers orchestrata_ultimate/session/context _collect_history_session_nums L673
orchestrata_ultimate/session/context _collect_json_session_nums L660
orchestrata_ultimate/session/context _get_max_session_from_history L542
+5 more
none
REQ-006-FR15-001 Auto-archive on session close orchestrata_ultimate/session/archive SessionArchiver L21
orchestrata_ultimate/session/archive archive L73
orchestrata_ultimate/session/context archive_old_sessions L502
tests/session/test_session_archive.py::TestArchive
tests/session/test_session_archive.py::TestArchivedSessionNums
tests/session/test_session_archive.py::TestClear
+9 more
REQ-006-FR15-002 Append-only to context.history.md orchestrata_ultimate/session/archive SessionArchiver L21
orchestrata_ultimate/session/archive archive L73
tests/session/test_session_archive.py::TestArchive
tests/session/test_session_archive.py::TestSessionArchiverIntegration
REQ-006-FR15-003 Idempotent archive operation orchestrata_ultimate/session/archive SessionArchiver L21
orchestrata_ultimate/session/archive archive L73
orchestrata_ultimate/session/archive archived_session_nums L132
tests/session/test_session_archive.py::TestArchive
tests/session/test_session_archive.py::TestSessionArchiverIntegration
REQ-006-FR16-001 Gap detection in session numbering orchestrata_ultimate/session/context _check_gaps L683
orchestrata_ultimate/session/context verify_history_integrity L616
tests/session/test_session_integrity.py::TestVerifyHistoryIntegrity
REQ-006-FR16-002 Duplicate detection across files orchestrata_ultimate/session/context _check_duplicates L698
orchestrata_ultimate/session/context verify_history_integrity L616
tests/session/test_session_integrity.py::TestVerifyHistoryIntegrity
REQ-006-FR16-003 Sync validation (context.md matches context.json render) orchestrata_ultimate/session/context _check_sync L713
orchestrata_ultimate/session/context read L235
orchestrata_ultimate/session/context verify_history_integrity L616
tests/session/test_session_integrity.py::TestVerifyHistoryIntegrity
REQ-006-FR16-004 History continuity (no overlapping ranges) orchestrata_ultimate/session/archive SessionArchiver L21
orchestrata_ultimate/session/archive archived_session_nums L132
orchestrata_ultimate/session/context _check_continuity L741
+1 more
tests/session/test_session_integrity.py::TestVerifyHistoryIntegrity
REQ-006-FR17-001 Scan git history for lost sessions orchestrata_ultimate/session/context _git_context_commits L817
orchestrata_ultimate/session/context recover_from_git L750
tests/session/test_session_integrity.py::TestRecoverFromGit
REQ-006-FR17-002 Extract session data from historical commits orchestrata_ultimate/session/context _scan_commits_for_sessions L844
orchestrata_ultimate/session/context recover_from_git L750
tests/session/test_session_integrity.py::TestRecoverFromGit
REQ-006-FR17-003 Append with [RECOVERED] annotation orchestrata_ultimate/session/context _append_recovered_sessions L882
orchestrata_ultimate/session/context recover_from_git L750
tests/session/test_session_integrity.py::TestRecoverFromGit
REQ-006-FR17-004 Non-destructive (never overwrites) orchestrata_ultimate/session/archive SessionArchiver L21
orchestrata_ultimate/session/archive archive L73
orchestrata_ultimate/session/context _collect_known_session_nums L800
+1 more
tests/session/test_session_integrity.py::TestRecoverFromGit
REQ-006-FR18-001 archive command triggers archive orchestrata_ultimate/session/cli/archive archive L21
orchestrata_ultimate/session/cli/main main L44
tests/session/test_session_cli.py::TestArchiveCommand
tests/session/test_session_cli.py::TestCLIGroup
REQ-006-FR18-002 archive --verify runs integrity check orchestrata_ultimate/session/cli/archive archive L21
orchestrata_ultimate/session/cli/main main L44
orchestrata_ultimate/session/context verify_history_integrity L616
tests/session/test_session_cli.py::TestArchiveCommand
tests/session/test_session_cli.py::TestCLIGroup
REQ-006-FR18-003 archive --recover runs git recovery orchestrata_ultimate/session/cli/archive archive L21
orchestrata_ultimate/session/cli/main main L44
orchestrata_ultimate/session/context recover_from_git L750
tests/session/test_session_cli.py::TestArchiveCommand
tests/session/test_session_cli.py::TestCLIGroup
REQ-006-FR18-004 archive --stats shows statistics orchestrata_ultimate/session/archive SessionArchiver L21
orchestrata_ultimate/session/archive count_archived L117
orchestrata_ultimate/session/archive stats L209
+2 more
tests/session/test_session_cli.py::TestArchiveCommand
tests/session/test_session_cli.py::TestCLIGroup
REQ-006-FR18-005 status command shows current state orchestrata_ultimate/session/cli/archive status L69
orchestrata_ultimate/session/cli/lifecycle _echo_handoff_block L403
orchestrata_ultimate/session/cli/lifecycle _echo_summary_achievements L413
+15 more
tests/session/test_session_cli.py::TestCLIGroup
tests/session/test_session_cli.py::TestStatusCommand
REQ-006-FR18-006 list command shows all sessions orchestrata_ultimate/session/cli/achievements achievement L13
orchestrata_ultimate/session/cli/achievements achievement_add L52
orchestrata_ultimate/session/cli/achievements achievement_list L20
+5 more
tests/knowledge_graph/test_kg_sync.py::TestKGSyncerIntegration
tests/knowledge_graph/test_kg_sync.py::TestKGSyncerOffline
tests/knowledge_graph/test_kg_sync.py::TestSyncStats
+2 more
REQ-006-FR18-007 [DRAFT — derived-from-code, UNRATIFIED]: overview command runs a one-shot startup... orchestrata_ultimate/session/cli/overview overview L388 none
REQ-006-FR19-001 task add adds a deferred/carryover work item (text + optional priority) to the... orchestrata_ultimate/session/cli/tasks task_add L50 none
REQ-006-FR19-002 task done &lt;index> marks a carryover task done by index, persisting completion to... orchestrata_ultimate/session/cli/tasks task_done L66
orchestrata_ultimate/session/cli/tasks task_reopen L88
none
REQ-006-FR19-003 task list lists all carryover tasks with index, state, and priority orchestrata_ultimate/session/cli/tasks task_list L19 none
REQ-006-FR19-004 task status shows aggregate carryover-task statistics by state orchestrata_ultimate/session/cli/tasks task_status L106 none
REQ-006-NFR9-001 Archive completes in < 500ms orchestrata_ultimate/session/archive SessionArchiver L21
orchestrata_ultimate/session/archive archive L73
none
REQ-006-NFR9-002 Verification completes in < 1s orchestrata_ultimate/session/context verify_history_integrity L616 none
REQ-006-NFR9-003 Git scan max 200 commits orchestrata_ultimate/session/context _git_context_commits L817
orchestrata_ultimate/session/context recover_from_git L750
none