Repository navigation
Conversation
Under the approval time-off policy, a day-off request could only be decided by workspace admins and the standup's managers. This adds a per-team reporting manager — set on the standup's People view — who can approve their reports' days off without being made a manager of the standup. - participants gain reporting_manager columns (migration 21, both dialects) - the time-off request card also DMs the reporting manager, days off only - decide() authorises a reporting manager for their reports' days off - GET /requests widens to include a caller's reports' pending requests - web: a "Reports to" picker on each person's row, from the managers pool Spec: specs/008-reporting-managers.md
7 tasks done
Contributor
|
Thank you @shrey-CDZ for this. You spotted a real gap: under Needs approval, a person's line manager often isn't a manager of the standup, so they couldn't sign off leave. Your data model and approach are what shipped. This is now in #114, built from spec 009 ( The main changes from the review:
Closing this in favour of #114. Thanks again, and further contributions are very welcome. |
akumar-99
added a commit
that referenced
this pull request
Oct 28, 2026
Each person can have a reporting manager on a standup, picked from the people who manage a standup. On a standup that needs approval, their day-off requests also go to that reporting manager, who can approve or decline them in Chat, the web app or the API. Proposed in #113. Co-authored-by: shrey-CDZ <279933707+shrey-CDZ@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Under the
approvaltime-off policy, a day-off request can only be decided byworkspace admins and the standup's managers. Often the right approver is a
person's line manager, who isn't a manager of that standup — and making them one
hands over the whole standup's configuration just to sign off leave. This adds a
per-team reporting manager, chosen from people who already manage somewhere,
who can approve their reports' days off without being made a manager of the
standup.
Changes
reporting_managerandreporting_manager_namecolumns onparticipants— a per-(standup, person)attribute, like
mandatory.requests only;
decide()authorises a reporting manager to decide theirreports' day-off requests, even without managing the standup. First decision
wins, unchanged.
reportingManageronPATCH …/participants/:userNameand theparticipant payload (validated — must already be a manager, can't be yourself);
new
GET …/manager-candidates;GET /requestswidened so a reporting managersees their reports' pending day-off requests; approve/decline opened to them.
view, from the managers pool.
How checked
bun run typecheckandbun run web:typecheckclean.bun test— 544 pass, 0 fail.bun run web:test— 116 pass.tests/reporting-managers.test.tswith a test mapped to each acceptancecriterion; 100% line/function coverage on every file this PR touches.
request reaches a reporting manager who manages no standup, a bystander is
refused, and approving (console and simulated Chat card-click) resolves it and
marks the person away.
Spec
specs/008-reporting-managers.mdNotes for review
deploy. Per
AGENTS.mdthis needs frames before merge; recorded as adeliberate deviation in the spec.
approval.
test:coverage100%-line gate currently fails on a cleancheckout too (the Bun version here flags some error branches across unrelated
files). This PR keeps every touched file at 100% and nudges the overall number
up.