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.
| 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.
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
submit-time and add-time must be used within 24 hours of the merge.When a closed (unmerged) PR is reopened:
Merged PRs cannot be reopened on GitHub.
| Format | Meaning |
|---|---|
15m |
15 minutes |
1h |
1 hour |
2h30m |
2 hours 30 minutes |
1.5h |
1 hour 30 minutes |
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. When the PR is merged, each contributor who has not yet submitted is @-mentioned exactly once.
| Member | Status | Time | Last Update |
|---|---|---|---|
| zolotokrylin | ⏳ Pending | - | - |
| Member | Status | Time | Last Update |
|---|---|---|---|
| zolotokrylin | ⏳ Pending | - | - |
| willsmith | ⏳ Pending | - | - |
| Member | Status | Time | Last Update |
|---|---|---|---|
| zolotokrylin | ⏳ Pending | - | - |
| willsmith | ✅ Submitted | 7min | May 11, 2026, 1:40 PM |
| Member | Status | Time | Last Update |
|---|---|---|---|
| @zolotokrylin | ⏳ Pending | - | - |
| willsmith | ✅ Submitted | 7min | May 11, 2026, 1:40 PM |
| Member | Status | Time | Last Update |
|---|---|---|---|
| zolotokrylin | ✅ Submitted | 2h | May 11, 2026, 3:00 PM |
| willsmith | ✅ Submitted | 7min | May 11, 2026, 1:40 PM |
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 |