173 lines
5.7 KiB
Markdown
173 lines
5.7 KiB
Markdown
# Governance Layer Status in be0
|
|
|
|
## Current State
|
|
|
|
### ✅ What EXISTS (Current Implementation)
|
|
|
|
The current `be0` codebase has:
|
|
|
|
1. **Basic Workflow System** (`src/domain/entities/workflow.py`, `src/application/services/workflow_service.py`)
|
|
- SDLC/RM Integration workflow
|
|
- Phase-based progression
|
|
- Task/checklist management
|
|
- **Location**: `be0/src/domain/entities/workflow.py`
|
|
|
|
2. **Compliance Verification** (`src/compliance_verifier.py`)
|
|
- Ollama-based compliance checking
|
|
- Text generation and similarity analysis
|
|
- **Location**: `be0/src/compliance_verifier.py`
|
|
|
|
3. **Chat Assistant** (`src/chat_assistant.py`)
|
|
- Policy Q&A functionality
|
|
- Content verification
|
|
- **Location**: `be0/src/chat_assistant.py`
|
|
|
|
4. **Architecture Foundation**
|
|
- Domain/Application/Infrastructure layers
|
|
- Repository pattern
|
|
- API routes structure
|
|
- **Location**: `be0/src/domain/`, `be0/src/application/`, `be0/src/api/`
|
|
|
|
---
|
|
|
|
## ❌ What's MISSING (Governance Layer for Initiatives)
|
|
|
|
The **Grassroots Initiative Recognition System** governance layer has **NOT been implemented yet**.
|
|
|
|
### Missing Components:
|
|
|
|
#### 1. **Initiative Management**
|
|
- ❌ Initiative entity (initiative_id, group_type, status, etc.)
|
|
- ❌ Author management (contribution percentages, lead author logic)
|
|
- ❌ Unit/Appraisal Team entities
|
|
- **Should be in**: `be0/src/domain/entities/initiative.py`
|
|
|
|
#### 2. **Business Rules Engine**
|
|
- ❌ Novelty checker (duplicate detection)
|
|
- ❌ Scoring algorithm (Group 01 dual/triple reviewer)
|
|
- ❌ Auto-classification (Group 02)
|
|
- ❌ Author contribution validator
|
|
- **Should be in**: `be0/src/domain/rules/` or `be0/src/application/rules/`
|
|
|
|
#### 3. **Workflow State Machine**
|
|
- ❌ Initiative state transitions (DRAFT → SUBMITTED → UNIT_REVIEW → etc.)
|
|
- ❌ Deadline enforcement
|
|
- ❌ SLA tracking
|
|
- **Should be in**: `be0/src/application/state_machine.py` or `be0/src/domain/workflows/initiative_workflow.py`
|
|
|
|
#### 4. **Review Management**
|
|
- ❌ Review assignment logic
|
|
- ❌ Blind review enforcement
|
|
- ❌ Score conflict detection
|
|
- ❌ Reviewer assignment service
|
|
- **Should be in**: `be0/src/application/services/review_service.py`
|
|
|
|
#### 5. **Document Management**
|
|
- ❌ Form templates (Form 01, 03, 05, 06)
|
|
- ❌ Document versioning
|
|
- ❌ File storage integration
|
|
- **Should be in**: `be0/src/infrastructure/storage/`
|
|
|
|
#### 6. **API Endpoints**
|
|
- ❌ `/api/v1/initiatives` (CRUD)
|
|
- ❌ `/api/v1/initiatives/{id}/submit`
|
|
- ❌ `/api/v1/initiatives/{id}/reviews`
|
|
- ❌ `/api/v1/reviews/{review_id}/score`
|
|
- ❌ `/api/v1/initiatives/{id}/appeal`
|
|
- **Should be in**: `be0/src/api/routes/initiatives.py`
|
|
|
|
---
|
|
|
|
## Recommended Structure for Governance Layer
|
|
|
|
```
|
|
be0/src/
|
|
├── domain/
|
|
│ ├── entities/
|
|
│ │ ├── initiative.py # ❌ MISSING
|
|
│ │ ├── author.py # ❌ MISSING
|
|
│ │ ├── review.py # ❌ MISSING
|
|
│ │ ├── unit.py # ❌ MISSING
|
|
│ │ └── appraisal_team.py # ❌ MISSING
|
|
│ ├── rules/
|
|
│ │ ├── novelty_checker.py # ❌ MISSING
|
|
│ │ ├── scoring_engine.py # ❌ MISSING
|
|
│ │ ├── duplicate_detector.py # ❌ MISSING
|
|
│ │ └── classification_engine.py # ❌ MISSING
|
|
│ └── workflows/
|
|
│ └── initiative_workflow.py # ❌ MISSING
|
|
├── application/
|
|
│ ├── services/
|
|
│ │ ├── initiative_service.py # ❌ MISSING
|
|
│ │ ├── review_service.py # ❌ MISSING
|
|
│ │ ├── notification_service.py # ❌ MISSING
|
|
│ │ └── deadline_service.py # ❌ MISSING
|
|
│ └── state_machine.py # ❌ MISSING
|
|
├── infrastructure/
|
|
│ ├── storage/
|
|
│ │ └── file_storage.py # ❌ MISSING
|
|
│ └── database/
|
|
│ └── models.py # ❌ MISSING (SQLAlchemy models)
|
|
└── api/
|
|
└── routes/
|
|
├── initiatives.py # ❌ MISSING
|
|
├── reviews.py # ❌ MISSING
|
|
└── reports.py # ❌ MISSING
|
|
```
|
|
|
|
---
|
|
|
|
## What to Build Next
|
|
|
|
Based on the simplified tech stack we discussed, here's the implementation order:
|
|
|
|
### Phase 1: Core Entities & Database
|
|
1. Create database models (PostgreSQL)
|
|
2. Create domain entities (Initiative, Author, Review, etc.)
|
|
3. Create repository interfaces
|
|
|
|
### Phase 2: Business Rules
|
|
1. Novelty checker (using PostgreSQL pg_trgm)
|
|
2. Scoring engine
|
|
3. Auto-classification logic
|
|
|
|
### Phase 3: Workflow
|
|
1. State machine implementation
|
|
2. Transition rules
|
|
3. Deadline tracking
|
|
|
|
### Phase 4: API & Services
|
|
1. Initiative service
|
|
2. Review service
|
|
3. API endpoints
|
|
4. Document upload
|
|
|
|
---
|
|
|
|
## Current vs. Required
|
|
|
|
| Component | Current | Required | Status |
|
|
|-----------|---------|----------|--------|
|
|
| Workflow (SDLC) | ✅ | ✅ | Implemented |
|
|
| Initiative Management | ❌ | ✅ | **Missing** |
|
|
| Business Rules | ❌ | ✅ | **Missing** |
|
|
| Review System | ❌ | ✅ | **Missing** |
|
|
| State Machine | ❌ | ✅ | **Missing** |
|
|
| Document Storage | ❌ | ✅ | **Missing** |
|
|
| Scoring Engine | ❌ | ✅ | **Missing** |
|
|
|
|
---
|
|
|
|
## Next Steps
|
|
|
|
To implement the governance layer:
|
|
|
|
1. **Start with database schema** - Create PostgreSQL tables for initiatives, authors, reviews
|
|
2. **Create domain entities** - Python classes for Initiative, Author, Review
|
|
3. **Implement business rules** - Novelty checker, scoring engine
|
|
4. **Build state machine** - Workflow transitions
|
|
5. **Create API endpoints** - RESTful APIs for frontend
|
|
6. **Add document storage** - Local filesystem integration
|
|
|
|
The foundation (layered architecture, FastAPI, PostgreSQL) is already in place - you just need to build the governance-specific components on top of it.
|