Commit Graph
621 Commits
Author SHA1 Message Date
abkslmandNucleic 1908bbcf1c Create TestFlight Versions
Nucleic-Session: 1E7DF522-F57E-4717-8A39-4AA9781F3DBB
Co-authored-by: Nucleic <[email protected]>
2026-07-02 16:45:08 -07:00
abkslmandNucleic 42397d0de8 Makefile Entry Creation
Nucleic-Session: 68BC2F7D-7E9C-45FD-BA8B-CAD374976C8F
Co-authored-by: Nucleic <[email protected]>
2026-07-02 16:32:17 -07:00
abkslm 38e58964ea Merge branch 'claude/competent-pasteur-a5bb90' into HEAD 2026-07-02 16:07:16 -07:00
abkslmandClaude Fable 5 256418c028 docs: PUSH_SETUP runbook; wire aps-environment entitlements into the build
docs/PUSH_SETUP.md lists the manual steps left to light up push /
Live Activities end-to-end: APNS key, the one-click Xcode Push
capability, Cloudflare provisioning + secrets (with the bundle-id
topic gotcha: xyz.blakeslee.nucleic-remote, not .remote), host relay
config, and the on-device verification checklist. Also adds
CODE_SIGN_ENTITLEMENTS so the existing entitlements file actually
signs into the app.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-02 16:06:33 -07:00
abkslmandClaude Fable 5 761dca5f1d ios: notifications, actionable approvals, Live Activity, and the relay push path
Brings the phone's ambient surfaces (UX_IOS §5/§8) to maturity:

- Notification pipeline (NotificationRouter): local notifications for
  approvals and needs-input transitions while backgrounded; low-risk
  approvals are actionable from the banner (Allow requires device
  auth, high-risk must open the app's Face ID gate); taps deep-link
  to the session; app-icon badge = NEEDS YOU count; resolutions
  withdraw the notification (first-responder-wins). The relay's
  content-free approval.pending tickle localizes via
  Localizable.strings.
- Live Activity: new NucleicRemoteWidgets extension target (lock
  screen + Dynamic Island) rendering one aggregate Activity —
  N running / M waiting + the most urgent session — started/updated/
  ended by LiveActivityManager as session state changes.
- Out-of-band push path: nucleic-edge gains POST /v1/push/register
  (admin) so the host can upload tokens for LAN-only pairings; the
  host's new PushRelayClient (config-gated on NUCLEIC_RELAY_URL +
  NUCLEIC_RELAY_ADMIN_SECRET) mirrors Hello.pushToken to the relay
  and wakes non-connected phones when an approval arrives, throttled
  per device. Everything stays off until the relay is provisioned.

Worker tests (23) and Swift suites pass apart from the pre-existing
fixture gaps and nvrsion flake. Simulated APNs delivery is blocked in
this environment (notification auth can't be granted headlessly).

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-02 16:06:33 -07:00
abkslmandClaude Fable 5 480b29207f sync: project quota, provider status, todo triage, and full diffs to the phone
Four Mac surfaces the iOS remote couldn't render now ride the wire,
forward-compatibly (decodeIfPresent defaults; unknown HostMsg tags
already decode to .unknown):

- DashboardSnapshot gains `usage` (WireSubscriptionUsage — the Mac's
  5-hour/weekly quota gauges) and `statusFeeds` (WireStatusFeed —
  active provider incidents); the host re-pushes the dashboard when a
  poll changes either.
- WireTodo gains `triage` (raw TriageLevel name); the phone renders
  the Mac's TriageBadge honoring the encouraging/classic label
  setting.
- ClientMsg.fetchDiff / HostMsg.sessionDiff deliver the full worktree
  patch on demand (capped at 512 KB with a truncated flag), gated on
  the new WireCapabilities.canFetchDiff so a new phone never sends it
  to an old host. iOS renders a file list + colored unified patch,
  falling back to the diffstat summary against older hosts.

Round-trip and legacy-decode tests cover the new fields; the full
suite passes apart from the pre-existing fake-backend fixture gaps
and the flaky nvrsion lock-domain test (same failure rate on the
base commit).

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-02 16:06:32 -07:00
abkslmandClaude Fable 5 a33ab80313 ios: full feature/appearance parity with the macOS app (client-side)
Port the Mac's MarkdownText renderer, AppPalette (color-vision modes +
night-softening), appearance settings (theme/text size/color vision),
and BuildBanner channel strip to the iPhone remote. Add session-row
attention/unseen-completion washes and marker icons, Discard action,
branch/worktree options in the new-chat composer, and a transient
error bubble for host wire errors. Stamp the build channel via
NucleicChannel in Info.plist (ios-release.sh passes NUCLEIC_CHANNEL,
default beta). Demo mode gains NUCLEIC_DEMO_SESSION and skips the
notifications prompt so UI previews are scriptable.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-02 16:06:32 -07:00
abkslm 26884365b1 Merge branch 'dev' into nucleic/trunk 2026-07-01 19:01:20 -07:00
abkslmandNucleic 79a28605b3 nvrsion: Add: Fix truncation of “Run now” button text in New idea composer, add model selector support for Claude Fable 5, refactor Project Workflow Enhancement, add Wait Button Logic, update iOS remote to match Chat Message Queue Display, block sandboxed/controlled agents from running git commands via mcp__nucleic__host_exec using container-level shims, add chat icon animation to bounce when chat is blocked for >60 seconds, add “Cmd+Shift+N” shortcut to open a floating chat composer over the window, remove “Run now” button from “New idea” composer, and shield Git command execution by scanning inside ‘-c’ strings.
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
2026-07-01 19:01:20 -07:00
abkslmandNucleic 63054a4629 Message Queue Display
Nucleic-Session: 4714846A-A598-4711-AA38-640B40927DF4
Co-authored-by: Nucleic <[email protected]>
2026-07-01 18:34:18 -07:00
abkslmandNucleic 687a024373 Message Queue Display
Nucleic-Session: 4714846A-A598-4711-AA38-640B40927DF4
Co-authored-by: Nucleic <[email protected]>
2026-07-01 18:34:06 -07:00
abkslmandNucleic 49e30c0d68 Message Queue Display
Nucleic-Session: 4714846A-A598-4711-AA38-640B40927DF4
Co-authored-by: Nucleic <[email protected]>
2026-07-01 18:33:17 -07:00
abkslm 85d753d2f7 Merge branch 'dev' into nucleic/trunk 2026-06-27 20:24:15 -07:00
abkslmandNucleic 415443e8ce nvrsion: promote trunk to dev
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
2026-06-27 20:24:15 -07:00
abkslmandNucleic ee0fa90feb Add Markdown Formatting
Nucleic-Session: 23936B4B-52E9-43F5-908B-C7919A5BD6DD
Co-authored-by: Nucleic <[email protected]>
2026-06-27 20:23:37 -07:00
abkslmandNucleic 13d4b302b9 Add Markdown Formatting
Nucleic-Session: 23936B4B-52E9-43F5-908B-C7919A5BD6DD
Co-authored-by: Nucleic <[email protected]>
2026-06-27 20:23:30 -07:00
abkslmandNucleic 05883d6a91 Add Markdown Formatting
Nucleic-Session: 23936B4B-52E9-43F5-908B-C7919A5BD6DD
Co-authored-by: Nucleic <[email protected]>
2026-06-27 20:19:05 -07:00
abkslmandNucleic 57a8cc698e Add Markdown Formatting
Nucleic-Session: 23936B4B-52E9-43F5-908B-C7919A5BD6DD
Co-authored-by: Nucleic <[email protected]>
2026-06-27 20:18:30 -07:00
abkslmandNucleic 4f3945dd9c Rename Multi-Agent Card Title
Nucleic-Session: 64B9D58A-6385-4BE0-B950-183F2CD077AB
Co-authored-by: Nucleic <[email protected]>
2026-06-27 20:11:37 -07:00
abkslmandNucleic d8a2b8fd00 Activity Chart Intensity Logic
Nucleic-Session: 76D64900-B16F-45BE-A6CB-E3D2EBC7C73A
Co-authored-by: Nucleic <[email protected]>
2026-06-27 20:10:58 -07:00
abkslmandNucleic 3011e44ac6 Activity Chart Intensity Logic
Nucleic-Session: 76D64900-B16F-45BE-A6CB-E3D2EBC7C73A
Co-authored-by: Nucleic <[email protected]>
2026-06-27 20:10:41 -07:00
abkslmandNucleic 9ceb563df7 nvrsion: promote trunk to dev
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
2026-06-27 19:52:55 -07:00
abkslm 2ef02b90d4 Merge branch 'dev' into nucleic/trunk 2026-06-27 19:52:55 -07:00
abkslmandClaude Opus 4.8 8dd26a4483 Merge nvrsion promote (trunk → dev); land iOS host_exec formatting
Concludes an in-progress merge the auto-lander could not finish with
partial commits. Lands the iOS host_exec command breakdown and the
RemoteStore preview-data missing-return fix.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-27 19:45:56 -07:00
abkslmandNucleic ded07c3692 nvrsion: promote trunk to dev
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
2026-06-27 19:33:40 -07:00
abkslmandNucleic 7459276ec0 Activity Chart Intensity Logic
Nucleic-Session: 76D64900-B16F-45BE-A6CB-E3D2EBC7C73A
Co-authored-by: Nucleic <[email protected]>
2026-06-27 19:15:37 -07:00
abkslmandNucleic 4c19bffc54 Activity Chart Intensity Logic
Nucleic-Session: 76D64900-B16F-45BE-A6CB-E3D2EBC7C73A
Co-authored-by: Nucleic <[email protected]>
2026-06-27 19:15:18 -07:00
abkslmandNucleic fcdb5a09c6 Activity Chart Intensity Logic
Nucleic-Session: 76D64900-B16F-45BE-A6CB-E3D2EBC7C73A
Co-authored-by: Nucleic <[email protected]>
2026-06-27 19:15:07 -07:00
abkslmandNucleic ccd2a96de0 Activity Chart Intensity Logic
Nucleic-Session: 76D64900-B16F-45BE-A6CB-E3D2EBC7C73A
Co-authored-by: Nucleic <[email protected]>
2026-06-27 19:15:00 -07:00
abkslmandNucleic 09a8d590c9 Activity Chart Intensity Logic
Nucleic-Session: 76D64900-B16F-45BE-A6CB-E3D2EBC7C73A
Co-authored-by: Nucleic <[email protected]>
2026-06-27 19:14:53 -07:00
abkslmandNucleic a3f2929123 Activity Chart Intensity Logic
Nucleic-Session: 76D64900-B16F-45BE-A6CB-E3D2EBC7C73A
Co-authored-by: Nucleic <[email protected]>
2026-06-27 19:14:44 -07:00
abkslmandNucleic ca2a270fad Activity Chart Intensity Logic
Nucleic-Session: 76D64900-B16F-45BE-A6CB-E3D2EBC7C73A
Co-authored-by: Nucleic <[email protected]>
2026-06-27 19:14:40 -07:00
abkslm 93d91b6c10 nvrsion: resync trunk onto dev after promote 2026-06-27 17:14:39 -07:00
0e74c7ceb5 Promote nvrsion trunk → dev
Squash-promote the nucleic/trunk work (Sessions Auto-Switching, Play
System Sounds Configuration) into dev. Resolved the two divergent
conflicts where dev and trunk had independently implemented the chat
status-sound feature, keeping trunk's canonical version:

- SettingsView: the Sounds settings live under the General tab (trunk's
  placement); removed dev's duplicate Sounds section from the Chat tab.
- AppStore: adopt trunk's centralized ChatCueState/announceChatCue
  edge-detection (fired from upsertSummary/upsertSummaries), and remove
  dev's superseded chatStatusSound(...) helper and its two hand-placed
  call sites. Also removed a silent merge-duplicated upsertSummaries.

Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-27 17:14:06 -07:00
abkslmandNucleic 5753cce178 Disable Orchestra Feature
Nucleic-Session: 921760EC-9063-4C8B-807B-DF166B271459
Co-authored-by: Nucleic <[email protected]>
2026-06-27 15:47:36 -07:00
abkslmandNucleic 59fb467cfa Disable Orchestra Feature
Nucleic-Session: 921760EC-9063-4C8B-807B-DF166B271459
Co-authored-by: Nucleic <[email protected]>
2026-06-27 15:47:25 -07:00
abkslmandNucleic 4329aae518 Disable Orchestra Feature
Nucleic-Session: 921760EC-9063-4C8B-807B-DF166B271459
Co-authored-by: Nucleic <[email protected]>
2026-06-27 15:47:20 -07:00
abkslmandNucleic eff0b84114 Streak Square Brightness Logic
Nucleic-Session: 129BD35A-FB15-4E39-82E2-F476950F60AD
Co-authored-by: Nucleic <[email protected]>
2026-06-27 15:46:04 -07:00
abkslmandNucleic 6b770b56b1 Streak Square Brightness Logic
Nucleic-Session: 129BD35A-FB15-4E39-82E2-F476950F60AD
Co-authored-by: Nucleic <[email protected]>
2026-06-27 15:45:53 -07:00
abkslm 9f9fb88672 add app icon to ios 2026-06-27 15:24:50 -07:00
abkslm bd46ca241f nvrsion: promote trunk to dev
Nucleic-Promote: 1
2026-06-27 14:57:57 -07:00
Nucleic b9dc784bf1 Adjust DAI Metrics File
Nucleic-Session: E357FC5A-6454-41EE-9AA8-139CDB6779DA
2026-06-27 14:24:31 -07:00
Nucleic 5dfa9a6329 Adjust DAI Metrics File
Nucleic-Session: E357FC5A-6454-41EE-9AA8-139CDB6779DA
2026-06-27 14:24:23 -07:00
Nucleic c79d1767bc Resync dev into nucleic/trunk after promotion
# Conflicts:
#	cloud/nucleic-edge/wrangler.jsonc
#	ios/NucleicRemote/NucleicRemote.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
2026-06-27 13:44:15 -07:00
NucleicandClaude Opus 4.8 ab17d9d229 Promote nvrsion trunk → dev
Squash-merge nucleic/trunk into dev (234 commits of accumulated nvrsion work).

Resolved two auto-generated-file conflicts:
- cloud/nucleic-edge/wrangler.jsonc: kept dev's real KV namespace ids and the
  xyz.blakeslee.nucleic.remote APNS topic, with binding names corrected to
  RELAY_TOKENS/PUSH_TOKENS to match the worker code on both branches.
- Package.resolved: took trunk's newer dependency pins.

Nucleic-Promote: 1
Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-27 13:43:32 -07:00
Nucleic d78f7ccef1 ios changes 2026-06-26 21:11:28 -07:00
Nucleic 7f452e5664 nvrsion: recovered uncommitted work after restart
Nucleic-Recovery: 1
2026-06-26 20:58:18 -07:00
Nucleic f1e18477a7 Tool Call Semantics Alignment
Nucleic-Session: B5E370C3-4764-47E1-95D3-A36B4AAB8AC6
2026-06-26 20:26:34 -07:00
Nucleic e674508e59 Tool Call Semantics Alignment
Nucleic-Session: B5E370C3-4764-47E1-95D3-A36B4AAB8AC6
2026-06-26 20:25:24 -07:00
Nucleic 8d8be78a6a Tool Call Semantics Alignment
Nucleic-Session: B5E370C3-4764-47E1-95D3-A36B4AAB8AC6
2026-06-26 20:25:15 -07:00