Files
sciagent/be0/GOVERNANCE_LAYER_STATUS.md
T
Thinh Lam 688fac73e9
CI/CD / backend (push) Failing after 2m8s
CI/CD / frontend (push) Failing after 1m40s
CI/CD / deploy (push) Has been skipped
sciagent code + Gitea Actions CI/CD
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 09:38:30 +07:00

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.