Commit Graph

101 Commits

Author SHA1 Message Date
zhi
3afbbc2a88 feat(P2.1): register 9 new permissions (milestone/task/propose actions) + wire check_permission in all action endpoints
- Add milestone.freeze/start/close, task.close/reopen_closed/reopen_completed, propose.accept/reject/reopen to DEFAULT_PERMISSIONS
- Replace placeholder check_project_role with check_permission in proposes.py accept/reject/reopen
- Replace freeform permission strings with dotted names in milestone_actions.py
- Add task.close and task.reopen_* permission checks in tasks.py transition endpoint
- Admin role auto-inherits all new permissions via init_wizard
2026-03-17 15:03:48 +00:00
zhi
c18b8f3850 feat(P9.6): block story/feature and maintenance/release task creation via general create endpoints 2026-03-17 13:02:46 +00:00
zhi
7542f2d7c1 feat(P5.7): task edit restrictions — block body edits in undergoing/completed/closed, enforce assignee-only edit in open+assigned 2026-03-17 12:04:12 +00:00
zhi
ffb0fa6058 feat(P5.3+P5.4): enforce assignee identity on start/complete + require completion comment in transition endpoint 2026-03-17 11:02:19 +00:00
zhi
7a16639aac feat(P8.3): milestone preflight endpoint for freeze/start button pre-condition checks 2026-03-17 10:04:17 +00:00
zhi
314040cef5 feat(P3.6): milestone edit restrictions — block PATCH in terminal states, restrict scope fields in freeze/undergoing, protect delete 2026-03-17 09:01:40 +00:00
zhi
589b1cc8de feat(P5.1-P5.6): task state-machine validation — enforce legal transitions in transition/batch/update endpoints 2026-03-17 08:02:37 +00:00
zhi
7d8c448cb8 feat(P3.1): milestone action endpoints — freeze/start/close + auto-complete hook
- New milestone_actions router with POST freeze/start/close endpoints
- freeze: validates exactly 1 release maintenance task exists
- start: validates all milestone/task dependencies completed, records started_at
- close: allows from open/freeze/undergoing with reason
- try_auto_complete_milestone helper: auto-completes milestone when sole release task finishes
- Wired auto-complete into task transition and update endpoints
- Added freeze enforcement: no new feature story tasks after freeze
- Added started_at to milestone serializer
- All actions write activity logs
2026-03-17 04:03:05 +00:00
zhi
75ccbcb362 feat: propose CRUD router + accept/reject/reopen actions (P6.1-P6.4) 2026-03-17 03:01:49 +00:00
zhi
2bea75e843 feat: add Propose model/schema + DB enum migration scripts
- New Propose model (app/models/propose.py) with status enum (open/accepted/rejected)
- New Propose schemas (ProposeCreate/Update/Response) in schemas.py
- MySQL enum migration in main.py for milestone/task status columns
  - milestone: pending→open, deferred→closed, progressing→undergoing
  - task: progressing→undergoing
- Import propose model in startup for create_all
- Add started_at column migration for milestones
2026-03-17 02:04:42 +00:00
zhi
9e22c97ae8 refactor: update milestone/task status enums to new state machine values
Milestone: open/freeze/undergoing/completed/closed (was open/pending/deferred/progressing/closed)
Task: open/pending/undergoing/completed/closed (was open/pending/progressing/closed)

- Add MilestoneStatusEnum to schemas with typed validation
- Add started_at field to Milestone model
- Update all router/CLI references from progressing->undergoing
- Add completed status handling in task transition logic
2026-03-17 00:04:29 +00:00
zhi
9e14df921e feat: add modal-edit permissions for projects milestones and tasks 2026-03-16 18:13:54 +00:00
zhi
f16bdd9725 fix: align task response time field serialization 2026-03-16 16:32:01 +00:00
zhi
214a9b109d refactor: replace issues backend with milestone tasks 2026-03-16 13:22:14 +00:00
dc5d06489d Merge pull request 'feat: add role/permission system with tests support' (#6) from feature/role-permission-system into main
Reviewed-on: #6
2026-03-15 13:33:50 +00:00
61e3349ca4 feat: add role/permission system with tests support
- Add Role model with 17 default permissions
- Add init_wizard to create admin/guest roles on first startup
- Protect admin role from modification/deletion via API
- Fix MilestoneCreate schema (project_id optional)
- Fix delete role to clean up role_permissions first
- Add check_project_role RBAC function
2026-03-15 12:25:59 +00:00
Zhi
fee2320cee fix: handle None project_code and serialize list fields 2026-03-12 23:33:10 +00:00
Zhi
67adcc375e fix: add project_id to MilestoneCreate schema 2026-03-12 23:29:19 +00:00
Zhi
39da27301a fix: generate milestone_code in milestones.py 2026-03-12 23:26:20 +00:00
Zhi
41d92c5e68 fix: properly generate milestone_code and task/support/meeting codes 2026-03-12 23:18:20 +00:00
Zhi
a1a99bb838 feat: add code fields - milestoneCode, taskCode, supportCode, meetingCode 2026-03-12 22:48:04 +00:00
Zhi
5297711c77 refactor: split tasks/supports/meetings into separate tables 2026-03-12 22:26:24 +00:00
Zhi
724be87a04 feat: add tasks/supports/meetings endpoints with project_code paths 2026-03-12 22:09:39 +00:00
Zhi
5a76f61692 fix: remove leftover code in get_issue 2026-03-12 22:01:55 +00:00
Zhi
6fe5e5ddb3 feat: add task fields - task_code, estimated_effort, etc 2026-03-12 21:54:16 +00:00
Zhi
dbcb92a9c3 fix: add POST endpoints for tasks/supports/meatings 2026-03-12 21:32:57 +00:00
Zhi
1b1ca0e0d3 fix: add /milestones/{id}/items and update progress endpoint 2026-03-12 21:29:18 +00:00
Zhi
d76328923c feat: milestone enhancements - new fields, task/support/meeting endpoints, progress 2026-03-12 14:25:51 +00:00
755e4a80f9 Merge pull request 'feat/task-type-hierarchy' (#5) from feat/task-type-hierarchy into main
Reviewed-on: #5
2026-03-12 13:05:00 +00:00
Zhi
7b2ac29f2c fix: cascade delete milestones/issues, clean references 2026-03-12 12:55:14 +00:00
Zhi
50f5e360e4 fix: prevent deleting project owner 2026-03-12 12:47:15 +00:00
Zhi
d1f9129922 fix: import check_permission 2026-03-12 12:42:50 +00:00
Zhi
2e14077668 fix: milestones router use Milestone model correctly 2026-03-12 12:33:41 +00:00
Zhi
4a32ed921a fix: remove project_id from ProjectMemberBase schema 2026-03-12 12:27:38 +00:00
Zhi
dac2de62f6 fix: import Milestone model in milestones router 2026-03-12 12:26:38 +00:00
Zhi
9254723f2c fix: import Role model 2026-03-12 12:19:14 +00:00
Zhi
afd769bc12 fix: create_project auto-add member use role_id 2026-03-12 12:16:39 +00:00
Zhi
818dbf12b9 fix: add member.remove permission check 2026-03-12 12:13:14 +00:00
Zhi
c695ef903f fix: rbac ProjectMember reference, add repo field to Project 2026-03-12 12:04:51 +00:00
Zhi
ace0707394 fix: member/milestone endpoints - role_id column, schema fixes 2026-03-12 12:00:37 +00:00
Zhi
74177915df feat: add configurable role/permission system 2026-03-12 11:41:55 +00:00
Zhi
2f659e1430 feat: add project creation permission (admin only), add milestones API with RBAC 2026-03-12 11:04:04 +00:00
Zhi
1eb90cd61c fix: project create schema - owner_name auto-fill from owner_id, sub/related projects as list 2026-03-12 10:52:46 +00:00
zhi
d5bf47f4fc fix: quote enum values and csv export subtype 2026-03-12 09:37:19 +00:00
zhi
e5775bb9c8 feat: add project code generation + remove issues/milestones from nav 2026-03-12 09:25:26 +00:00
zhi
6b3e42195d feat: add task type hierarchy with subtypes (issue/meeting/support/maintenance/research/review/story/test) 2026-03-11 23:55:52 +00:00
9f9aad8ce0 Merge pull request 'feat/public-monitor-and-agent-telemetry' (#4) from feat/public-monitor-and-agent-telemetry into main
Reviewed-on: #4
2026-03-11 22:15:25 +00:00
zhi
5f47a17794 fix: add requests dependency for provider usage adapters 2026-03-11 17:29:17 +00:00
zhi
863c79ef3e docs: remove GroupId query param from minimax example 2026-03-11 17:15:53 +00:00
zhi
c81654739c feat: add kimi/minimax usage adapters and update provider docs 2026-03-11 17:05:18 +00:00