Skip to content

Add StrongTypes intervals blog post + surface Interval types on the strong-types page - #208

Draft
KaliCZ wants to merge 1 commit into
mainfrom
claude/strongtypes-interval-docs-eea8d1
Draft

Add StrongTypes intervals blog post + surface Interval types on the strong-types page#208
KaliCZ wants to merge 1 commit into
mainfrom
claude/strongtypes-interval-docs-eea8d1

Conversation

@KaliCZ

@KaliCZ KaliCZ commented Jul 13, 2026

Copy link
Copy Markdown
Owner

What

Documents the interval types shipped in Kalicz.StrongTypes v1.2.0, in two places:

  1. New bilingual blog postType-Safe Intervals in Your .NET API (type-safe-intervals-in-your-dotnet-api). It is a follow-up to the zero-code validations post (linked at the top, alongside the StrongTypes page), and picks up the Interval<T> teaser from the end of that article. It uses a subscription-membership story to walk through:

    • a start/end pair that can silently go backwards, and the checks that leak into every layer as a result;
    • FiniteInterval<DateOnly> validating the ordering once, at construction;
    • Contains / Overlaps for the functionality you would otherwise hand-roll and test;
    • the four variants (Interval, FiniteInterval, IntervalFrom, IntervalUntil);
    • JSON serialization on the API boundary; and
    • EF Core endpoint-column mapping, so "every membership running longer than 30 days, email them a renewal offer" is just a SQL-translated query.
  2. strong-types page — the Validated wrappers feature group is renamed to Validated types, and the Interval<T> family is added to it (EN + CS).

Notable details

  • Registered the post's slug in BlogPostCatalog with a fresh, permanent comment-stream Guid so reactions/comments resolve; the all-posts anti-drift E2E would otherwise fail. Extended BlogPostCatalogTests to cover it.
  • Bumped the strong-types page updatedDate so its sitemap lastmod reflects the change.
  • No em dashes; personal first-person voice, mirroring the sibling post's structure and wording.

Testing

  • astro build — passes; both /blog/... and /cs/blog/... routes plus RSS and sitemap generate cleanly.
  • dotnet test on Kalandra.Blog.Tests — 33 passing.
  • The full suite (integration + Playwright + E2E, which need Docker/Supabase/Temporal) is left to CI.

🤖 Generated with Claude Code

Follow-up to the zero-code validations post, covering the interval types
shipped in Kalicz.StrongTypes v1.2.0.

- New bilingual post "Type-Safe Intervals in Your .NET API" that uses a
  subscription-membership story to show construction-time validity, JSON on
  the API boundary, the four interval variants, and EF Core column mapping
  for querying (e.g. memberships running longer than 30 days).
- Rename the strong-types "Validated wrappers" group to "Validated types"
  (EN + CS) and add the Interval<T> family to it.
- Register the post's slug in BlogPostCatalog so reactions/comments resolve;
  extend the catalog test to cover it.
- Bump the strong-types page updatedDate so the sitemap lastmod reflects it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@KaliCZ
KaliCZ force-pushed the claude/strongtypes-interval-docs-eea8d1 branch from 1a8f11f to dc2e57c Compare July 15, 2026 10:43
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.

1 participant