Commit Graph

46 Commits

Author SHA1 Message Date
zhi
bc1a427f22 BE-CAL-007 + BE-CAL-008: mark completed, update Backend submodule 2026-03-31 04:16:58 +00:00
zhi
5b9d2618ad BE-CAL-006: mark overlap detection task complete in TASKLIST 2026-03-31 01:18:01 +00:00
zhi
3e1fe5cc79 BE-CAL-005: Implement plan virtual-slot identification and materialization
- Virtual slot ID: plan-{plan_id}-{YYYY-MM-DD} format with parse/make helpers
- Plan-date matching: on_month/on_week/on_day hierarchy with week_of_month calc
- Materialization: convert virtual slot to real TimeSlot row, copy plan template
- Detach: clear plan_id after edit/cancel to break plan association
- Bulk materialization: materialize_all_for_date for daily pre-compute
- 23 tests covering all paths (matching, virtual gen, materialize, detach, bulk)
2026-03-30 23:46:51 +00:00
zhi
d12a46b2a3 BE-CAL-004: update submodule pointer + mark task complete in TASKLIST 2026-03-30 22:27:15 +00:00
zhi
c01881ade0 BE-CAL-003: Agent model with status/heartbeat/exhausted fields (backend submodule) 2026-03-30 20:47:56 +00:00
zhi
35045a9490 Mark BE-CAL-002 complete in TASKLIST.md 2026-03-30 19:16:33 +00:00
zhi
ea9f12b9b1 BE-CAL-001: Mark TimeSlot model task complete, update Backend submodule 2026-03-30 17:45:22 +00:00
zhi
2d5e055fc8 BE-PR-011: Mark Proposal/Essential/Story restricted tests complete
- Updated HarborForge.Backend submodule (test infra fix + 29 passing tests)
- Marked BE-PR-011 complete in TASKLIST.md
2026-03-30 16:17:16 +00:00
zhi
52530486d1 BE-PR-010: clean up feat_task_id semantics — deprecate with read-only compat
Decision: retain DB column, mark DEPRECATED. Existing rows still return
feat_task_id via API. New accept flow (BE-PR-007) does not write it.
Clients should migrate to generated_tasks / Task.source_proposal_id.

- Backend: model/schema/router deprecation comments updated
- Backend: added docs/BE-PR-010-feat-task-id-deprecation.md
- Tests: updated to work with Essential-based accept flow
- Tests: all 21 proposal tests pass
- TASKLIST: BE-PR-010 marked complete
2026-03-30 12:50:14 +00:00
zhi
93fe52750c Mark BE-PR-008 complete in TASKLIST.md 2026-03-30 10:46:38 +00:00
zhi
988cfcec4d BE-PR-007: mark task complete, update Backend submodule ref 2026-03-30 07:46:28 +00:00
zhi
23052db117 BE-PR-006: Add Essential CRUD API under Proposals
- New router: /projects/{project_id}/proposals/{proposal_id}/essentials
  - GET    (list)   - list all essentials under a proposal
  - POST   (create) - create essential with auto-generated EssentialCode
  - GET    /{id}    - get single essential by id or essential_code
  - PATCH  /{id}    - update essential (title, type, description)
  - DELETE /{id}    - delete essential
- All mutations restricted to open proposals only
- Permission: creator, project owner, or global admin
- Registered essentials router in main.py
- Updated GET /proposals/{id} to return ProposalDetailResponse with
  embedded essentials list
- Activity logging on all CRUD operations
2026-03-30 07:16:21 +00:00
zhi
5d20df11e9 BE-PR-005: Add Essential schema definitions (create/update/response) and ProposalDetailResponse with nested essentials 2026-03-30 06:45:06 +00:00
zhi
b688ebd35d BE-PR-004: implement EssentialCode encoding rules (submodule update) 2026-03-30 06:16:05 +00:00
zhi
5ee79e5c5e BE-PR-003: Add Essential SQLAlchemy model
- New app/models/essential.py with Essential model and EssentialType enum
  (feature, improvement, refactor)
- Fields: id, essential_code (unique), proposal_id (FK to proposes),
  type, title, description, created_by_id (FK to users), created_at, updated_at
- Added essentials relationship to Proposal model (cascade delete-orphan)
- Added essentials table auto-migration in main.py _migrate_schema()
- Registered essential module import in startup()
2026-03-29 16:32:40 +00:00
zhi
ac585b09b1 BE-PR-002: Proposal model naming & field adjustments
- Add comprehensive docstring to Proposal model documenting all relationships
- Add column comments for all fields (title, description, status, project_id, etc.)
- Mark feat_task_id as DEPRECATED (will be replaced by Essential→task mapping in BE-PR-008)
- Add proposal_code hybrid property as preferred alias for DB column propose_code
- Update ProposalResponse schema to include proposal_code alongside propose_code
- Update serializer to emit both proposal_code and propose_code for backward compat
- No DB migration needed — only Python-level changes
2026-03-29 16:02:07 +00:00
zhi
55ac776462 BE-PR-001: Rename Propose -> Proposal across backend
- Backend: new canonical Proposal model + /proposals router
- Backward-compat shims for old Propose imports and /proposes API
- Tests updated to use /proposals, legacy compat tests added
- Impact checklist: docs/BE-PR-001-rename-impact.md
- TASKLIST.md: BE-PR-001 marked complete

All 21 proposal tests pass.
2026-03-29 15:35:59 +00:00
zhi
339f9aa126 DOC-003: 整理 Calendar 验收清单
- 后端验收项: 数据模型、Slot ID 策略与物化、验证规则、不可变性、Calendar API、Agent/心跳协作
- 前端验收项: 页面骨架、日程展示、计划展示、操作交互、状态提示、权限
- CLI 验收项: 命令组、日程/计划操作命令、输出格式、用户创建扩展
- 插件联动验收项: 心跳请求、唤醒逻辑、状态管理、ScheduledGatewayRestart
- 跨模块集成验收项
2026-03-29 15:01:35 +00:00
zhi
c2b11248d7 DOC-002: Proposal/Essential/Story restricted migration guide
- Document Propose → Proposal naming changes across all layers
- Document Proposal Accept semantic change (single task → Essential-based batch)
- Document story/* restricted expansion and impact analysis
- Document feat_task_id deprecation and backward compatibility strategy
- Document migration execution order and rollback plan
2026-03-29 14:32:23 +00:00
zhi
d6ed523731 DOC-001: 整理本波开发范围说明
- 明确 Calendar 为独立功能线,Proposal/Essential 为项目结构调整线
- 明确两条线交叉点仅限 event_data / Agent 调度引用层
- 区分必须本波完成 vs 仅设计保留内容
- 新增 docs/wave-2026-03-scope.md
2026-03-29 14:01:10 +00:00
nav
8d7ca51649 docs: refine tasklist by module boundaries 2026-03-29 11:43:17 +00:00
nav
05185c9b21 docs: move tasklist under plans 2026-03-29 11:34:12 +00:00
nav
b416c60ae7 docs: move plans into archive and place next wave doc under plans 2026-03-29 11:19:33 +00:00
zhi
62ac7453a5 docs: finalize cross-project planning items
- Mark MVP scope as finalized
- Define release order across submodules
- Document rollback/degradation strategy
- Close CLI contribution note item
- Close repo-config-safe note
2026-03-22 01:38:17 +00:00
zhi
44f5d50261 feat: complete plugin↔monitor bridge integration
- Update submodule refs for Monitor and Plugin
- Mark plugin↔monitor bridge TODO items as complete in cross-project todo
- Sections 4.6, 5.1-5.4, Phase A/E bridge items all done
2026-03-22 01:37:25 +00:00
zhi
e24b317ce5 chore: mark sections 3.4, 3.5 complete; update Frontend submodule
- Section 3.4: monitor UI identifier display confirmed clean
- Section 3.5: copyable resource codes added to all detail pages
- Phase tracking items updated to reflect actual completion state
2026-03-22 00:22:44 +00:00
zhi
38884a7555 chore: mark completed TODO items (sections 2.5, 3.2, 3.3) and update submodule pointers
- Section 2.5: code-based detail endpoints confirmed complete
- Section 3.2: user/role UX alignment confirmed complete
- Section 3.3: meeting/support UI wired and complete
- Update Frontend submodule: meeting/support detail pages + routes
- Update Backend submodule: general /supports list endpoint
2026-03-22 00:18:01 +00:00
zhi
5a3edb763b chore: update submodules and mark completed TODO items
- Backend: remove legacy Python CLI, update docs
- Frontend: code-first navigation across all pages
- TODO: mark sections 2.2, 2.3, 2.6, 3.1 as completed
2026-03-21 21:38:29 +00:00
zhi
d6312c15c8 Update HarborForge.Cli release packaging status 2026-03-21 20:32:31 +00:00
zhi
3d9ddfad00 docs: sync harbor-forge plugin planning notes 2026-03-21 19:52:09 +00:00
zhi
f0a267b6f2 Advance plugin monitor_port alignment 2026-03-21 19:23:01 +00:00
zhi
044a0a3368 feat: meetings code-based API + TODO updates
- Backend: added meetings router with code-first CRUD + attend/participant model
- TODO: mark meeting-code API and attend route as completed
2026-03-21 19:18:32 +00:00
zhi
ff47b1c971 Document HarborForge.Cli install flow 2026-03-21 18:44:26 +00:00
zhi
a111411fd1 Update support API todo progress 2026-03-21 18:17:15 +00:00
zhi
90e92da4f2 docs: update TODO - mark completed code-first API items 2026-03-21 18:12:30 +00:00
zhi
ace119a446 Sync CLI progress and contracts 2026-03-21 17:39:40 +00:00
zhi
c33d9e4ed3 Update HarborForge submodules for CLI and monitor work 2026-03-21 16:07:16 +00:00
zhi
56dc5ef3d6 docs: settle hf permission introspection strategy 2026-03-21 14:14:10 +00:00
zhi
8c90169289 docs: add cross-project hf implementation todo list 2026-03-21 12:07:23 +00:00
zhi
c3a61b198f docs: require code-first identifiers for hf and UI 2026-03-21 12:01:48 +00:00
zhi
b413bc119a docs: plan retirement of legacy backend python cli 2026-03-21 11:53:48 +00:00
zhi
17206e2df9 docs: define hf skill guidance for plugin install 2026-03-21 11:49:36 +00:00
zhi
b0ee1b2450 docs: gate hf skill install behind --install-cli 2026-03-21 11:48:11 +00:00
zhi
a1cbfd3053 docs: add hf plugin and monitor integration requirements 2026-03-21 11:46:00 +00:00
zhi
8086797a72 docs: expand hf CLI plan and command specification 2026-03-21 11:15:20 +00:00
zhi
3d533186a5 chore: archive completed checklist and add CLI go plan
- archive completed ZHI_TASKS checklist
- move HarborForge CLI planning into main repository
- update backend/frontend submodules for account role changes
2026-03-21 08:44:28 +00:00