Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
d8c1f43
fix(access): support ownership migration after switching enforcement on
happy-v587 Oct 29, 2026
1c693b4
fix(access): preserve migration ownership and check worker access
happy-v587 Oct 29, 2026
15c9d93
fix(access): retain ownership migration recovery evidence
happy-v587 Oct 29, 2026
87d7e1f
fix(ci): synchronize ownership migration contracts and bundles
happy-v587 Oct 29, 2026
a4dc0b1
fix(access): bound ownership migration idempotency keys
happy-v587 Oct 30, 2026
fec062d
merge: sync master and fix Windows ownership fixtures
happy-v587 Oct 30, 2026
1ca415f
merge: sync current master and refresh compatibility review
happy-v587 Oct 30, 2026
db9c8d6
merge: integrate atomic memory manifest contract
happy-v587 Oct 30, 2026
cf6741e
fix(desktop): qualify merged ownership and manifest contract
happy-v587 Oct 30, 2026
77b2a0c
fix(access): isolate ownership maintenance and retain audit context
happy-v587 Oct 30, 2026
deaecc3
merge: sync master contracts and repair CI fixtures
happy-v587 Oct 31, 2026
d9585b1
fix(ci): retain merge-time platform and fixture adaptations
happy-v587 Oct 31, 2026
c00e075
test(desktop): qualify the rebased contract on real SQLite Servers
happy-v587 Oct 31, 2026
fa0a73f
fix(access): migrate custom Artifact families and bound owner keys
happy-v587 Nov 1, 2026
317f19c
chore(api): regenerate models after the rebased contract
happy-v587 Nov 1, 2026
f369ea3
test(desktop): requalify the rebased contract on real SQLite Servers
happy-v587 Nov 1, 2026
0b39db6
fix(access): cover custom families in offline ownership recovery
happy-v587 Nov 1, 2026
f3a90b2
merge: integrate receipt contract and retain ownership recovery
happy-v587 Nov 1, 2026
7f2f42d
test(desktop): qualify merged ownership and receipt contract
happy-v587 Nov 1, 2026
e08cc47
fix(access): preserve handoff attribution during migration
happy-v587 Nov 1, 2026
2ee2da3
fix(persistence): retry transient artifact FTS DDL locks
happy-v587 Nov 2, 2026
126244e
fix(access): protect every migrated candidate identity
happy-v587 Nov 2, 2026
0ba2f19
merge: sync master into ownership migration
happy-v587 Nov 2, 2026
3cefa45
merge: sync latest master into ownership migration
happy-v587 Nov 3, 2026
e784750
fix(desktop): qualify merged server contract
happy-v587 Nov 3, 2026
8544da9
test(zcode): accept committed capture timeouts
happy-v587 Nov 3, 2026
26b169e
fix(ci): budget time for sequential SeekDB checks
happy-v587 Nov 3, 2026
cc256f2
docs(desktop): point setup to the qualified current profile
happy-v587 Nov 3, 2026
67ad261
fix(access): bound static Scope preset receipt keys
happy-v587 Nov 3, 2026
899f7c0
test(http): separate admission ordering from CI scheduling
happy-v587 Nov 3, 2026
bf781bb
fix(ci): refresh OpenCode bundles and retry busy DMG unmounts
happy-v587 Nov 3, 2026
ffc1465
merge: sync master and regenerate OpenCode bundles
happy-v587 Nov 3, 2026
0ba4f70
test: publish native child pid atomically
happy-v587 Nov 3, 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
4 changes: 2 additions & 2 deletions .github/workflows/desktop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -215,10 +215,10 @@ jobs:
else
build_status=$?
fi
if [ "$attempt" -eq 3 ] || ! grep -Fq 'hdiutil: create failed - Resource busy' "$attempt_log"; then
if [ "$attempt" -eq 3 ] || ! grep -Eq "hdiutil: (create failed - Resource busy|couldn't eject .* - Resource busy)" "$attempt_log"; then
exit "$build_status"
fi
echo "::warning::DMG creation found a busy resource; retrying after $((attempt * 5)) seconds (attempt $attempt of 3)."
echo "::warning::DMG creation or unmount found a busy resource; retrying after $((attempt * 5)) seconds (attempt $attempt of 3)."
sleep "$((attempt * 5))"
done
- name: Upload failed macOS build diagnostics
Expand Down
15 changes: 14 additions & 1 deletion .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -471,7 +471,10 @@ jobs:
code-seekdb:
needs: [quality, tests]
if: ${{ !cancelled() && needs.quality.result == 'success' && contains(fromJSON('["success","skipped"]'), needs.tests.result) && (fromJSON(needs.quality.outputs.suites || '{}').database) }}
timeout-minutes: 30
# Shard 0 also runs indexing, bootstrap (20m), and archive validation (5m)
# before migrations (25m). Preserve each step's deadline and leave time
# for environment setup and diagnostic uploads.
timeout-minutes: 60
runs-on: ubuntu-latest
strategy:
fail-fast: false
Expand Down Expand Up @@ -704,6 +707,16 @@ jobs:
- name: Verify spawned worker logging on Windows
run: uv run --locked --no-sync pytest -q tests/e2e/test_worker_logging.py

- name: Verify offline ownership migration on Windows
run: >-
uv run --locked --no-sync pytest -q
tests/e2e/test_access_ownership_migration.py::test_offline_cli_checks_future_background_principal_before_enforcement
tests/e2e/test_access_ownership_migration.py::test_offline_background_plan_uses_configured_static_preset_without_grants
tests/e2e/test_access_ownership_migration.py::test_migration_audit_preserves_request_context
tests/e2e/test_ownership_maintenance_dispatch.py
tests/e2e/test_owner_recovery_http.py::test_offline_migration_preserves_external_owner_evidence
tests/e2e/test_candidate_ownership_migration.py

- name: Verify bootstrap receipt persistence and failure recovery on Windows
run: >-
uv run --locked --no-sync pytest -q
Expand Down
2 changes: 1 addition & 1 deletion desktop/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ Installed boundary checks exercise an 8192-byte Unicode note, reject over-budget

After upgrading from an earlier preview, open Connections and select your saved connection. Profiles matching the bundled API contract appear under “Available for this Desktop build”; compare their tested Server builds with your deployment before selecting one, saving, checking and explicitly using the connection again. New connections start with no compatibility selection.

Historical profiles appear as disabled records when their contract differs from this build. A saved incompatible or unavailable selection remains visible with an explanation until explicitly replaced. The `sqlite-atomic-2d782c2a-v1` record matches this build's contract and qualifies eleven SQLite protocol operations against the exact Server source and wheel recorded in the validation guide. Select it only after comparing that tested build with your deployment. Existing records retain their original Server source, contract, wheel and operation identities. The `ci-fixtures` build is for disposable acceptance tests and does not qualify a production deployment. Qualification evidence and remaining requirements are documented in the [validation guide](VALIDATION.md#compatibility-scope).
Historical profiles appear as disabled records when their contract differs from this build. A saved incompatible or unavailable selection remains visible with an explanation until explicitly replaced. The `sqlite-atomic-3cefa45a-v1` record matches this build's contract and qualifies eleven SQLite protocol operations against the exact Server source and wheel recorded in the validation guide. Select it only after comparing that tested build with your deployment. Existing records retain their original Server source, contract, wheel and operation identities, including the historical `sqlite-atomic-f3a90b2f-v1` qualification. The `ci-fixtures` build is for disposable acceptance tests and does not qualify a production deployment. Qualification evidence and remaining requirements are documented in the [validation guide](VALIDATION.md#compatibility-scope).

## Build on macOS

Expand Down
2 changes: 1 addition & 1 deletion desktop/README.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ Windows GitHub Actions 会构建未签名安装包,安装到临时中文路径

从早期预览版升级后,请打开「连接」并选中已保存的连接。与当前 API 契约匹配的配置显示在「此 Desktop 构建可用」中;先核对已测试的 Server 构建与实际部署,再明确选择、保存、检查并使用该连接。新连接默认不选择兼容配置。

历史配置在契约不匹配时显示为不可选择的记录。已保存的不匹配或不可用配置仍会显示并说明原因,须明确替换,不会静默升级。`sqlite-atomic-2d782c2a-v1` 与当前构建的契约匹配,已针对验证说明中记录的精确 Server 源码和 wheel 验证 11 项 SQLite 协议操作;请先核对该受测构建与实际部署,再明确选择。现有记录保留各自原始的 Server 源码、契约、wheel 和操作身份。`ci-fixtures` 构建仅用于临时验收测试,不代表实际部署已通过兼容性验证。资格证据和剩余要求见[验证说明](VALIDATION.md#compatibility-scope)。
历史配置在契约不匹配时显示为不可选择的记录。已保存的不匹配或不可用配置仍会显示并说明原因,须明确替换,不会静默升级。`sqlite-atomic-3cefa45a-v1` 与当前构建的契约匹配,已针对验证说明中记录的精确 Server 源码和 wheel 验证 11 项 SQLite 协议操作;请先核对该受测构建与实际部署,再明确选择。现有记录保留各自原始的 Server 源码、契约、wheel 和操作身份。`ci-fixtures` 构建仅用于临时验收测试,不代表实际部署已通过兼容性验证。资格证据和剩余要求见[验证说明](VALIDATION.md#compatibility-scope)。

## 在 macOS 上构建

Expand Down
Loading
Loading