Skip to content

refactor(ddd): remove obsolete direct CalDAV boundary - #904

Draft
seonghobae wants to merge 10 commits into
mainfrom
fix/remove-obsolete-caldav-adapter
Draft

refactor(ddd): remove obsolete direct CalDAV boundary#904
seonghobae wants to merge 10 commits into
mainfrom
fix/remove-obsolete-caldav-adapter

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Root cause

Protected main already has the strict Naruon calendar projection consumer/ACL, but retained the superseded lineageweave/caldav_client.py, its dedicated tests, Settings.caldav_base_url, and CALDAV_BASE_URL deployment wiring. That left a second direct-provider-shaped source/configuration path whose name and custom /events semantics contradicted ADR 0203 and the current Calendar composition boundary.

TDD / repair

The branch began with RED-only tests/test_calendar_authority_fitness.py. The regression requires the obsolete pseudo-CalDAV adapter/test/config/deployment surface to be absent while preserving NARUON_CALENDAR_BASE_URL and NARUON_CALENDAR_SERVICE_TOKEN. The protected-main predecessor contained the forbidden adapter and configuration, and the focused regression was independently reproduced as a real failing assertion before production changes.

The causal cleanup:

  • deletes lineageweave/caldav_client.py and its obsolete unit test;
  • removes caldav_base_url from runtime Settings and stops reading CALDAV_BASE_URL;
  • removes the live .env.example and Compose deployment wiring for that retired boundary;
  • preserves the config/API regression that a legacy CALDAV_BASE_URL process value cannot activate the Naruon calendar channel, but no longer exposes it as a settings field;
  • records the cleanup in a changelog fragment while preserving historical ADR text as migration evidence.

This change does not retarget the current Naruon compatibility media type to CalendarWeave; issue #900 remains the later immutable-owner-contract migration boundary. CalendarWeave still has no GitHub release, and its live Draft stack #1#3#4#5 explicitly leaves VTIMEZONE/recurrence/CalDAV/provider/service-auth/consumer migration unavailable, so no CalendarWeave authority is invented here.

Exact live state

Protected main advanced to 3f61c8242b9c02dec307a7396e83e28f7cdd9f3d through #905, whose only delta is docs/index.md. That path is disjoint from this cleanup, so the branch was non-destructively restacked by merge commit aa87a9755bed6f55368856da2f1e7d855822d7a5 rather than rewritten.

  • protected base: main@3f61c8242b9c02dec307a7396e83e28f7cdd9f3d
  • exact current head: aa87a9755bed6f55368856da2f1e7d855822d7a5
  • GitHub reports the PR mechanically mergeable
  • exact-head Tests 33494973658, Security 33494973574, and SAST 33494973616 were queued at the latest sweep and are non-passing
  • no descendant PR targets this branch

Keep Draft until the unchanged current head passes focused/full repository validation and normal review/security governance. No force push, self-approval, provider credential path, foreign database access, or gate weakening.

@coderabbitai

coderabbitai Bot commented Sep 1, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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.

Merge protected main@3f61c824 into the Calendar boundary cleanup without rewriting history. The protected-main delta only adds docs/index.md and is disjoint from the retired pseudo-CalDAV adapter/configuration removal.
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