CW-041 · Draft the manager's half of a review
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 38/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- postgresql, react, typescript
- Domain
- authorization, backend, frontend, performance
Research direction
Start by checking the dependency on issue #37, then inspect backend/src/modules/assistant/, backend/src/modules/performance/, and web/src/features/performance/. Trace the existing review-writing flow and identify where ownership, editable drafts, and submission checks belong. Done means the listed acceptance cases pass, including exclusion of attendance and salary data and unchanged behavior when the assistant is disabled.
Written by the indexing model from the issue text.
Description
Priority P3 · Area assistant · performance · Estimate M · Phase 4
A manager writing a review has already recorded the evidence — KPI scores, weights and check-ins are in the system. Assembling that into prose is the part they put off.
This one carries a real risk and it is accepted deliberately: drafted reviews tend towards sameness, and a manager who accepts a draft unedited has outsourced a judgement that is theirs to make. The guardrails below are the reason it is worth doing anyway, and they are not optional.
Scope
- A tool taking a review id, not an employee id, refusing unless the caller is that review's
reviewerEmployeeId. A review binds reviewer to subject already, so this does not widen the caller's reach. - It returns only what the manager themselves recorded: KPI goals, weights, scores, their own check-in notes. No attendance, no leave, no salary — those are not review evidence, and hoovering them in is how this feature would become something nobody asked for.
- Output is a draft in an editable field, labelled as a draft, never saved directly as the review.
- The review cannot be submitted unedited: if the text still matches the draft byte for byte, submission is refused with an explanation.
- The final rating is the manager's. The model never proposes a score.
Acceptance
- A manager can draft, edit and submit; submitting an unedited draft is refused.
- The tool refuses a review the caller does not own.
- The draft cites only KPI and check-in data, proven by a test that puts distinctive attendance and salary values in the fixture and asserts they never appear.
- With the assistant disabled, review writing works exactly as it does today.
Files backend/src/modules/assistant/, backend/src/modules/performance/, web/src/features/performance/
Gated on #37. Phase 4 rather than 3: it is the least certain of the three, and the pilot will have said something about how the assistant is actually used by then.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 37m
- Merged PRs (30d)
- 1
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from SuruchBoss/Cwork
-
documentation good first issue P3 phase-E
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
SuruchBoss/Cwork#50 ·
-
good first issue mobile P2
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SuruchBoss/Cwork#11 ·
-
P1 payroll phase-3
Difficulty 5/5 Over a week Newbie friendliness 30/100
SuruchBoss/Cwork#59 ·
-
P2 phase-3
Difficulty 5/5 Over a week Newbie friendliness 45/100
SuruchBoss/Cwork#58 ·
-
P3 project
Difficulty 3/5 1-2 days Newbie friendliness 76/100
SuruchBoss/Cwork#56 ·
All issues in SuruchBoss/Cwork
Similar issues
-
triage
Difficulty 1/5 Under an hour Newbie friendliness 90/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
mermaid-js/mermaid-live-editor#2053 ·
Maintainers usually reply within 1 day
-
factory
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
jessepollak/home#1455 ·
Maintainers usually reply within 1 day
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 95/100
lingdojo/kana-dojo#31227 · 1 comment · 5 reactions ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
appandflow/stim#1838 ·
Maintainers usually reply within 1 day