Skip to content

Commit 42fffe1

Browse files
committed
feat: Update platform development plan for version 1.1 with new architecture and RAG integration details
1 parent 980701d commit 42fffe1

File tree

1 file changed

+90
-73
lines changed

1 file changed

+90
-73
lines changed

roadmap/PLATFORM_DEVELOPMENT_PLAN.md

Lines changed: 90 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# AI-Omniscient-Architect: Platform Development Plan
22

3-
**Version**: 1.0
4-
**Date**: November 28, 2025
5-
**Status**: Active Development
3+
**Version**: 1.1
4+
**Date**: December 22, 2025
5+
**Status**: Active Development - Phase 2 (API & RAG Integration)
66

77
---
88

@@ -23,33 +23,32 @@ Transform AI-Omniscient-Architect into a **production-grade, local-first AI code
2323
### Existing Structure
2424
```
2525
omniscient_architect/
26-
├── agents/ # AI analysis agents (architecture, efficiency, reliability, alignment)
27-
├── core/ # Core analysis engine
28-
├── prompts/ # Prompt templates and loaders
29-
├── tools/ # Complexity, clustering, file scanner
30-
├── utils/ # Cache, ingestion, logging, IO
31-
├── analysis.py # Main AnalysisEngine
32-
├── cli.py # Rich CLI interface
33-
├── web_app.py # Streamlit web interface
34-
├── github_client.py # GitHub API integration
35-
├── models.py # Pydantic data models
36-
├── config.py # Configuration management
37-
└── reporting.py # Report generation
26+
├── packages/
27+
│ ├── core/ # Foundation models and config
28+
│ ├── agents/ # AI analysis agents
29+
│ ├── tools/ # Analysis utilities
30+
│ ├── github/ # GitHub integration
31+
│ ├── api/ # FastAPI server
32+
│ ├── llm/ # LLM provider abstractions
33+
│ └── rag/ # RAG pipeline & vector store
34+
├── examples/ # Usage examples
35+
├── roadmap/ # Development plans
36+
└── tests/ # Integration tests
3837
```
3938

4039
### Strengths
41-
- Modular agent architecture with base class pattern
42-
- Separation of prompts, tools, and utilities
43-
- Multiple interfaces (CLI, Web, API-ready)
44-
- GitHub integration for remote repos
45-
- Local LLM support via Ollama
40+
- **Modular Monorepo**: Clean separation of concerns via `packages/` directory
41+
- **RAG Capabilities**: Advanced RAG pipeline with hybrid search and evaluation
42+
- **LLM Abstraction**: Provider-agnostic LLM interface (Ollama, etc.)
43+
- **Multiple Interfaces**: CLI, Web, and API foundations established
44+
- **Local-First**: Strong support for local LLMs and vector stores
4645

4746
### Gaps to Address
48-
- Tight coupling between components
49-
- No formal API layer
50-
- Limited plugin/extension system
51-
- Missing observability and telemetry
52-
- No package distribution strategy
47+
- **API Maturity**: API exists but lacks persistence and full feature parity
48+
- **Plugin System**: Extension mechanism not yet implemented
49+
- **Observability**: Basic logging present, but metrics/tracing needed
50+
- **Web UI Integration**: Streamlit app needs to consume new API/packages
51+
- **Distribution**: CI/CD for publishing packages not yet set up
5352

5453
---
5554

@@ -78,6 +77,8 @@ omniscient_architect/
7877
```
7978
omniscient-architect (meta-package)
8079
├── omniscient-core # Core models, config, base classes
80+
├── omniscient-llm # LLM provider abstractions
81+
├── omniscient-rag # RAG pipeline, vector store, metrics
8182
├── omniscient-agents # AI analysis agents
8283
├── omniscient-tools # Analysis tools (complexity, clustering)
8384
├── omniscient-github # GitHub integration
@@ -102,19 +103,40 @@ omniscient-architect (meta-package)
102103
# Size: Minimal, no heavy ML dependencies
103104
```
104105

105-
#### 2. `omniscient-agents` (AI Analysis)
106+
#### 2. `omniscient-llm` (LLM Abstraction)
107+
```python
108+
# Responsibilities:
109+
# - Base LLM provider interface
110+
# - Ollama implementation
111+
# - OpenAI/Anthropic implementations (future)
112+
# - Token counting and cost estimation
113+
114+
# Dependencies: omniscient-core, httpx, pydantic
115+
```
116+
117+
#### 3. `omniscient-rag` (Knowledge Engine)
118+
```python
119+
# Responsibilities:
120+
# - RAG Pipeline (ingestion, chunking, embedding)
121+
# - Vector Store (Postgres/pgvector)
122+
# - Hybrid Search (Semantic + Keyword)
123+
# - Evaluation Metrics (Precision, Recall, Answer Accuracy)
124+
125+
# Dependencies: omniscient-core, omniscient-llm, psycopg, pgvector, numpy
126+
```
127+
128+
#### 4. `omniscient-agents` (AI Analysis)
106129
```python
107130
# Responsibilities:
108131
# - ArchitectureAgent, EfficiencyAgent, ReliabilityAgent, AlignmentAgent
109132
# - Agent registry and discovery
110133
# - Prompt templates and loaders
111-
# - LLM client abstraction (Ollama, OpenAI, Anthropic)
112134

113-
# Dependencies: omniscient-core, langchain-core, langchain-ollama
135+
# Dependencies: omniscient-core, omniscient-llm, omniscient-rag
114136
# Extension: Plugin interface for custom agents
115137
```
116138

117-
#### 3. `omniscient-tools` (Analysis Utilities)
139+
#### 5. `omniscient-tools` (Analysis Utilities)
118140
```python
119141
# Responsibilities:
120142
# - ComplexityAnalyzer (Lizard integration)
@@ -125,7 +147,7 @@ omniscient-architect (meta-package)
125147
# Dependencies: omniscient-core, lizard, scikit-learn, tree-sitter
126148
```
127149

128-
#### 4. `omniscient-github` (GitHub Integration)
150+
#### 6. `omniscient-github` (GitHub Integration)
129151
```python
130152
# Responsibilities:
131153
# - GitHubClient (REST API wrapper)
@@ -137,7 +159,7 @@ omniscient-architect (meta-package)
137159
# Dependencies: omniscient-core, PyGithub, httpx
138160
```
139161

140-
#### 5. `omniscient-api` (REST/GraphQL Server)
162+
#### 7. `omniscient-api` (REST/GraphQL Server)
141163
```python
142164
# Responsibilities:
143165
# - FastAPI application
@@ -150,7 +172,7 @@ omniscient-architect (meta-package)
150172
# Dependencies: omniscient-core, omniscient-agents, fastapi, strawberry-graphql
151173
```
152174

153-
#### 6. `omniscient-cli` (Command Line)
175+
#### 8. `omniscient-cli` (Command Line)
154176
```python
155177
# Responsibilities:
156178
# - Rich terminal UI
@@ -161,7 +183,7 @@ omniscient-architect (meta-package)
161183
# Dependencies: omniscient-core, omniscient-agents, rich, click
162184
```
163185

164-
#### 7. `omniscient-web` (Web Interface)
186+
#### 9. `omniscient-web` (Web Interface)
165187
```python
166188
# Responsibilities:
167189
# - Streamlit application
@@ -173,7 +195,7 @@ omniscient-architect (meta-package)
173195
# Dependencies: omniscient-core, omniscient-api, streamlit, plotly
174196
```
175197

176-
#### 8. `omniscient-plugins` (Extension SDK)
198+
#### 10. `omniscient-plugins` (Extension SDK)
177199
```python
178200
# Responsibilities:
179201
# - Plugin discovery and loading
@@ -272,39 +294,18 @@ type AgentResult {
272294

273295
## 🔧 Implementation Phases
274296

275-
### Phase 1: Package Extraction (Weeks 1-2)
297+
### Phase 1: Package Extraction (Completed)
276298
**Goal**: Extract core packages without breaking existing functionality
277299

278-
1. **Create monorepo structure**
279-
```
280-
packages/
281-
├── core/
282-
├── agents/
283-
├── tools/
284-
├── github/
285-
└── api/
286-
```
287-
288-
2. **Extract `omniscient-core`**
289-
- Move models.py → packages/core/src/omniscient_core/models.py
290-
- Move config.py → packages/core/src/omniscient_core/config.py
291-
- Move base agent → packages/core/src/omniscient_core/base.py
292-
- Create package pyproject.toml with minimal dependencies
293-
294-
3. **Extract `omniscient-agents`**
295-
- Move agents/ → packages/agents/src/omniscient_agents/
296-
- Move prompts/ → packages/agents/src/omniscient_agents/prompts/
297-
- Depend on omniscient-core
298-
299-
4. **Extract `omniscient-tools`**
300-
- Move tools/ → packages/tools/src/omniscient_tools/
301-
- Move utils/cache.py → packages/tools/src/omniscient_tools/cache.py
300+
- [x] Create monorepo structure
301+
- [x] Extract `omniscient-core`
302+
- [x] Extract `omniscient-llm` (New)
303+
- [x] Extract `omniscient-rag` (New)
304+
- [x] Extract `omniscient-agents`
305+
- [x] Extract `omniscient-tools`
306+
- [x] Update imports across codebase
302307

303-
5. **Update imports across codebase**
304-
- Create compatibility layer in main package
305-
- Ensure CLI and web app still work
306-
307-
### Phase 2: API Layer (Weeks 3-4)
308+
### Phase 2: API Layer (In Progress)
308309
**Goal**: Build production-ready REST/GraphQL API
309310

310311
1. **FastAPI application structure**
@@ -329,17 +330,22 @@ type AgentResult {
329330
└── stream.py # Analysis streaming
330331
```
331332

332-
2. **Authentication system**
333+
2. **RAG Integration**
334+
- Expose ingestion endpoints
335+
- Expose semantic search endpoints
336+
- Integrate RAG with analysis agents
337+
338+
3. **Authentication system**
333339
- API key generation and validation
334340
- GitHub OAuth for web UI
335341
- Role-based access control
336342

337-
3. **Rate limiting and quotas**
343+
4. **Rate limiting and quotas**
338344
- Per-user request limits
339345
- Analysis job quotas
340346
- Configurable tiers
341347

342-
4. **WebSocket streaming**
348+
5. **WebSocket streaming**
343349
- Real-time analysis progress
344350
- Agent output streaming
345351
- Error notifications
@@ -654,12 +660,23 @@ curl -X POST http://localhost:8000/api/v1/analyze \
654660

655661
## 📝 Next Immediate Actions
656662

657-
1. **Create monorepo structure** with packages/ directory
658-
2. **Extract omniscient-core** as first standalone package
659-
3. **Set up CI/CD** for multi-package builds
660-
4. **Implement FastAPI skeleton** with health endpoint
661-
5. **Add OpenAPI documentation** generation
662-
6. **Create plugin SDK** prototype
663+
1. **API Persistence**:
664+
- Replace in-memory `_analyses` dict in `packages/api/src/omniscient_api/routes.py` with a proper database (SQLite/PostgreSQL).
665+
- Implement Pydantic models for database schema.
666+
667+
2. **RAG Integration**:
668+
- Connect `omniscient-rag` to the API layer.
669+
- Create endpoints for document ingestion (`/ingest`).
670+
- Create endpoints for semantic search (`/search`).
671+
672+
3. **Plugin SDK**:
673+
- Define the `Plugin` abstract base class in `omniscient-core`.
674+
- Create a plugin loader mechanism.
675+
- Implement a sample plugin (e.g., a custom linter or analysis tool).
676+
677+
4. **Testing**:
678+
- Add integration tests for the API endpoints.
679+
- Add more unit tests for `omniscient-llm` and `omniscient-rag`.
663680

664681
---
665682

0 commit comments

Comments
 (0)