Skip to content

ADR 0004 drift: hosting, storage default, command-execution docs, stale crates, follow-ups - #125

Merged
ymote merged 5 commits into
mainfrom
fix/adr0004-drift
Sep 29, 2026
Merged

ymote merged 5 commits into
mainfrom
fix/adr0004-drift

Conversation

@ymote

@ymote ymote commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

Fixes the places where main drifted from the accepted ADR 0004, found while writing docs/architecture.md (#124).

  1. Hosting (§2): Sheets and Reference are module on every target. The Terminal is the only process app, and tools/native_apps.py refuses plain process on Linux; only process-if-vulkan is allowed.
  2. Storage (§11): approvals' consent.rs reads the storage block through StorageSpec, so accounts defaults to false in both places. A test checks they agree.
  3. Kernel README (en and zh), system_tools.rs docs: command execution for the system agent is planned (it waits on octos#2567 session-targeted tools), not available.
  4. Stale text: the deleted native News, Maps and Photos crates are gone from the READMEs (root, apps/, phone/, desktop/; en and zh). ADR 0004's Context says Terminal as a system app and native-apps.json: one manifest, hosting per target (ADR 0004 steps 1–2, §10) #113 deleted them.
  5. ADR 0004 Follow-ups:
    • dev.run;
    • per-app developer mode and the phone gesture;
    • the system agent's exact tool list;
    • the command-execution switch;
    • peer cwd = the account folder, plus unifying the account hash with the memory tag (with a migration note);
    • a shell-native system-agent chat.

docs/architecture.md (en and zh) marks these as fixed.

Verification (local; [skip ci])

  • setup.py --check --cargo, native_apps.py --check, Python tests (47)
  • cargo build --locked -p octosense and the graph check
  • the phone mobile-apps check
  • shell tests: 436 desktop, 445 phone

🤖 Generated with Claude Code

ymote and others added 5 commits September 28, 2026 16:47
ADR 0004 §2: the Terminal is the only process app for now, and Linux
without Vulkan and Wayland runs every app in-process. The opt-in Sheets
and Reference were declared plain `process` on macOS, Windows and Linux.
Declare them `module` on every target, and make tools/native_apps.py
refuse plain `process` on Linux (`process-if-vulkan` only).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lse [skip ci]

App storage defaulted `storage.accounts` to false (one `device` folder)
while the first-use consent sheet re-parsed the block and treated a
missing value as true. The sheet now reads the block through
StorageSpec, so an app keeps data per account only when it declares
`"accounts": true` (ADR 0004 §11, now saying so), and a test checks
both agree.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ble [skip ci]

The kernel README and system_tools.rs said the person can turn command
execution on in Settings. No Settings switch calls
SystemAgentTools::grant_command_execution, and the host tool cannot be
registered on the system session before octos#2567's per-session tool
registration. Say so. Docs only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The README layout tables (root, apps/, phone's `mobile-apps` row) still
listed the native comparison modules (`apps/*/native`) that #113 deleted;
the script apps are the only versions. ADR 0004's Context "Today" row
now says the crates were deleted by #113 (not #110, as a few pages had
it). The desktop README drops the now-redundant `--module reference
--module sheets` example. Docs only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A "Follow-ups" section at the end of the Plan: dev.run registration
(octos#2567), developer mode per app in Settings and the phone gesture,
the system agent's exact tool list (octos#2567 M1), the Settings switch
for its command execution, peer/prepare's cwd as the account folder with
one account hash for folders (SHA-256) and memory tags (FNV-1a, with a
migration note), and a shell-native chat with the system agent. Docs
only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ymote
ymote merged commit 6253c2d into main Sep 29, 2026
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.

1 participant