11b7983 ←86d11b2antonApr 8, 2026 api

edit TODO.md via macOS

✎ modified heading xattrs
✎ modified paragraph FileProvider writes these on every synced file (all implemen...
− deleted heading xattrs (new — add to FileProvider)
✎ modified list item com.sublimated.sync-status#PS — synced/uploading/downloading...
✎ modified list item com.sublimated.space#PS — space slug
− deleted paragraph note: Finder's FileProvider sync badges (green checkmark, cl...
− deleted paragraph alternative: SF_DATALESS flag via stat -f "%Xf" tells if fil...
M /sublimated/undefined +0 -7
9 unmodified lines
10- https://sublimated.com/sublimated/docs/SDK/FILEPROVIDER_DATA_MODEL — FileProvider data model and sync status
11- https://sublimated.com/sublimated/docs/DEV/OPEN_IN — "open in" deeplink design
12- https://sublimated.com/sublimated/docs/KNOWLEDGE_BASE/OBSIDIAN — integration strategy, pain points, features
13
14## xattrs (existing)
14## xattrs
15
16FileProvider already writes these on every synced file:
16FileProvider writes these on every synced file (all implemented and working):
17- `com.sublimated.version#PS` — version number (integer)
18- `com.sublimated.commit#PS` — last commit hash
19- `com.sublimated.url#PS` — web link (sublimated.com/anton/blog/readme_md)
20- `com.sublimated.content-hash#PS` — BLAKE3 hash
21- `com.sublimated.id#PS` — item ID (stable across renames)
22- `com.sublimated.created-by#PS` — original author name
23- `com.sublimated.modified-by#PS` — last author name
24- `com.sublimated.modified-by-type#PS` — person/ai_agent/bot
25
26plugin reads these directly from filesystem. no API calls, no token, no signup for core features.
27
28## xattrs (new — add to FileProvider)
29
30- `com.sublimated.sync-status#PS` — synced/uploading/downloading/error (set by FileProvider during operations, more reliable than trying to read system badges)
31- `com.sublimated.space#PS` — space slug (so plugin knows which space without parsing paths)
25- `com.sublimated.sync-status#PS` — synced/uploading/downloading/error
26- `com.sublimated.space#PS` — space slug
27- `com.sublimated.branch#PS` — current branch name
28- `com.sublimated.modified-at#PS` — server-side timestamp of last change
29
35note: Finder's FileProvider sync badges (green checkmark, cloud arrow etc) are NOT readable by other apps — `NSFileProviderItemDecorating` is private IPC between FileProvider and Finder. the `sync-status` xattr is our workaround: FileProvider writes it, plugin reads it.
30plugin reads these directly from filesystem. no API calls, no token, no signup for core features.
31
37alternative: `SF_DATALESS` flag via `stat -f "%Xf"` tells if file is cloud-only placeholder vs materialized locally. works for all FileProvider files but only gives binary downloaded/not-downloaded.
38
32## URI scheme: sublimated://
33
34registered in `apps/mac/Resources/Info.plist`. existing "open in" feature uses:
35```
298 unmodified lines