mirror of
https://github.com/khodges42/exoshell.git
synced 2026-06-14 18:08:37 +00:00
466 lines
10 KiB
Markdown
466 lines
10 KiB
Markdown
# Roadmap
|
|
|
|
Detailed milestone task lists live in `docs/tasks/`.
|
|
|
|
Current ordering:
|
|
|
|
* Phase 1 is closed.
|
|
* Phase 1.5 establishes the explicit context engine foundation before Phase 2.
|
|
* Phase 2 integrates the context engine with stances, safer command handling, and operator controls.
|
|
* Phase 3 adds project awareness and operational memory on top of visible, user-controlled context.
|
|
|
|
# Phase 3 Tasks
|
|
|
|
Phase 3 goal: provide useful project awareness and operational memory while keeping all context visible, inspectable, and user-controlled.
|
|
|
|
## P3-001: Project Root Detection
|
|
|
|
Status: planned.
|
|
|
|
Outcome: Exoshell can identify and operate against a project root.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Detect Git repositories.
|
|
* Detect project roots using common markers.
|
|
* User can override detected root.
|
|
* Current project root is visible.
|
|
* Tests cover nested repositories and overrides.
|
|
|
|
## P3-002: Project Context Model
|
|
|
|
Status: planned.
|
|
|
|
Outcome: Exoshell has a structured representation of project information.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Project metadata includes root path, repository type, language hints, and discovery timestamps.
|
|
* Metadata is serializable.
|
|
* Metadata can be displayed in the UI.
|
|
* Tests cover serialization and loading.
|
|
|
|
## P3-003: Repository Summary Generation
|
|
|
|
Status: planned.
|
|
|
|
Outcome: Exoshell can generate a high-level summary of a repository.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Summary includes major directories.
|
|
* Summary includes language breakdown.
|
|
* Summary identifies likely entry points.
|
|
* Summary avoids reading entire repositories by default.
|
|
* Tests cover large repositories.
|
|
|
|
## P3-004: Repository Ignore Rules
|
|
|
|
Status: planned.
|
|
|
|
Outcome: repository scanning remains efficient.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Honors .gitignore when practical.
|
|
* Supports Exoshell-specific ignore rules.
|
|
* Skips common build artifacts.
|
|
* Ignore behavior is configurable.
|
|
* Tests cover ignore matching.
|
|
|
|
## P3-005: File Inventory Builder
|
|
|
|
Status: planned.
|
|
|
|
Outcome: users can inspect repository contents.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Generates file inventories.
|
|
* Supports filtering by extension.
|
|
* Supports filtering by path.
|
|
* Supports size limits.
|
|
* Tests cover large inventories.
|
|
|
|
## P3-006: Symbol Discovery Framework
|
|
|
|
Status: planned.
|
|
|
|
Outcome: Exoshell can discover likely symbols without full semantic indexing.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Extracts functions, structs, classes, interfaces, and modules where practical.
|
|
* Stores symbol metadata.
|
|
* Supports lookup by name.
|
|
* Supports language-specific extractors.
|
|
* Tests cover supported languages.
|
|
|
|
## P3-007: Language Detector
|
|
|
|
Status: planned.
|
|
|
|
Outcome: Exoshell understands repository language composition.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Detects primary languages.
|
|
* Detects mixed-language repositories.
|
|
* Handles generated code separately.
|
|
* Displays language summary.
|
|
* Tests cover representative repositories.
|
|
|
|
## P3-008: Git Status Context Provider
|
|
|
|
Status: planned.
|
|
|
|
Outcome: users can add current Git state as context.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Captures branch.
|
|
* Captures modified files.
|
|
* Captures staged files.
|
|
* Captures untracked files.
|
|
* Tests cover detached HEAD and clean repositories.
|
|
|
|
## P3-009: Recent Commit Context Provider
|
|
|
|
Status: planned.
|
|
|
|
Outcome: users can add recent history to context.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Supports configurable commit count.
|
|
* Includes author, timestamp, message, and changed files.
|
|
* Supports filtering by author.
|
|
* Supports filtering by path.
|
|
* Tests cover repositories with no commits.
|
|
|
|
## P3-010: Diff Context Provider
|
|
|
|
Status: planned.
|
|
|
|
Outcome: users can attach diffs to prompts.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Supports staged diffs.
|
|
* Supports unstaged diffs.
|
|
* Supports specific files.
|
|
* Large diffs are truncated visibly.
|
|
* Tests cover truncation behavior.
|
|
|
|
## P3-011: Search Provider Framework
|
|
|
|
Status: planned.
|
|
|
|
Outcome: Exoshell can search repositories consistently.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Search abstraction exists.
|
|
* Supports text search.
|
|
* Supports path search.
|
|
* Supports symbol search.
|
|
* Tests cover provider behavior.
|
|
|
|
## P3-012: Ripgrep Integration
|
|
|
|
Status: planned.
|
|
|
|
Outcome: repository search is fast and useful.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Uses ripgrep when available.
|
|
* Provides fallback behavior.
|
|
* Search results include file and line information.
|
|
* Results are attachable as context.
|
|
* Tests cover common searches.
|
|
|
|
## P3-013: Source File Context Commands
|
|
|
|
Status: planned.
|
|
|
|
Outcome: users can add code directly to context.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Supports adding files.
|
|
* Supports adding line ranges.
|
|
* Supports adding symbols.
|
|
* Supports adding search results.
|
|
* Tests cover invalid ranges.
|
|
|
|
## P3-014: Context Compression Pipeline
|
|
|
|
Status: planned.
|
|
|
|
Outcome: large repositories remain usable.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Large context can be summarized.
|
|
* Compression preserves source references.
|
|
* Compression is visible to the user.
|
|
* Original context remains inspectable.
|
|
* Tests cover compression logic.
|
|
|
|
## P3-015: Global Notebook Support
|
|
|
|
Status: planned.
|
|
|
|
Outcome: users can maintain global notes.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Global notebook exists outside repositories.
|
|
* Notes are markdown.
|
|
* Notes are searchable.
|
|
* Notes are user-editable.
|
|
* Tests cover creation and loading.
|
|
|
|
## P3-016: Repository Notebook Support
|
|
|
|
Status: planned.
|
|
|
|
Outcome: each repository can maintain its own notebook.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Notebook is scoped to repository.
|
|
* Notebook persists between sessions.
|
|
* Notebook supports markdown.
|
|
* Notebook location is configurable.
|
|
* Tests cover notebook loading.
|
|
|
|
## P3-017: Task Notebook Support
|
|
|
|
Status: planned.
|
|
|
|
Outcome: users can organize work around tasks.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Users can create tasks.
|
|
* Tasks have notes.
|
|
* Tasks can link context entries.
|
|
* Tasks can be completed or archived.
|
|
* Tests cover task lifecycle.
|
|
|
|
## P3-018: Notebook Search
|
|
|
|
Status: planned.
|
|
|
|
Outcome: stored discoveries remain useful.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Supports keyword search.
|
|
* Supports filtering by notebook type.
|
|
* Results include source references.
|
|
* Results are attachable to prompts.
|
|
* Tests cover notebook search.
|
|
|
|
## P3-019: Discovery Linking
|
|
|
|
Status: planned.
|
|
|
|
Outcome: findings become navigable knowledge.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Discoveries can link files.
|
|
* Discoveries can link symbols.
|
|
* Discoveries can link commits.
|
|
* Discoveries can link tasks.
|
|
* Tests cover link integrity.
|
|
|
|
## P3-020: Runbook Generation
|
|
|
|
Status: planned.
|
|
|
|
Outcome: sessions can produce operational documentation.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Generates markdown runbooks.
|
|
* Includes commands, findings, and notes.
|
|
* Includes timestamps.
|
|
* Includes source references.
|
|
* Tests cover runbook generation.
|
|
|
|
## P3-021: Session Summarization
|
|
|
|
Status: planned.
|
|
|
|
Outcome: long sessions remain manageable.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Session summaries are generated on demand.
|
|
* Summaries preserve important discoveries.
|
|
* Summaries include linked context.
|
|
* Summaries are written to notebooks.
|
|
* Tests cover summary generation.
|
|
|
|
## P3-022: Patch Suggestion Model
|
|
|
|
Status: planned.
|
|
|
|
Outcome: Exoshell can suggest code modifications.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Suggestions are emitted as diffs.
|
|
* Suggestions never modify files automatically.
|
|
* Suggestions include rationale.
|
|
* Suggestions include uncertainty when appropriate.
|
|
* Tests cover patch formatting.
|
|
|
|
## P3-023: Diff Renderer
|
|
|
|
Status: planned.
|
|
|
|
Outcome: code changes are reviewable.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Unified diff rendering.
|
|
* Syntax-aware formatting where practical.
|
|
* Clear additions and removals.
|
|
* Works without ANSI color.
|
|
* Tests cover rendering.
|
|
|
|
## P3-024: Patch Export
|
|
|
|
Status: planned.
|
|
|
|
Outcome: users can save suggested patches.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Exports standard patch files.
|
|
* Exports markdown review files.
|
|
* Includes metadata.
|
|
* Does not modify repository state.
|
|
* Tests cover export behavior.
|
|
|
|
## P3-025: Evidence and Confidence Framework
|
|
|
|
Status: planned.
|
|
|
|
Outcome: Exoshell communicates uncertainty consistently.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Responses distinguish evidence from inference.
|
|
* Confidence labels are documented.
|
|
* Confidence metadata can be rendered.
|
|
* Confidence survives transcript export.
|
|
* Tests cover confidence formatting.
|
|
|
|
## P3-026: Code Review Stance
|
|
|
|
Status: planned.
|
|
|
|
Outcome: Exoshell can behave like a skeptical reviewer.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Focuses on correctness.
|
|
* Focuses on maintainability.
|
|
* Focuses on security.
|
|
* Prioritizes findings.
|
|
* Snapshot tests cover stance behavior.
|
|
|
|
## P3-027: Repository Dashboard
|
|
|
|
Status: planned.
|
|
|
|
Outcome: users can inspect project state quickly.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Shows repository metadata.
|
|
* Shows notebook summary.
|
|
* Shows recent discoveries.
|
|
* Shows current task.
|
|
* Displays cleanly in terminal environments.
|
|
|
|
## P3-028: Tree-Sitter Foundation
|
|
|
|
Status: planned.
|
|
|
|
Outcome: semantic parsing foundation exists for supported languages.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Tree-sitter integration is optional.
|
|
* Supports at least one language initially.
|
|
* Symbol extraction can use tree-sitter.
|
|
* Fallback path exists when unavailable.
|
|
* Tests cover parser loading.
|
|
|
|
## P3-029: Tree-Sitter Symbol Provider
|
|
|
|
Status: planned.
|
|
|
|
Outcome: symbol extraction becomes more accurate.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Extracts functions.
|
|
* Extracts classes/structs.
|
|
* Extracts methods.
|
|
* Preserves source locations.
|
|
* Tests cover supported languages.
|
|
|
|
## P3-030: Phase 3 Documentation
|
|
|
|
Status: planned.
|
|
|
|
Outcome: users understand project-aware workflows.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Documentation covers repositories.
|
|
* Documentation covers notebooks.
|
|
* Documentation covers patch suggestions.
|
|
* Documentation covers confidence reporting.
|
|
* Documentation covers limitations.
|
|
|
|
## P3-031: Phase 3 Test Coverage
|
|
|
|
Status: planned.
|
|
|
|
Outcome: repository-awareness features remain reliable.
|
|
|
|
Acceptance criteria:
|
|
|
|
* cargo test covers discovery, search, notebooks, patch generation, and confidence handling.
|
|
* Snapshot tests protect prompt assembly and patch formatting.
|
|
* Manual integration tests remain separate.
|
|
* Verification workflow is documented.
|
|
|
|
## P3-032: Phase 3 Manual Acceptance Test
|
|
|
|
Outcome: repository awareness milestone is validated.
|
|
|
|
Acceptance criteria:
|
|
|
|
* Open a repository.
|
|
* Generate repository summary.
|
|
* Add git diff context.
|
|
* Add recent commit context.
|
|
* Search for a symbol.
|
|
* Create a task notebook.
|
|
* Record discoveries.
|
|
* Generate a runbook.
|
|
* Request a patch suggestion.
|
|
* Export the patch.
|
|
* Verify no files are modified automatically.
|
|
* Verify all context remains inspectable.
|