feat(mobile): consumer Advanced, Today, Inbox, and Brain surfaces#86
Merged
Conversation
Wire the iOS app's drawer destinations to real daemon data via MobileApi, with consumer-curated view models and per-user controls. View models (pure, unit-tested, dependency-free): - cron/loop-view.ts: surface managed background loops (auto-dream, style-analyze) with friendly labels; cron/loop-overrides.ts adds per-user opt-out, honored at fire time by a gate in daemon/cron-engine.ts. - cron/task-view.ts + cron/schedule-format.ts: curate user-scheduled tasks with prettified every/cron/at schedules. - skills/skill-view.ts: filter consumer-facing skills, hide dev/internal/channel tooling, resolve human-readable names. - plugins/builtin-tools.ts: read-only built-in tool listing for the Plugins page. Daemon data composers: - daemon/inbox.ts: pending drafts to approve + CATE agent requests. - daemon/today.ts: agenda + commitments + tasks, gated on the daily briefing. - memory/brain.ts: knowledge-graph overview for the Brain page. MobileApi (proto + handlers): GetInbox/GetToday/GetBrain, ListTasks/UpdateTask/ DeleteTask, ListLoops/SetLoopEnabled, ListSkills/ToggleSkill, ListPlugins, ApproveDraftWithEdit (captures edits as a learning signal), and agent avatar in the identity RPCs. sdk/tools.ts tags agent-scheduled tasks source:"agent". Evals: eval/feature-manifest.ts declares the new surfaces (managed-loop-override, scheduled-tasks, brain/inbox/today overviews) and corrects the draft-edit-learning effect SQL to category='fact' key LIKE 'correction_%'. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bring the branch up to date with main (Studio Phase 1a #87 + SDK cleanup) so PR #86 merges cleanly. Both branches extended the MobileApi, so the conflicts were unions plus one semantic merge: - proto/nomos.proto: union of the Tasks/Brain/Inbox/Today RPCs (#86) and the Studio RPCs (#87). - src/daemon/mobile-api.ts: union of imports, the handler-registration map, and the handler bodies. handleGetSettings keeps #86's config-driven implementation and grafts in the Studio `studio_cloud_ai` permission row (handleUpdatePermission already routes it to setCloudAIEnabled). - Regenerated src/gen from the merged proto. typecheck + lint clean; 644 tests pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Wires the iOS app's drawer destinations to real daemon data via
MobileApi, with consumer-curated view models and per-user controls.View models (pure, unit-tested, dependency-free)
cron/loop-view.ts+cron/loop-overrides.ts): surface managed background loops (auto-dream, style-analyze) with friendly labels; per-user opt-out is honored at fire time by a gate indaemon/cron-engine.ts.cron/task-view.ts+cron/schedule-format.ts): curate user-scheduled tasks with prettified every/cron/at schedules.skills/skill-view.ts): filter consumer-facing skills, hide dev/internal/channel tooling, resolve human-readable names.plugins/builtin-tools.ts): read-only built-in tool listing.Daemon data composers
daemon/inbox.ts: pending drafts to approve + CATE agent requests.daemon/today.ts: agenda + commitments + tasks, gated on the daily briefing.memory/brain.ts: knowledge-graph overview for the Brain page.MobileApi
GetInbox/GetToday/GetBrain,ListTasks/UpdateTask/DeleteTask,ListLoops/SetLoopEnabled,ListSkills/ToggleSkill,ListPlugins, andApproveDraftWithEdit(captures user edits as a learning signal). Agent avatar added to the identity RPCs.sdk/tools.tstags agent-scheduled taskssource:"agent".Evals
eval/feature-manifest.tsdeclares the new surfaces (managed-loop-override, scheduled-tasks, brain/inbox/today overviews) and corrects thedraft-edit-learningeffect SQL tocategory='fact' AND key LIKE 'correction_%'.Verification
pnpm typecheckcleanpnpm test: 527 passed (59 files), including new colocated tests for loop-view / task-view / skill-view🤖 Generated with Claude Code