fix template, remove okr, use casan.*
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user