Browse docs: Submit time on a pull request
Handbook
Help

Submit time on a pull request

When a pull request is opened, a time submission comment is posted automatically. The author is enrolled immediately — regardless of whether the PR is a draft.

Warning

If your organization does not require time submission, see Whitelist.

On this page Start of page

Who gets enrolled

Event Enrolled
PR opened (author) ✅ Always, including drafts
Commit pushed to PR branch ✅ If not already enrolled
Review submitted ✅ If not already enrolled
Review comment posted ✅ If not already enrolled
Reviewer assigned ❌ Assignment is not contribution

Bot accounts are never enrolled. Any user whose login ends with [bot] is skipped silently.

A member is never asked for time on pull requests in their own HR repository, the repo in their roster entry. Leave requests, expense claims and profile changes are their own admin, not billable work. Other people on those pull requests, such as the HR Staff who review them, are asked as usual. If a member submits or adds time on their own HR pull request, Wizard refuses it with a reply saying it was not recorded. Time recorded from October 2026 before that refusal existed is not billed and is left out of invoices and cost reports.

Submitting time

Once enrolled, submit your time by commenting on the PR:

@holdex pr submit-time 2h

To add time on top of a previous submission:

@holdex pr add-time 1h30m

Submission window

  • Submissions are accepted while the PR is open, including before merge.
  • After merge, both submit-time and add-time must be used within 24 hours of the merge.
  • If a PR is closed without merging, cost submission is rejected.

PR reopened

When a closed (unmerged) PR is reopened:

  • All stored submissions for that PR are cleared.
  • Contributors are reset to the PR author only — co-contributors must re-enroll by pushing commits or submitting a review.
  • The submission comment on the PR is updated to reflect the reset state.
  • The author's cost submission check is set back to pending; checks for removed contributors are cancelled.

Merged PRs cannot be reopened on GitHub.

Accepted formats

Format Meaning
15m 15 minutes
1h 1 hour
2h30m 2 hours 30 minutes
1.5h 1 hour 30 minutes

Comment status reference

A comment is posted on the PR as soon as it opens. Rows are added silently as contributors are enrolled — no @-mentions are sent until the PR is merged. Once the PR is merged, the bot waits 5 minutes, then @-mentions each contributor who still has not submitted, once. The wait makes sure a submission sent right before or after the merge is counted.

PR opened — author enrolled

Member Status Time Last Update
zolotokrylin ⏳ Pending - -

Contributor enrolled during review

Member Status Time Last Update
zolotokrylin ⏳ Pending - -
willsmith ⏳ Pending - -

Time submitted before merge

Member Status Time Last Update
zolotokrylin ⏳ Pending - -
willsmith ✅ Submitted 7min May 11, 2026, 1:40 PM

PR merged — pending contributors mentioned

Member Status Time Last Update
@zolotokrylin ⏳ Pending - -
willsmith ✅ Submitted 7min May 11, 2026, 1:40 PM

Time submitted after merge (within 24h)

Member Status Time Last Update
zolotokrylin ✅ Submitted 2h May 11, 2026, 3:00 PM
willsmith ✅ Submitted 7min May 11, 2026, 1:40 PM

CI check states

A cost submission check appears for each enrolled contributor. These checks are informational and do not block merging.

Each check shows a title (the status line you see in the UI) and a conclusion (GitHub's underlying result). Pending and missing both use a Failure conclusion, but the title tells you which case applies.

Title Conclusion Meaning
⏳ cost submission pending Failure PR is open — time not yet submitted
❌ cost submission missing Failure PR was merged — time not yet submitted
✅ cost submitted: {time} Success Time submitted
⚪ cost submission check cancelled Neutral PR was closed without merging — no submission needed