Skip to content

Add journaling#353

Open
mickenordin wants to merge 1 commit intodevelopfrom
kano-ocm-journaling
Open

Add journaling#353
mickenordin wants to merge 1 commit intodevelopfrom
kano-ocm-journaling

Conversation

@mickenordin
Copy link
Copy Markdown
Member

This PR introduces the journaling concept as discussed in:

#219

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Introduces a “journaling” mechanism to allow Receiving Servers to detect and replay missed OCM messages from a Sending Server, aligning the OpenAPI spec and the IETF-style protocol document with the concept discussed in #219.

Changes:

  • Adds OCM-Journal-Id header support to existing OCM message endpoints and defines a journaling capability.
  • Introduces a new /journal replay endpoint plus JournalEntry / Noop schemas in the OpenAPI spec.
  • Documents journaling semantics, compaction, and replay behavior in the IETF-RFC document and updates discovery schema wording.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
spec.yaml Adds journaling capability, OCM-Journal-Id header parameter, /journal endpoint, and journaling-related schemas.
schemas/ocm-discovery.json Updates discovery schema description to mention journaling capability.
IETF-RFC.md Adds a new “Journaling” section and related security considerations / references.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 320 to +327
name: id
in: path
description: Unique ID to identify the share at the consumer side.
required: true
schema:
type: string
journalId:
name: OCM-Journal-Id
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

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

The /journal endpoint uses HTTP 403 for both authentication failure and authorization failure. Elsewhere in the spec authentication failures are modeled as 401, so clients will get inconsistent semantics. Consider splitting this into 401 (cannot be authenticated via HTTP Message Signatures) and 403 (authenticated but not authorized), or adjust the wording/code to be consistent across endpoints.

Copilot uses AI. Check for mistakes.
Comment on lines 1516 to 1519
[RFC3986] Berners-Lee, T., Fielding, R. and Masinter, L.
"[Uniform Resource Identifier (URI): Generic Syntax
](https://datatracker.ietf.org/doc/html/rfc3986)", January 2005

Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

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

The RFC4918 reference Markdown link is split across lines (](\nhttps://...)), which breaks link rendering in many Markdown parsers. Keep the link destination on the same line as ](, or switch to a reference-style link to avoid line-wrapping issues.

Copilot uses AI. Check for mistakes.
Comment on lines +1256 to +1261
monotonically increasing sequence number for this message within the
(sender, receiver, message type) tuple.

A Receiving Server MUST NOT reject a message solely because it lacks
an `OCM-Journal-Id` header. When a Receiving Server observes an
`OCM-Journal-Id` header for the first time from a given Sending Server,
Copy link

Copilot AI Mar 26, 2026

Choose a reason for hiding this comment

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

The Discovery endpoint section’s enumerated capabilities list does not currently include "journaling", but this new section introduces journaling as a capability used by servers. To avoid a spec inconsistency, the earlier capabilities list in the Discovery section should be updated to include journaling and describe what it signals.

Copilot uses AI. Check for mistakes.
This PR introduces the journaling concept as discussed in:

#219
@mickenordin mickenordin force-pushed the kano-ocm-journaling branch from 1359da1 to ed7cba8 Compare March 26, 2026 13:06
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.

2 participants