andreagrandi / andreagrandi/draftomen
Expose enhancement availability through the live session
- Ngôn ngữ chính
- Python
- Star
- 0
- Fork
- 0
- Merge trung bình
- 1 giờ 18 phút
- Pull request đã merge (30 ngày)
- 197
Mô tả
## Problem
Frontends cannot determine whether the active set profile contains confirmed, compatible AI-assisted semantic enhancement. Inferring this from profile maturity or contextual-evidence status would conflate empirical, deterministic, and AI-assisted evidence.
## Proposed change
Add immutable enhancement availability state to the shared live-session snapshot.
Represent at least enhanced and available; not enhanced; incompatible or invalid enhancement; unavailable profile; and user-disabled AI-enhanced suggestions.
Expose an explicit command for enabling or disabling AI-enhanced suggestions. The session enforces availability: an unenhanced profile cannot activate the mode.
Keep all profile interpretation and gating in Python. Frontends only render state and send commands.
## Acceptance Criteria
- [ ] AC1: `tests/test_session.py` verifies every enhancement availability state from representative profile load outcomes.
- [ ] AC2: Enhanced availability requires a compatible confirmed profile; profile maturity alone is insufficient.
- [ ] AC3: Enabling the mode for an unenhanced or incompatible profile leaves it disabled and publishes an explanatory state.
- [ ] AC4: Profile changes atomically update availability and cannot leave an enabled mode attached to an unenhanced set.
- [ ] AC5: Recommendation snapshots distinguish existing contextual evidence from AI-enhanced relationship availability.
- [ ] AC6: `tests/test_mock_session.py` exposes deterministic representative states through the same immutable contract.
## Dependencies
- Apply enhanced relationships to draft scoring.
## Implementation classification
- **Estimated size:** S
- **Orchestration risk:** Normal
- **Reason:** This is a focused shared-state and command-boundary addition.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Start by reading and running tests/test_session.py and tests/test_mock_session.py to understand the immutable live-session contract and representative profile outcomes. Trace the existing session commands and recommendation snapshots before implementing the availability states and enable/disable behavior. Done means all acceptance criteria pass, including atomic profile updates and distinct contextual versus AI-enhanced availability.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- api, backend
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100