You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Gap analysis (CloudKit JS / Web Services vs openapi.yaml)
A coverage review confirms this endpoint is unimplemented: there is no record-resolve / shortGUID resolution path in openapi.yaml, and none of the supporting response schemas exist.
What needs to be done
1. New endpoint — maps to CloudKit.Database.fetchRecordInfos (cloudkitjs.md:808-810): given a shortGUID, return the root record plus its share info. Resolves shared records.
2. New schemas:
RecordInfo — rootRecord + share (see CloudKit.RecordInfo, cloudkitjs.md:4114-4117).
RecordInfosResponse — results: [RecordInfo] (see CloudKit.RecordInfosResponse, cloudkitjs.md:105-107).
Flagging a limitation in how records/resolve was specified, so it gets weighed in review rather than discovered later.
No live-service call was made, and Apple's archived reference carries no verbatim JSON examples for this endpoint. The field names in openapi.yaml come from the type dictionaries on Types.html and FetchingRecordInformation.html — not from an observed payload. Local .claude/docs/webservices.md omits the endpoint entirely.
That is weaker evidence than the repo usually works from. The practical risk is a field name that is subtly wrong and only fails against the real service.
potentialMatchList is the least-documented field and the one I'd scrutinize first. It is modeled all-optional so an unexpected shape degrades rather than throws, but that also means a wrong shape would fail quietly — decoding to empty rather than erroring.
Suggested gate before this ships in a release: one live records/resolve call against a real container with a genuine short GUID, with the middleware at .debug (com.brightdigit.MistKit.middleware) to capture the raw response body, compared field-by-field against the committed schema. MistDemo can drive it.
Also noted in #428: share creation is modeled in the schema (createShortGUID, forRecord, publicPermission, participants on RecordRequest) but has no curated CloudKitService convenience method. That was left out deliberately rather than expanded into this PR — worth its own issue if you want a first-class share-creation API.
Activity
leogdion commentedon May 25, 2026
Gap analysis (CloudKit JS / Web Services vs
openapi.yaml)A coverage review confirms this endpoint is unimplemented: there is no record-resolve /
shortGUIDresolution path inopenapi.yaml, and none of the supporting response schemas exist.What needs to be done
1. New endpoint — maps to
CloudKit.Database.fetchRecordInfos(cloudkitjs.md:808-810): given ashortGUID, return the root record plus its share info. Resolves shared records.2. New schemas:
RecordInfo—rootRecord+share(seeCloudKit.RecordInfo, cloudkitjs.md:4114-4117).RecordInfosResponse—results: [RecordInfo](seeCloudKit.RecordInfosResponse, cloudkitjs.md:105-107).Related
Share/ShareParticipantschema groundwork tracked in Accepting Share Records (records/accept) #42 (shared by both sharing endpoints).openapi.yamland regenerate via./Scripts/generate-openapi.sh; never hand-editSources/MistKitOpenAPI/.Wire landed MistKit endpoints into MistDemo web app (#394)
Wire landed MistKit endpoints into MistDemo web app (#394) (#396)
leogdion commentedon Aug 20, 2026
Moving from the v1.0.0-beta.3 milestone to v1.0.0-beta.4 — work not yet complete.
leogdion commentedon Aug 20, 2026
Verification caveat for #428
Flagging a limitation in how
records/resolvewas specified, so it gets weighed in review rather than discovered later.No live-service call was made, and Apple's archived reference carries no verbatim JSON examples for this endpoint. The field names in
openapi.yamlcome from the type dictionaries on Types.html and FetchingRecordInformation.html — not from an observed payload. Local.claude/docs/webservices.mdomits the endpoint entirely.That is weaker evidence than the repo usually works from. The practical risk is a field name that is subtly wrong and only fails against the real service.
potentialMatchListis the least-documented field and the one I'd scrutinize first. It is modeled all-optional so an unexpected shape degrades rather than throws, but that also means a wrong shape would fail quietly — decoding to empty rather than erroring.Suggested gate before this ships in a release: one live
records/resolvecall against a real container with a genuine short GUID, with the middleware at.debug(com.brightdigit.MistKit.middleware) to capture the raw response body, compared field-by-field against the committed schema. MistDemo can drive it.Also noted in #428: share creation is modeled in the schema (
createShortGUID,forRecord,publicPermission,participantsonRecordRequest) but has no curatedCloudKitServiceconvenience method. That was left out deliberately rather than expanded into this PR — worth its own issue if you want a first-class share-creation API.🤖 Generated with Claude Code
Add records/resolve and records/accept share operations
Add records/resolve and records/accept share operations
Add records/resolve and records/accept share operations (#41, #42, #428)
leogdion commentedon Aug 28, 2026
Resolved on
v1.0.0-beta.4via #428 (commit 9e6b9d6).records/resolveimplemented asresolveShares(_:).Add records/resolve and records/accept share operations (#41, #42, #428)
v1.0.0 beta.4 (#439)