Skip to content

Conversation

@zolotokrylin
Copy link
Member

@zolotokrylin zolotokrylin commented Dec 9, 2025

resolves https://github.com/holdex/hr-internal/issues/700

Summary by CodeRabbit

Release Notes

  • New Features

    • Added a structured leave request form for submitting paid, sick, or unpaid leave requests with required details including dates, type, reason, and backup contact.
  • Documentation

    • Simplified leave policy with clear tables showing entitlements by service time, approval timelines, carryover rules, and payment outcomes.

✏️ Tip: You can customize this high-level summary in your review settings.

@zolotokrylin zolotokrylin self-assigned this Dec 9, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 9, 2025

Walkthrough

A new GitHub issue template for leave requests has been introduced, and the leave policy documentation has been restructured. The template includes fields for leave type, dates, working days, reason, and backup person with validation requirements. The policy documentation now presents entitlement, post-submission workflow, and payout rules in tabular format.

Changes

Cohort / File(s) Change Summary
GitHub Issue Template
.github/ISSUE_TEMPLATE/leave_request.yml
New leave request issue template with metadata (name, description, labels, assignees) and form body containing required inputs for full name, start/end dates, working days, leave type (Paid/Sick/Unpaid/Emergency), reason, and backup person; includes intro and closing markdown notes; enforces required field validations.
Leave Policy Documentation
docs/LEAVE_POLICY.md
Restructured policy documentation replacing original sections with tabular format; added "How Many Days Do You Get?" section with service time and entitlement details; added "What Happens After You Submit?" with HR action outcomes; added "Money Rules" section with payout and carryover rules; consolidated description specifying 14 paid days for 6+ months service and single 365-day personal leave year.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Validate form field names and types in issue template align with intended leave request workflow
  • Verify policy entitlement numbers (14 days for 6+ months) and carryover rules are organizationally correct
  • Confirm issue template form structure matches the policy process described in documentation

Suggested reviewers

  • markholdex

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: submit Leave Request form' accurately captures the main change: introducing a new Leave Request issue template and related leave policy documentation.
Linked Issues check ✅ Passed All primary objectives from issue #700 are met: the Leave Request issue template is defined, and leave request guidelines are documented in LEAVE_POLICY.md.
Out of Scope Changes check ✅ Passed All changes are directly aligned with the linked issue objectives: the new template, documentation, and policy updates address the defined requirements without introducing unrelated modifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/submit-leave-request

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@zolotokrylin zolotokrylin marked this pull request as ready for review December 9, 2025 06:15
@holdex
Copy link

holdex bot commented Dec 9, 2025

Time Submission Status

Member Status Time Action Last Update
zolotokrylin ✅ Submitted 44min Update time Dec 9, 2025, 11:36 AM
markholdex ✅ Submitted 5min Update time Dec 9, 2025, 11:38 AM

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (2)
.github/ISSUE_TEMPLATE/leave_request.yml (2)

41-47: Working days calculation is manual; consider verification strategy.

The template asks users to count working days (Mon–Fri) manually, but provides no validation that the count matches the date range. This creates risk of disputes or errors.

Clarify in HR review guidance:

  • Should HR verify the count against the actual date range?
  • How are public holidays handled?
  • Will a miscalculation be flagged or auto-corrected?

Alternatively, consider adding a note to the form:

  - type: input
    id: total_working_days
    attributes:
      label: Total Working Days Requested
-     description: Count only Mon–Fri
+     description: Count only Mon–Fri (excluding public holidays). HR will verify against the date range.
      placeholder: 7

72-78: Backup person marked required for all leave types, including emergency.

The backup_person field is required (line 78), but emergency leave scenarios may not allow time to arrange or inform a backup person. Consider whether this field should be optional for emergency leave or if the policy explicitly requires backup notification for all leave types.

If emergency leave should have backup coverage, clarify this in the form intro. If not, consider:

  - type: input
    id: backup_person
    attributes:
      label: Backup / Coverage Person
      description: Who will cover your responsibilities? (@username). Required for all leave except emergencies.
      placeholder: "@jane-doe"
    validations:
-     required: true
+     required: false

Then add a note to the confirmation section or intro clarifying expectations for emergency scenarios.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2a8e112 and 3bb7929.

📒 Files selected for processing (2)
  • .github/ISSUE_TEMPLATE/leave_request.yml (1 hunks)
  • docs/LEAVE_POLICY.md (1 hunks)
🔇 Additional comments (4)
docs/LEAVE_POLICY.md (1)

10-27: Policy structure and entitlement rules are clear and well-presented.

The tabular format significantly improves readability. The consolidated description (line 17-18) effectively clarifies that all 14 days cover vacation, personal, sick, and public holidays. The personal leave year definition (365 days from agreement) is unambiguous, and the link to the leave request form (line 26) integrates the new template well.

.github/ISSUE_TEMPLATE/leave_request.yml (3)

23-29: Date input fields lack format enforcement; clarify validation approach.

The date input fields (start_date, end_date) use text input with YYYY-MM-DD placeholders, but GitHub issue forms support different input types and validations, and the template doesn't enforce format validation. Users could enter dates in other formats (e.g., 12/15/2025), risking parsing errors or ambiguity during HR review.

Clarify how HR will handle malformed dates, or consider adding a helper note:

  - type: input
    id: start_date
    attributes:
      label: Start Date (inclusive)
      description: First day you will be off (YYYY-MM-DD)
      placeholder: 2025-07-15
+   validations:
+     required: true
+     pattern: '^\d{4}-\d{2}-\d{2}$'

Verify that your issue template processor supports the pattern field; if not, document the expected format clearly in HR review guidance.

Also applies to: 32-38


1-20: Template metadata and form structure are well-designed.

The template follows GitHub issue form standards correctly. Metadata (name, description, title pattern, labels, assignees) is appropriate. The intro note (line 11) clearly communicates the 14-day advance requirement and exemptions for sick/emergency leave, aligning well with the policy document. The full_name field is a good anchor for identification.


50-69: Leave type and reason fields are well-scoped.

The leave type dropdown includes all necessary options (Paid, Sick, Unpaid, Emergency) with a sensible default. The reason field respects privacy by explicitly noting "No medical details required for sick leave" and includes helpful example placeholders. Both fields support the policy's intent to streamline leave requests.

@markholdex markholdex merged commit f32b1fa into main Dec 9, 2025
5 checks passed
@markholdex markholdex deleted the feat/submit-leave-request branch December 9, 2025 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants