Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
7b9dbd9
Update .gitignore
Dec 28, 2025
a290bcc
add warp and envrc
Dec 28, 2025
8a5551e
copy .md files
Dec 28, 2025
c6cfe06
after clean port
Dec 28, 2025
ca646d2
Add CLAUDE.md for Claude Code guidance
Dec 29, 2025
62b0b77
Update CLAUDE.md
Dec 29, 2025
b5c2db2
openspec's added
Dec 29, 2025
b39d411
Create audit-claude.md
Dec 29, 2025
d2ea1b7
Create audit-gemini.md
Dec 29, 2025
3bf2f42
Update audit-gemini.md
Dec 29, 2025
e22e35a
Create audit-glm.md
Dec 29, 2025
c56d501
Create audit-grok.md
Dec 29, 2025
0387d40
Create audit-kimi.md
Dec 29, 2025
b486faf
Create audit-pickle.md
Dec 29, 2025
c0c44c5
Update audit-claude.md
Dec 29, 2025
68b0f73
Update audit-gemini.md
Dec 29, 2025
315a9a5
Update audit-glm.md
Dec 29, 2025
76fdae6
Update audit-grok.md
Dec 29, 2025
8a68651
Update audit-claude.md
Dec 29, 2025
377fa78
Update audit-kimi.md
Dec 29, 2025
947a83d
Update audit-pickle.md
Dec 29, 2025
089854a
Create AUDIT_VERIFICATION_BY_SONNET.md
Dec 29, 2025
3cb25cf
Create AUDIT_VERIFICATION_SUMMARY.md
Dec 29, 2025
6ec898c
Create audit-verification-summary.md
Dec 29, 2025
871f775
Create audit-visual-summary.md
Dec 29, 2025
d5a536a
Update audit-claude.md
Dec 29, 2025
c6251da
mulch: update expertise
Feb 17, 2026
5e57095
mulch: update expertise
Feb 17, 2026
30a323b
mulch: update expertise
Feb 17, 2026
875e569
mulch: update expertise
Feb 17, 2026
bca6e7f
udpate
Feb 17, 2026
fdd1dd5
Create .gitignore
Feb 17, 2026
f895130
update
Feb 17, 2026
8bbf66b
Update config.yaml
Feb 17, 2026
d764c06
cli
Feb 17, 2026
49986a4
Enable ARC for FileProvider .mm files
Feb 17, 2026
0085996
Create dolt
Feb 18, 2026
daa8cb6
ItemDatabase: fix NULL crash and O(n) recursive delete
Feb 18, 2026
3d6323a
mulch: update expertise
Feb 18, 2026
c191763
Fix dispatch_group_wait indefinite blocking (bd-1vt)
Feb 18, 2026
6987561
mulch: update expertise
Feb 18, 2026
e3666c9
FileProvider: add explicit authType to XPC protocol
Feb 18, 2026
d947948
mulch: update expertise
Feb 18, 2026
c29d24c
fix: correct bandwidth typo and revert propagator to unique_ptr
Feb 18, 2026
8c66ef5
fix: pass explicit auth type via XPC when sending credentials
Feb 18, 2026
2c22c47
mulch: update expertise
Feb 18, 2026
da6c0ab
Merge branch 'overstory/db-fixer/bd-24d' into feature/macos-vfs
Feb 18, 2026
cf81a7a
Merge branch 'overstory/libsync-builder/bd-11a' into feature/macos-vfs
Feb 18, 2026
117c63e
Merge branch 'overstory/macos-builder/bd-1vt' into feature/macos-vfs
Feb 18, 2026
879f088
Merge branch 'overstory/auth-type-fixer/bd-24d' into feature/macos-vfs
Feb 18, 2026
b97cd4f
Merge branch 'overstory/xpc-auth-builder/bd-1u7' into feature/macos-vfs
Feb 18, 2026
ab5cdf6
upd
Feb 18, 2026
8e21421
fix(macOS): add __bridge annotations for ARC bridging casts
Feb 18, 2026
093a64b
Merge branch 'overstory/arc-bridge-builder/bd-nfk' into feature/macos…
Feb 18, 2026
0108323
mulch: update expertise
Feb 18, 2026
b909e47
mulch: update expertise
Feb 18, 2026
113958a
mulch: update expertise
Feb 18, 2026
3188706
fix(macOS): non-blocking XPC, transient disconnect handling, capabili…
Feb 18, 2026
f750c5d
docs: add v0.2 changelog
Feb 18, 2026
4f9fc12
add tools/ship.sh: distribution packaging pipeline
Feb 18, 2026
40b5617
fix(ship): resolve transitive deps with absolute Craft paths
Feb 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .beads/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Database
*.db
*.db-shm
*.db-wal

# Lock files
*.lock

# Temporary
last-touched
*.tmp
4 changes: 4 additions & 0 deletions .beads/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Beads Project Configuration
# issue_prefix: bd
# default_priority: 2
# default_type: task
Binary file added .beads/dolt
Binary file not shown.
31 changes: 31 additions & 0 deletions .beads/issues.jsonl

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions .beads/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"database": "beads.db",
"jsonl_export": "issues.jsonl"
}
10 changes: 10 additions & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Automatically load environment variables from .env when entering this directory
# Requires direnv (brew install direnv) and `eval "$(direnv hook zsh)"` in your ~/.zshrc

# Load variables from .env (use plain `dotenv` for compatibility with older direnv versions)
dotenv .env

# High-performance Craft/CMake defaults for this project
export CRAFT_TARGET=macos-clang-arm64
export MAKEFLAGS="-j$(sysctl -n hw.ncpu)"
export CMAKE_BUILD_PARALLEL_LEVEL=$(sysctl -n hw.ncpu)
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
.gitattributes export-ignore
.commit-template export-ignore
binary/ export-ignore
.mulch/expertise/*.jsonl merge=union
1 change: 0 additions & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,6 @@ jobs:
& "${env:GITHUB_WORKSPACE}/.github/workflows/.craft.ps1" -c --run python3 -m clang_html "$([System.IO.Path]::GetTempPath())/clang-tidy.log" -o "${env:GITHUB_WORKSPACE}/binaries/clang-tidy.html"

- name: Package
if: matrix.target != 'macos-clang-arm64'
run: |
& "${env:GITHUB_WORKSPACE}/.github/workflows/.craft.ps1" -c --no-cache --package opencloud/opencloud-desktop

Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ t1.cfg
*.user
*.sln.docstates
.drone-secrets.env
.env

# Build results
[Dd]ebug/
Expand Down Expand Up @@ -178,3 +179,6 @@ FakesAssemblies/
test/gui/config.ini
test/gui/reports
*/**/__pycache__/
tools/crash_reports/
.claude
*/**/.claude
21 changes: 21 additions & 0 deletions .mulch/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# .mulch/

This directory is managed by [mulch](https://github.com/jayminwest/mulch) — a structured expertise layer for coding agents.

## Key Commands

- `mulch init` — Initialize a .mulch directory
- `mulch add` — Add a new domain
- `mulch record` — Record an expertise record
- `mulch edit` — Edit an existing record
- `mulch query` — Query expertise records
- `mulch prime [domain]` — Output a priming prompt (optionally scoped to one domain)
- `mulch search` — Search records across domains
- `mulch status` — Show domain statistics
- `mulch validate` — Validate all records against the schema
- `mulch prune` — Remove expired records

## Structure

- `mulch.config.yaml` — Configuration file
- `expertise/` — JSONL files, one per domain
Empty file added .mulch/expertise/database.jsonl
Empty file.
6 changes: 6 additions & 0 deletions .mulch/expertise/debugging.jsonl
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{"type":"guide","name":"macOS log show for FileProvider debugging","description":"Use: /usr/bin/log show --predicate 'process CONTAINS \"OpenCloud\" OR process CONTAINS \"FileProviderExt\"' --last 30s --debug --info. Filter with grep -E for specific events. Key patterns: 'configureAccount|authenticate|token' for auth, 'enumerate|Parsed|PROPFIND' for listing, 'fetchContents|GET|Downloaded' for downloads, 'PUT|modify|upload' for uploads, 'XPC|invalidat' for connection issues. Note: Swift logger.info() messages with string interpolation are redacted by macOS privacy - use NSLog for always-visible debug output.","classification":"foundational","recorded_at":"2026-02-17T02:47:03.474Z","tags":["logging","macos","debug"],"id":"mx-438643"}
{"type":"convention","content":"When FileProvider extension has cached error states from previous bugs, clearing domains is required to reset: pkill -x OpenCloud, then run OpenCloud --clear-fileprovider-domains, then relaunch. The app must NOT be running when clearing domains or it fails with 'Already running'.","classification":"tactical","recorded_at":"2026-02-17T02:47:06.780Z","tags":["fileprovider","reset","domains"],"id":"mx-e8295b"}
{"type":"convention","content":"Keychain credentials are per-account. Check with: security find-generic-password -s OpenCloud. Config at ~/Library/Preferences/OpenCloud/opencloud.cfg stores account URL and UUID. Credential key format: OpenCloud_credentials:<server>:<uuid>:<user>. If keychain entry is missing for the configured account, app shows signed out.","classification":"tactical","recorded_at":"2026-02-17T02:47:09.850Z","tags":["keychain","credentials","account"],"id":"mx-bae798"}
{"type":"guide","name":"FileProvider system inspection commands","description":"fileproviderctl dump - show FileProvider domain state. pluginkit -m -v 2>&1 | grep opencloud - check registered plugins. ls ~/Library/CloudStorage/ - check mount points. ls /System/Volumes/Data/.FileProviderStorage/ - check FP storage. otool -L binary | grep OpenCloud - check dylib linkage. otool -l binary | grep -A2 LC_RPATH - extract rpath load commands.","classification":"tactical","recorded_at":"2026-02-17T02:48:01.108Z","tags":["fileprovider","debugging","tools"],"id":"mx-0c43f0"}
{"type":"failure","description":"NSLog messages with string interpolation appear as '(Foundation) <private>' in macOS unified logging due to privacy redaction. logger.info() with interpolation is also redacted. Cannot see actual values in log show output.","resolution":"Use os_log with explicit public format specifiers, or use strings without interpolation for debugging. For quick checks, use /usr/bin/strings on the binary to verify fix strings are compiled in.","classification":"foundational","recorded_at":"2026-02-17T03:43:39.079Z","tags":["nslog","privacy","redaction","logging"],"id":"mx-fa1b26"}
{"type":"failure","description":"set -euo pipefail in cleanup-fileprovider.sh caused silent script death: 'rm -rf ... 2>/dev/null' hides stderr but still returns non-zero exit code, triggering set -e. Also '[ cond1 ] && [ cond2 ] && echo ...' returns non-zero when cond2 is false, killing the script.","resolution":"Use '|| true' after rm commands that may fail, and use proper 'if ... then' blocks instead of && chains for conditional output.","classification":"tactical","recorded_at":"2026-02-18T06:27:36.300Z","id":"mx-999f58"}
Loading