From 70390d545b31288ddc7642a5aafee6b571365b63 Mon Sep 17 00:00:00 2001 From: Yaacov Date: Sat, 18 Jul 2026 13:41:55 +0300 Subject: [PATCH] fix: enforce public Scient identity --- .claude/skills/verify/SKILL.md | 6 +- .docs/architecture.md | 2 +- .docs/codex-prerequisites.md | 4 +- .docs/encyclopedia.md | 2 +- .docs/quick-start.md | 5 +- .docs/runtime-modes.md | 2 +- .docs/scripts.md | 14 +-- .docs/workspace-layout.md | 2 +- .github/workflows/ci.yml | 4 +- .gitignore | 2 + AGENTS.md | 2 +- README.md | 2 - apps/marketing/public/screenshot.jpeg | Bin 72667 -> 0 bytes apps/marketing/src/pages/index.astro | 50 -------- apps/server/scripts/cli.ts | 5 +- .../replace-bundled-web-client.test.ts | 42 +++++++ .../scripts/replace-bundled-web-client.ts | 18 +++ apps/server/src/git/Layers/GitCore.test.ts | 4 +- apps/server/src/git/Layers/GitCore.ts | 4 +- apps/server/src/git/Layers/GitManager.test.ts | 6 +- apps/server/src/git/Layers/GitManager.ts | 8 +- apps/server/src/profileStats.ts | 6 +- apps/server/src/terminal/Layers/BunPTY.ts | 2 +- .../ThreadWorktreeHandoffDialog.tsx | 2 +- .../environmentPullRequest.logic.test.ts | 2 +- .../environmentPullRequest.logic.ts | 2 +- .../src/components/profile/ShareDialog.tsx | 2 +- assets/prod/readme-screenshot.jpeg | Bin 72667 -> 0 bytes .../build-desktop-artifact-mac-config.test.ts | 4 +- scripts/check-brand-identity.test.ts | 75 +++++++++++- scripts/check-brand-identity.ts | 112 +++++++++++++++--- scripts/lib/desktop-platform-build-config.ts | 4 +- scripts/release-smoke.ts | 11 ++ 33 files changed, 288 insertions(+), 118 deletions(-) delete mode 100644 apps/marketing/public/screenshot.jpeg create mode 100644 apps/server/scripts/replace-bundled-web-client.test.ts create mode 100644 apps/server/scripts/replace-bundled-web-client.ts delete mode 100644 assets/prod/readme-screenshot.jpeg diff --git a/.claude/skills/verify/SKILL.md b/.claude/skills/verify/SKILL.md index a42d9bfe5..e9d38317f 100644 --- a/.claude/skills/verify/SKILL.md +++ b/.claude/skills/verify/SKILL.md @@ -1,12 +1,12 @@ -# Verify: run Synara locally for runtime verification +# Verify: run Scient locally for runtime verification -How to launch an isolated Synara instance (server + web) to observe UI changes, without touching `~/.synara` or the default dev ports. +How to launch an isolated Scient instance (server + web) to observe UI changes, without touching `~/.scient` or the default dev ports. The `SYNARA_*` names below are inherited runtime compatibility variables; `SCIENT_HOME` is the canonical state-home variable. ## Launch ```bash # 1. Server (from the directory you want as the workspace/project cwd): -SYNARA_HOME=/synara-home \ +SCIENT_HOME=/scient-home \ SYNARA_PORT=3899 SYNARA_MODE=web SYNARA_NO_BROWSER=1 \ VITE_DEV_SERVER_URL=http://localhost:5899 \ bun /apps/server/src/index.ts & diff --git a/.docs/architecture.md b/.docs/architecture.md index 0334e7517..947b402b9 100644 --- a/.docs/architecture.md +++ b/.docs/architecture.md @@ -1,6 +1,6 @@ # Architecture -Synara runs as a **Node.js WebSocket server** that wraps `codex app-server` (JSON-RPC over stdio) and serves a React web app. +Scient runs as a **Node.js WebSocket server** that wraps `codex app-server` (JSON-RPC over stdio) and serves a React web app. ``` ┌─────────────────────────────────┐ diff --git a/.docs/codex-prerequisites.md b/.docs/codex-prerequisites.md index b68e5c89f..cadb83551 100644 --- a/.docs/codex-prerequisites.md +++ b/.docs/codex-prerequisites.md @@ -1,5 +1,5 @@ # Codex prerequisites - Install Codex CLI so `codex` is on your PATH. -- Authenticate Codex before running Synara (for example via API key or ChatGPT auth supported by Codex). -- Synara starts the server via `codex app-server` per session. +- Authenticate Codex before running Scient (for example via API key or ChatGPT auth supported by Codex). +- Scient starts the server via `codex app-server` per session. diff --git a/.docs/encyclopedia.md b/.docs/encyclopedia.md index 60b514d79..0b3c2272f 100644 --- a/.docs/encyclopedia.md +++ b/.docs/encyclopedia.md @@ -1,6 +1,6 @@ # Encyclopedia -This is a living glossary for Synara. It explains what common terms mean in this codebase. +This is a living glossary for Scient. It explains what common terms mean in this codebase. ## Table of contents diff --git a/.docs/quick-start.md b/.docs/quick-start.md index 401b31a23..4f9ba1b1a 100644 --- a/.docs/quick-start.md +++ b/.docs/quick-start.md @@ -8,6 +8,7 @@ bun run dev bun run dev:desktop # Desktop development on an isolated port set +# `SYNARA_DEV_INSTANCE` is an inherited compatibility variable. SYNARA_DEV_INSTANCE=feature-xyz bun run dev:desktop # Production @@ -17,6 +18,6 @@ bun run start # Build a shareable macOS .dmg (arm64 by default) bun run dist:desktop:dmg -# Or from any project directory after publishing: -npx synara +# Or from any project directory after publishing @scientfactory/cli: +npx --package @scientfactory/cli scient ``` diff --git a/.docs/runtime-modes.md b/.docs/runtime-modes.md index 18416f641..03cdebf57 100644 --- a/.docs/runtime-modes.md +++ b/.docs/runtime-modes.md @@ -1,6 +1,6 @@ # Runtime modes -Synara has a global runtime mode switch in the chat toolbar: +Scient has a global runtime mode switch in the chat toolbar: - **Full access** (default): starts sessions with `approvalPolicy: never` and `sandboxMode: danger-full-access`. - **Supervised**: starts sessions with `approvalPolicy: on-request` and `sandboxMode: workspace-write`, then prompts in-app for command/file approvals. diff --git a/.docs/scripts.md b/.docs/scripts.md index 3ec06ae9d..05f560ec7 100644 --- a/.docs/scripts.md +++ b/.docs/scripts.md @@ -3,9 +3,9 @@ - `bun run dev` — Starts contracts, server, and web in `turbo watch` mode. - `bun run dev:server` — Starts just the WebSocket server (uses Bun TypeScript execution). - `bun run dev:web` — Starts just the Vite dev server for the web app. -- Dev commands default `SYNARA_HOME` to `~/.synara`, which keeps dev state under `~/.synara/dev`. +- Dev commands default `SCIENT_HOME` to `~/.scient` and mirror that value into the inherited `SYNARA_HOME` compatibility variable. - Override server CLI-equivalent flags from root dev commands with `--`, for example: - `bun run dev -- --home-dir ~/.synara-2` + `bun run dev -- --home-dir ~/.scient-2` - `bun run start` — Runs the production server (serves built web app as static files). - `bun run build` — Builds contracts, web app, and server through Turbo. - `bun run typecheck` — Strict TypeScript checks for all packages. @@ -19,9 +19,9 @@ ## Desktop `.dmg` packaging notes - Default build is unsigned/not notarized for local sharing. -- The DMG build uses `assets/macos-icon-1024.png` as the production app icon source. -- Desktop production windows load the bundled UI from `synara://app/index.html` (not a `127.0.0.1` document URL). -- Desktop packaging includes `apps/server/dist` (the `synara` backend) and starts it on loopback with an auth token for WebSocket/API traffic. +- The DMG build uses `assets/prod/scient-macos-1024.png` as the production app icon source. +- Desktop production windows load the bundled UI from `scient://app/index.html` (not a `127.0.0.1` document URL). +- Desktop packaging includes `apps/server/dist` (the Scient backend) and starts it on loopback with an auth token for WebSocket/API traffic. - Your tester can still open it on macOS by right-clicking the app and choosing **Open** on first launch. - To keep staging files for debugging package contents, run: `bun run dist:desktop:dmg -- --keep-stage` - To allow code-signing/notarization when configured in CI/secrets, add: `--signed`. @@ -33,10 +33,10 @@ ## Running multiple dev instances -Set `SYNARA_DEV_INSTANCE` to any value to deterministically shift all dev ports together. +Set the inherited `SYNARA_DEV_INSTANCE` compatibility variable to any value to deterministically shift all dev ports together. - Default ports: server `3773`, web `5733` - Shifted ports: `base + offset` (offset is hashed from `SYNARA_DEV_INSTANCE`) - Example: `SYNARA_DEV_INSTANCE=branch-a bun run dev:desktop` -If you want full control instead of hashing, set `SYNARA_PORT_OFFSET` to a numeric offset. +If you want full control instead of hashing, set the inherited `SYNARA_PORT_OFFSET` compatibility variable to a numeric offset. diff --git a/.docs/workspace-layout.md b/.docs/workspace-layout.md index 4639dd11d..05b499cf8 100644 --- a/.docs/workspace-layout.md +++ b/.docs/workspace-layout.md @@ -2,6 +2,6 @@ - `/apps/server`: Node.js WebSocket server. Wraps Codex app-server, serves the built web app, and opens the browser on start. - `/apps/web`: React + Vite UI. Session control, conversation, and provider event rendering. Connects to the server via WebSocket. -- `/apps/desktop`: Electron shell. Spawns a desktop-scoped `synara` backend process and loads the shared web app. +- `/apps/desktop`: Electron shell. Spawns the desktop-scoped `scient` backend process and loads the shared web app. - `/packages/contracts`: Shared effect/Schema schemas and TypeScript contracts for provider events, WebSocket protocol, and model/session types. - `/packages/shared`: Shared runtime utilities consumed by both server and web. Uses explicit subpath exports (e.g. `@synara/shared/git`, `@synara/shared/DrainableWorker`) — no barrel index. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4ad9ed00d..6cbe1cc41 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,7 @@ jobs: if: runner.os == 'Linux' run: node scripts/node-pty-smoke.mjs - - name: Verify Synara identity + - name: Verify Scient identity run: bun run brand:check - name: Format @@ -148,7 +148,7 @@ jobs: - name: Install dependencies run: bun install --frozen-lockfile --ignore-scripts - - name: Verify Synara identity + - name: Verify Scient identity run: bun run brand:check - name: Exercise release-only workflow steps diff --git a/.gitignore b/.gitignore index 6d696e8e3..54643f173 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,8 @@ release/ /.synara-*/ /.synara/ /.synara-*/ +/.scient/electron-dev +/.scient-*/ .idea/ apps/web/.playwright apps/web/playwright-report diff --git a/AGENTS.md b/AGENTS.md index 8f74b3f21..624e73b8e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -97,7 +97,7 @@ Reference usage: opening/closing a project and the sidebar sections in `apps/web ## Local Dev Instance Isolation - Never start the default `bun run dev` while another Scient instance is running unless the user explicitly wants shared ports/state. -- Use an isolated home dir and non-default ports when running alongside the user's own Synara instance, for example: `env -u SYNARA_AUTH_TOKEN SYNARA_PORT_OFFSET=3158 SYNARA_NO_BROWSER=1 bun run dev -- --home-dir ./.scient-pr84 --port 58090`. +- Use an isolated home dir and non-default ports when running alongside another desktop instance, for example: `env -u SYNARA_AUTH_TOKEN SYNARA_PORT_OFFSET=3158 SYNARA_NO_BROWSER=1 bun run dev -- --home-dir ./.scient-pr84 --port 58090`. - Always dry-run first when avoiding conflicts: `env -u SYNARA_AUTH_TOKEN SYNARA_PORT_OFFSET=3158 bun run dev -- --home-dir ./.scient-pr84 --port 58090 --dry-run`. - Unset `SYNARA_AUTH_TOKEN` for browser dev instances unless the web app is also configured to connect with that token. If auth is accidentally inherited, the browser WebSocket can be rejected and the UI will show no threads even though SQLite has projects/threads. - Check both server and web ports with `lsof -nP -iTCP: -sTCP:LISTEN`. A desktop app can bind `127.0.0.1:` while the dev server binds IPv6 `*:`, and `localhost` may still hit the wrong process. diff --git a/README.md b/README.md index 10a167808..ed98f00f3 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,6 @@ Scient is a local-first desktop workspace for working with the AI agents and sub It brings chats, terminals, browser previews, diffs, branches, provider sessions, and handoffs into one focused workspace so you can run agent work without juggling a dozen windows. -![Scient app showing parallel agent threads, terminal output, and project navigation](assets/prod/readme-screenshot.jpeg) - ## What it does - Use the AI accounts you already pay for: Claude Code, Codex, Antigravity, OpenCode, Cursor, Grok, Kilo Code, and Pi. diff --git a/apps/marketing/public/screenshot.jpeg b/apps/marketing/public/screenshot.jpeg deleted file mode 100644 index 5c31530d197499305134f8f6cb50febff24e67b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72667 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 bW%(p+zm%cy3zZMr6d5&-q^r*B|K9`vWAEK< diff --git a/apps/marketing/src/pages/index.astro b/apps/marketing/src/pages/index.astro index c5ce7e0d3..e1fb5ce02 100644 --- a/apps/marketing/src/pages/index.astro +++ b/apps/marketing/src/pages/index.astro @@ -19,9 +19,6 @@ import { RELEASES_URL } from "../lib/releases"; Other platforms -
- Scient -