BE-PR-008: add Proposal Accept tracking fields (source_proposal_id, source_essential_id)

- Add source_proposal_id and source_essential_id FK columns to Task model
- Populate tracking fields during Proposal Accept task generation
- Add generated_tasks relationship on Proposal model for reverse lookup
- Expose source_proposal_id/source_essential_id in TaskResponse schema
- Add GeneratedTaskBrief schema and include generated_tasks in ProposalDetailResponse
- Proposal detail endpoint now returns generated story tasks with status
This commit is contained in:
zhi
2026-03-30 10:46:20 +00:00
parent cb0be05246
commit c84884fe64
4 changed files with 58 additions and 1 deletions

View File

@@ -37,6 +37,17 @@ class Task(Base):
assignee_id = Column(Integer, ForeignKey("users.id"), nullable=True)
created_by_id = Column(Integer, ForeignKey("users.id"), nullable=True)
# Proposal Accept tracking (BE-PR-008)
# When a task is generated from Proposal Accept, these record the source.
source_proposal_id = Column(
Integer, ForeignKey("proposes.id"), nullable=True,
comment="Proposal that generated this task via accept (NULL if manually created)",
)
source_essential_id = Column(
Integer, ForeignKey("essentials.id"), nullable=True,
comment="Essential that generated this task via accept (NULL if manually created)",
)
# Tags (comma-separated)
tags = Column(String(500), nullable=True)