Skip to content

Fix input validation, event payload consistency, and pagination semantics - #529

Open
Lakes41 wants to merge 1 commit into
ApexChainx:mainfrom
Lakes41:Lakes1
Open

Fix input validation, event payload consistency, and pagination semantics#529
Lakes41 wants to merge 1 commit into
ApexChainx:mainfrom
Lakes41:Lakes1

Conversation

@Lakes41

@Lakes41 Lakes41 commented Aug 28, 2026

Copy link
Copy Markdown
  • Add MTTR input range validation: reject mttr_minutes > 525,600 (365 days) with InvalidInput error instead of misleading InvalidPenaltyAmount
  • Add config_version_hash and recorded_at to sla_calc event payload for config generation attribution consistency with set_int and dup_input events
  • Fix pagination has_more semantics: return false when limit == 0 to align with "empty page as end-of-history signal" policy
  • Update documentation for input constraints, event schemas, and pagination policy
  • Add comprehensive test coverage for limit == 0 pagination edge cases

closes #515
closes #516
closes #517
closes #518

Description

This PR fixes three issues affecting input validation, event payload consistency, and pagination semantics to improve error clarity, enable config generation attribution, and align implementation with documented policies.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Related Issues

Relates to version discovery interfaces, event payload consistency, and pagination policy issues

Changes Made

  • Added MTTR input range validation: reject mttr_minutes > 525,600 (365 days) with InvalidInput error instead of misleading InvalidPenaltyAmount
  • Added config_version_hash and recorded_at to sla_calc event payload for config generation attribution consistency with set_int and dup_input events
  • Fixed pagination has_more semantics: return false when limit == 0 to align with "empty page as end-of-history signal" policy
  • Updated documentation for input constraints, event schemas, and pagination policy
  • Added comprehensive test coverage for limit == 0 pagination edge cases

Testing

Describe the testing performed to validate these changes:

  • Unit tests added/updated (pagination test coverage expanded)
  • Integration tests added/updated
  • Manual testing performed

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my own code
  • I have commented complex logic
  • I have updated relevant documentation
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • My changes do not introduce new warnings

Screenshots (if applicable)

Add screenshots or logs if applicable.

…tics

- Add MTTR input range validation: reject mttr_minutes > 525,600 (365 days) with InvalidInput error instead of misleading InvalidPenaltyAmount
- Add config_version_hash and recorded_at to sla_calc event payload for config generation attribution consistency with set_int and dup_input events
- Fix pagination has_more semantics: return false when limit == 0 to align with "empty page as end-of-history signal" policy
- Update documentation for input constraints, event schemas, and pagination policy
- Add comprehensive test coverage for limit == 0 pagination edge cases
@drips-wave

drips-wave Bot commented Aug 28, 2026

Copy link
Copy Markdown

@Lakes41 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment