abkslm and nucleic
0404147164
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
abkslm and Claude Opus 4.8
4b2d604e74
Surface real API-retry cause + fix Claude status detection
...
Three related fixes so a provider-side incident (like an Anthropic 529
overload storm) is legible in the app instead of an opaque loop.
1. api_retry message (ClaudeStreamDecoder): the CLI's api_retry payload
carries no `message` — only error/error_status/attempt/max_retries —
so the transcript always rendered the generic "API retry". Compose the
real cause, e.g. "Anthropic API overloaded (529) — retrying 2/10", and
retain the raw payload for downstream.
2. Claude status matching (StatusFeed): Anthropic titles model outages by
SKU ("Elevated errors on Claude Opus 4.8"), which the old narrow
"claude api"/"claude code" patterns matched neither of — so the exact
incidents that stall the agent were dropped and never lit the
indicator. Watch Claude Code, the API, the model families, and a
`claude` catch-all so no Claude incident is silently hidden.
3. Refresh status on agent error (AppStore): an agent error is often the
first sign of a provider incident and can beat the 30s poll. On any
.error event, map the session's backend to its provider (new total
StatusProvider.forBackend) and force-refresh that provider's feed via
refreshStatusFeedOnError, coalesced to one refresh per provider per
20s so an api_retry storm can't hammer the status page.
Tests: locks the composed api_retry text and rewrites the Claude status
tests around the corrected behavior (the old sample asserted a
model-named incident was dropped — the bug).
Co-Authored-By: Claude Opus 4.8 <[email protected] >
2026-07-01 18:18:29 -07:00
abkslm and nucleic
984cbf908b
nvrsion: promote trunk to dev
...
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected] >
2026-07-01 17:55:43 -07:00
abkslm and Claude Opus 4.8
e98de76ddf
Harden shared approval-server control socket against desync
...
The Nucleic Control approval server ("mcp__nucleic__approve", passed via
--permission-prompt-tool) is shared per control container over one
vsock-relayed unix socket and cached for the app's lifetime. A single
socket desync used to brick the whole container: every new session's
claude failing MCP init ("Available MCP tools: none") and every running
session stalling on its next gated call, with no self-heal until an app
restart.
Four fixes:
1. Self-heal (MCPApprovalServer): start(unixSocketPath:) re-validates on
every call — keep the listener only if the fd is held and the file is
still the exact socket inode we bound; otherwise tear down and rebind.
Bind logic extracted into performUnixBind so first bind and rebind
can't drift.
2. Lifecycle coupling (ContainerManager + NucleicApp): teardownShared /
recreateShared release the container-scoped approval server + socket
via a new onSharedContainerRemoved hook, so a permanently-removed
container never leaves a stale server behind.
3. Fail loud (ClaudeCodeBackend): after start(unixSocketPath:), assert
isUnixSocketListening — mirroring the TCP port != 0 guard — so a
desynced socket throws a retryable spawnFailed instead of the CLI's
opaque "Available MCP tools: none".
4. Off /tmp (ApprovalServerRegistry): the control socket moves to
app-owned Application Support/Nucleic/run so the OS can't reap it out
from under a live listener. Still short enough for the AF_UNIX cap.
Adds a self-heal regression test (unlink socket -> next start rebinds and
serves again).
Co-Authored-By: Claude Opus 4.8 <[email protected] >
2026-07-01 17:30:12 -07:00
abkslm and nucleic
8273748bfd
nvrsion: Add: Change “Merge” button text to “Ship” in HomeView.swift and SessionDetailView.swift; apply “user-select: none” to non-selectable elements in website/index.html; display images in chat with file preview instead of including them in the transcript; fix message queue display so queued messages appear in order above the composer; refactor ClaudeLoginKeychain.swift and SessionController.swift to handle session logout gracefully.
...
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected] >
2026-07-01 16:13:38 -07:00
abkslm and nucleic
f14eeb3bbf
nvrsion: Add: Remove “sandboxed agents on Nucleic Control” from website/index.html.
...
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected] >
2026-06-30 14:37:07 -07:00
abkslm and nucleic
7748a0eae0
nvrsion: Add: Fix footer alignment on mobile by aligning “Nucleic,” “Copyright,” and “Made with Nucleic” left under the branding while keeping “Nucleic” left-aligned.
...
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected] >
2026-06-29 22:44:10 -07:00
abkslm
99169aa49a
Add self-hosted runner fonts
2026-06-29 21:08:38 -07:00
abkslm
0f6c6d234f
Merge branch 'dev' into nucleic/trunk
2026-06-29 21:07:43 -07:00
abkslm and nucleic
11701a5218
nvrsion: Add external-.woff2 setup to prioritize performance in Google Fonts IP collection across website/_headers, website/cockpit-mobile.html, website/cockpit.html, website/fonts/fonts.css, website/index.html, website/privacy.html, website/terms.html.
...
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected] >
2026-06-29 21:07:43 -07:00
abkslm and nucleic
4445ec2ba8
Prevent Google Fonts IP Collection
...
Nucleic-Session: 70972BA4-18A4-4077-AFC2-9CD7F5873D2F
Co-authored-by: Nucleic <[email protected] >
2026-06-29 21:06:23 -07:00
abkslm and nucleic
39b8a158e1
Prevent Google Fonts IP Collection
...
Nucleic-Session: 70972BA4-18A4-4077-AFC2-9CD7F5873D2F
Co-authored-by: Nucleic <[email protected] >
2026-06-29 21:06:00 -07:00
abkslm and nucleic
b80f4718aa
Prevent Google Fonts IP Collection
...
Nucleic-Session: 70972BA4-18A4-4077-AFC2-9CD7F5873D2F
Co-authored-by: Nucleic <[email protected] >
2026-06-29 21:05:55 -07:00
abkslm and nucleic
af875217a5
Prevent Google Fonts IP Collection
...
Nucleic-Session: 70972BA4-18A4-4077-AFC2-9CD7F5873D2F
Co-authored-by: Nucleic <[email protected] >
2026-06-29 21:05:49 -07:00
abkslm and nucleic
e4f0b3e16c
Prevent Google Fonts IP Collection
...
Nucleic-Session: 70972BA4-18A4-4077-AFC2-9CD7F5873D2F
Co-authored-by: Nucleic <[email protected] >
2026-06-29 21:05:42 -07:00
abkslm and nucleic
40442acf34
Prevent Google Fonts IP Collection
...
Nucleic-Session: 70972BA4-18A4-4077-AFC2-9CD7F5873D2F
Co-authored-by: Nucleic <[email protected] >
2026-06-29 21:05:37 -07:00
abkslm and nucleic
62fa1bb5a5
Prevent Google Fonts IP Collection
...
Nucleic-Session: 70972BA4-18A4-4077-AFC2-9CD7F5873D2F
Co-authored-by: Nucleic <[email protected] >
2026-06-29 21:05:24 -07:00
abkslm and nucleic
16265b0351
nvrsion: Add iOS mockup file, fix activity chart jumping animation so scrolling locks on the app mockup, and prevent Google Fonts IP Collection.
...
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:59:10 -07:00
abkslm
18c6b0f175
Merge branch 'dev' into nucleic/trunk
2026-06-29 20:59:10 -07:00
abkslm and nucleic
90851f58fe
Prevent Google Fonts IP Collection
...
Nucleic-Session: 70972BA4-18A4-4077-AFC2-9CD7F5873D2F
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:58:02 -07:00
abkslm and nucleic
a97aa5b3d4
Prevent Google Fonts IP Collection
...
Nucleic-Session: 70972BA4-18A4-4077-AFC2-9CD7F5873D2F
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:57:50 -07:00
abkslm and nucleic
d7f5ab39c1
Prevent Google Fonts IP Collection
...
Nucleic-Session: 70972BA4-18A4-4077-AFC2-9CD7F5873D2F
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:57:47 -07:00
abkslm and nucleic
4d4aef8485
Prevent Google Fonts IP Collection
...
Nucleic-Session: 70972BA4-18A4-4077-AFC2-9CD7F5873D2F
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:57:28 -07:00
abkslm and nucleic
0f45c3ff24
Prevent Google Fonts IP Collection
...
Nucleic-Session: 70972BA4-18A4-4077-AFC2-9CD7F5873D2F
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:57:22 -07:00
abkslm and nucleic
48456d9e9e
Prevent Google Fonts IP Collection
...
Nucleic-Session: 70972BA4-18A4-4077-AFC2-9CD7F5873D2F
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:56:31 -07:00
abkslm and nucleic
1a00fc82f6
Create iOS Mockup File
...
Nucleic-Session: 19B02B2B-A53A-42CC-BB40-729D365BA598
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:55:18 -07:00
abkslm and nucleic
3f02a47676
Create iOS Mockup File
...
Nucleic-Session: 19B02B2B-A53A-42CC-BB40-729D365BA598
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:55:00 -07:00
abkslm and nucleic
f23f5c6adc
Create iOS Mockup File
...
Nucleic-Session: 19B02B2B-A53A-42CC-BB40-729D365BA598
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:54:31 -07:00
abkslm and nucleic
bfafd922ca
Create iOS Mockup File
...
Nucleic-Session: 19B02B2B-A53A-42CC-BB40-729D365BA598
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:54:25 -07:00
abkslm and nucleic
83b43880ec
Create iOS Mockup File
...
Nucleic-Session: 19B02B2B-A53A-42CC-BB40-729D365BA598
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:54:21 -07:00
abkslm and nucleic
da4253fc3f
Create iOS Mockup File
...
Nucleic-Session: 19B02B2B-A53A-42CC-BB40-729D365BA598
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:53:55 -07:00
abkslm and nucleic
227e0e2111
Create iOS Mockup File
...
Nucleic-Session: 19B02B2B-A53A-42CC-BB40-729D365BA598
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:53:36 -07:00
abkslm and nucleic
752f7c7170
Create iOS Mockup File
...
Nucleic-Session: 19B02B2B-A53A-42CC-BB40-729D365BA598
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:53:30 -07:00
abkslm and nucleic
352108f23a
Create iOS Mockup File
...
Nucleic-Session: 19B02B2B-A53A-42CC-BB40-729D365BA598
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:53:25 -07:00
abkslm and nucleic
b854e26697
nvrsion: Add: Align footer text in a vertical stack below name/copyright and center-align it vertically with the Nucleic title.
...
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:43:34 -07:00
abkslm
ad3090d64e
Merge branch 'dev' into nucleic/trunk
2026-06-29 20:43:34 -07:00
abkslm and nucleic
dcf8edd86c
Footer Text Addition
...
Nucleic-Session: 0C050753-5F34-411E-A0CA-99F780A0C710
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:43:26 -07:00
abkslm and nucleic
bb381a7493
Footer Text Addition
...
Nucleic-Session: 0C050753-5F34-411E-A0CA-99F780A0C710
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:43:17 -07:00
abkslm and nucleic
f2dc753140
nvrsion: Add updated language: Change “Nucleic is a conductor” to “Nucleic is an orchestrator” and update “conductor” in legal documents to “orchestrator”.
...
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:39:09 -07:00
abkslm
614d1f6fda
Merge branch 'dev' into nucleic/trunk
2026-06-29 20:39:09 -07:00
abkslm and nucleic
ff639b7f90
Review Privacy Policy Draft
...
Nucleic-Session: 4F28F8F6-E44D-492A-883F-3B089383607A
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:38:57 -07:00
abkslm and nucleic
47f1546164
nvrsion: Add: Update website/privacy.html to remove “in git worktrees”: Nucleic orchestrates coding agents in your own machine; your code is read and written locally.
...
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:37:21 -07:00
abkslm
ec20cfa2a5
Merge branch 'dev' into nucleic/trunk
2026-06-29 20:37:21 -07:00
abkslm and nucleic
4d3b82bb8a
Review Privacy Policy Draft
...
Nucleic-Session: 4F28F8F6-E44D-492A-883F-3B089383607A
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:37:13 -07:00
abkslm and nucleic
5e03e07a8e
nvrsion: Add: Adjust privacy policy (website/privacy.html) to reflect Google Fonts IP Collection adjustment.
...
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:29:55 -07:00
abkslm
76d041a588
Merge branch 'dev' into nucleic/trunk
2026-06-29 20:29:55 -07:00
abkslm and nucleic
85fc7155bc
Prevent Google Fonts IP Collection
...
Nucleic-Session: 70972BA4-18A4-4077-AFC2-9CD7F5873D2F
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:29:39 -07:00
abkslm and nucleic
3f5b54f481
Prevent Google Fonts IP Collection
...
Nucleic-Session: 70972BA4-18A4-4077-AFC2-9CD7F5873D2F
Co-authored-by: Nucleic <[email protected] >
2026-06-29 20:29:37 -07:00
abkslm and nucleic
9fac148b4d
nvrsion: Add: Prevent Google Fonts IP Collection to website/cockpit-mobile.html, website/cockpit.html, website/privacy.html, website/terms.html.
...
Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected] >
2026-06-29 16:09:49 -07:00
abkslm
e4ebf60bc5
Merge branch 'dev' into nucleic/trunk
2026-06-29 16:09:49 -07:00