Buyer problem
LineageWeave already derives customer commitments into issue_ticket rows with due dates, exposes them as To Do / Calendar items, and links Calendar selections back to Event Lineage. The legacy external adapter named caldav_client performs a custom JSON GET {CALDAV_BASE_URL}/events; it is not an RFC 4791 CalDAV implementation.
That naming creates a product-truth gap. A buyer may reasonably infer collection discovery, calendar-query REPORT, recurrence, VTIMEZONE, sync-token, ETag, scheduling, and provider authorization behavior that LineageWeave does not implement.
Authority boundary
- LineageWeave owns post-grounded commitments, issue tickets, ontology/provenance links, authorization, and the Buyer projection that combines independently typed sources.
- Naruon owns customer-owned CalDAV/CardDAV/WebDAV provider access, source registry, capability discovery, synchronization/reconciliation, ETag/sync-token handling, writeback, and provider evidence.
- LineageWeave must never receive raw provider credentials, forward a buyer bearer token, call a provider DAV endpoint directly, or treat an external event as an internal commitment.
commitments remain LineageWeave-authoritative post-derived work records; events remain Naruon-observed provider projections.
Current implementation
The obsolete inherited stack PR #337 is closed without merge. Its intended contract is reconstructed normally on current protected main as PR #355.
PR #355 provides:
- a strict immutable parser and public package API for Naruon-owned event pages;
- one audience-scoped service credential, with whitespace/control rejection and no end-user-token forwarding;
- opaque source/event/occurrence references, provider revision, interval, timezone/all-day, status, disclosure, and observed provenance;
- rejection of unsafe URLs, naive/invalid clocks, duplicate occurrences, unknown fields/vocabularies, URL-shaped references, and ambiguous numeric values;
- hard bounds of 366 days, 200 events, 30 seconds, and 1 MiB before JSON parsing;
- corrected ADR 0038 pseudo-CalDAV language and accepted ADR 0123 authority/runtime boundary;
- no runtime wiring until Naruon publishes the matching endpoint, audience, and immutable provider fixtures.
TDD acceptance
- A valid scoped page round-trips occurrence identity, timezone/all-day semantics, provider revision, disclosure, and observed provenance.
- Duplicate occurrence IDs, end-before-start, naive or calendar-invalid RFC 3339 values, unknown fields/vocabularies, oversized pages/bodies, and malformed cursors fail closed.
- The adapter sends exactly one configured service bearer credential to the configured Naruon endpoint and never places it in a URL, error, returned object, or test fixture output.
- Naruon unavailable or malformed responses cannot erase LineageWeave commitments because runtime combination remains a separate fail-closed step.
- No direct CalDAV dependency, provider credential, event store, or writeback path is added to LineageWeave.
- Changed production statement/branch coverage and public docstrings remain 100%.
Runtime activation gate
The contract PR may merge independently. Runtime activation remains blocked until:
- Naruon #978/#998 publishes the endpoint, media type, service audience, provider revisions, and conformance fixtures;
- LineageWeave adds fail-closed Buyer API wiring without forwarding an end-user token;
- provider/consumer contract tests pin immutable released artifacts;
- degraded, timeout, retry, revision, and reconciliation cases pass;
- exact-head checks, security gates, review-thread resolution, and independent approval pass in both repositories.
Standards and references
- Daboo, C., Desruisseaux, B., & Dusseault, L. M. (2007). Calendaring extensions to WebDAV (CalDAV) (RFC 4791). RFC Editor.
- Daboo, C., & Quillaud, A. (2012). Collection synchronization for WebDAV (RFC 6578). RFC Editor.
- Desruisseaux, B. (2009). Internet calendaring and scheduling core object specification (iCalendar) (RFC 5545). RFC Editor.
- World Wide Web Consortium. (2013). PROV-O: The PROV ontology.
Do not self-approve, force-push, import the superseded branch, or bypass protection.
Buyer problem
LineageWeave already derives customer commitments into
issue_ticketrows with due dates, exposes them as To Do / Calendar items, and links Calendar selections back to Event Lineage. The legacy external adapter namedcaldav_clientperforms a custom JSONGET {CALDAV_BASE_URL}/events; it is not an RFC 4791 CalDAV implementation.That naming creates a product-truth gap. A buyer may reasonably infer collection discovery, calendar-query REPORT, recurrence, VTIMEZONE, sync-token, ETag, scheduling, and provider authorization behavior that LineageWeave does not implement.
Authority boundary
commitmentsremain LineageWeave-authoritative post-derived work records;eventsremain Naruon-observed provider projections.Current implementation
The obsolete inherited stack PR #337 is closed without merge. Its intended contract is reconstructed normally on current protected
mainas PR #355.PR #355 provides:
TDD acceptance
Runtime activation gate
The contract PR may merge independently. Runtime activation remains blocked until:
Standards and references
Do not self-approve, force-push, import the superseded branch, or bypass protection.