fix template, remove okr, use casan.*

This commit is contained in:
thanhnv
2026-07-18 16:45:31 +07:00
parent 0dfd1742d3
commit 13fae3e6c3
249 changed files with 4881 additions and 5702 deletions
+17 -11
View File
@@ -1,20 +1,26 @@
# Feature Specification: OKR Web App
# Feature Specification: OKR Web Application
## Feature ID
001-okr-web-app
## Requirements
- FR-01: Login authenticates username/email plus password and returns standard envelope.
- FR-02: Objective creation validates title, owner, and quarter.
- FR-03: Key Result creation validates objective, title, values, deadline, and progress.
- FR-04: Progress update accepts 0-100 and stores a ProgressUpdate record.
- FR-05: Dashboard list filters by role: ADMIN and MANAGER see all; EMPLOYEE sees own objectives.
- FR-01 | Login | Người dùng đăng nhập
- FR-02 | Create Objective | Tạo Objective
- FR-03 | Create Key Result | Tạo KR
- FR-04 | Update Progress | Cập nhật tiến độ
- FR-05 | Dashboard | Hiển thị OKR
## Acceptance Criteria
- Employee cannot read or update another employee objective or key result.
- Manager can read all seeded objectives.
- Invalid quarter format returns validation error.
- Golden objective response fails on drift.
- FR-01: normal behavior, boundary validation, authorization where applicable, persistence/effect, and failure response are testable.
- FR-02: normal behavior, boundary validation, authorization where applicable, persistence/effect, and failure response are testable.
- FR-03: normal behavior, boundary validation, authorization where applicable, persistence/effect, and failure response are testable.
- FR-04: normal behavior, boundary validation, authorization where applicable, persistence/effect, and failure response are testable.
- FR-05: normal behavior, boundary validation, authorization where applicable, persistence/effect, and failure response are testable.
- Golden output drift fails the quality gate.
## Input Validation Rules
- Reject missing, malformed, out-of-range, and unauthorized inputs before side effects.
- Do not expose secrets or internal error details.
## Source Trace
Requirement characters read: 14212. Architecture characters read: 23558.
Requirement: apps/okr/domain/input/okr-requirement.md. Architecture: docs/technical_architecture.md. Manifest: apps/okr/domain/project.manifest.json.