Files
boocode/openspec/changes/audit-harness-integration/specs/session-lifecycle/spec.md
indifferentketchup c935687725 chore(openspec): drop 9 superseded proposals + 11 stub archive files
Drop 9 batch proposals that are superseded by the boocode-lift-analysis
(boocontext-audit, conductor upgrades, self-healing/verify-gate skills):
add-3tier-memory, import-llm-evaluator, import-pregel-engine, plugin-platform,
conductor-evolution, code-intelligence-upgrade, dev-workflow, ui-overhaul,
agent-reliability.

Delete 11 stub archive files (49-66B each, 'Status: Shipped. Archived.' only)
that provide zero documentation value over the existing CHANGELOG.md + git tags.
2026-06-07 22:15:38 +00:00

77 lines
4.0 KiB
Markdown

## ADDED Requirements
### Requirement: /start creates named audit session
The system SHALL provide a `/start` command that creates a named audit session with task description, start time, and persistent session ID.
#### Scenario: /start creates session directory
- **WHEN** user runs `/start "fix auth bug"`
- **THEN** system SHALL generate session ID `adhoc_{YYYYMMDD_HHMM}`
- **THEN** system SHALL create `{auditDir}/{session_id}/` directory
- **THEN** system SHALL write `session.json` with `{session_id, task, start_time, status: "in_progress"}`
- **THEN** system SHALL write `{auditDir}/.current_session` with the session ID
#### Scenario: /start recovers context from history
- **WHEN** user runs `/start` and historical audit data exists
- **THEN** system SHALL load Level 0 (index summary) and Level 2 (user corrections) automatically
#### Scenario: /start outputs recovery summary
- **WHEN** `/start` completes
- **THEN** system SHALL output: started session ID, recovery summary with any corrections found, current session directory path
### Requirement: /end finalizes session with integrity check
The system SHALL provide an `/end` command that collects remaining data, validates completeness, generates a summary, and marks the session as completed.
#### Scenario: /end collects and archives remaining data
- **WHEN** user runs `/end`
- **THEN** system SHALL flush audit buffer + pending to session trail
- **THEN** system SHALL extract all `user_correction` records from the session trail
#### Scenario: /end runs integrity checks
- **WHEN** `/end` runs integrity checks
- **THEN** system SHALL verify: records exist, critical files are covered by audit, prompt changes are validated, corrections are persisted
- **THEN** system SHALL record any failed checks as anomalies in `anomalies.json`
#### Scenario: /end generates session summary
- **WHEN** `/end` completes
- **THEN** system SHALL generate `session_summary.md` with operation count, files touched, corrections made, anomalies detected
- **THEN** system SHALL update `session.json` status to `completed`
- **THEN** system SHALL clear `.current_session`
### Requirement: /recover restores lost context
The system SHALL provide a `/recover` command that restores LLM context from audit trails at multiple detail levels.
#### Scenario: /recover with no args loads L1 context
- **WHEN** user runs `/recover`
- **THEN** system SHALL load Level 1 context (current task state, last 3 actions)
#### Scenario: /recover full loads L3 context
- **WHEN** user runs `/recover full`
- **THEN** system SHALL load Level 3 context (full session trail)
#### Scenario: /recover {session_id} loads specific session
- **WHEN** user runs `/recover 20260607_1200`
- **THEN** system SHALL load context from session `20260607_1200`
### Requirement: /report-daily generates structured work report
The system SHALL provide `/report-daily` that aggregates all session data into a structured daily report with traceable metrics.
#### Scenario: /report-daily generates 7-section report
- **WHEN** user runs `/report-daily`
- **THEN** system SHALL generate a report with: task overview, operation statistics, file/resource changes, anomaly summary, user feedback, backlog items, data integrity status
- **THEN** every number in the report SHALL be sourced from `{auditDir}/` files — no inferred or remembered data
#### Scenario: /report-daily for specific date
- **WHEN** user runs `/report-daily 20260607`
- **THEN** system SHALL generate report for June 7, 2026 only
#### Scenario: /report-daily review mode
- **WHEN** user runs `/report-daily review`
- **THEN** system SHALL include morning self-review section with trend analysis and anomaly comparisons
### Requirement: Session lifecycle is opt-in
All session lifecycle commands SHALL be opt-in via configuration. Systems without audit enabled SHALL have no session lifecycle commands available.
#### Scenario: Commands hidden when audit disabled
- **WHEN** `audit.enabled` is `false` or unset
- **THEN** `/start`, `/end`, `/recover`, `/report-daily` SHALL NOT be registered as commands