diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx
index 9851e68d3..8efb94968 100644
--- a/packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx
+++ b/packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx
@@ -307,13 +307,15 @@ export function Sidebar(props: { sessionID: string; overlay?: boolean }) {
{directory().split("/").slice(0, -1).join("/")}/
{directory().split("/").at(-1)}
+ {/* altimate_change start — sidebar branding */}
- • Open
+ • Altimate
- Code
+ Code
{" "}
{Installation.VERSION}
+ {/* altimate_change end */}
diff --git a/packages/opencode/test/branding/upstream-merge-guard.test.ts b/packages/opencode/test/branding/upstream-merge-guard.test.ts
index 29f2c252f..1d2e41cac 100644
--- a/packages/opencode/test/branding/upstream-merge-guard.test.ts
+++ b/packages/opencode/test/branding/upstream-merge-guard.test.ts
@@ -38,11 +38,11 @@ describe("Installation script branding", () => {
// Should not contain the upstream npm package name in install commands
// (note: @opencode-ai/ as internal scope is allowed, but `opencode-ai@` as
// an npm install target is not)
- const installLines = installSrc.split("\n").filter(
- (line) =>
- (line.includes("npm") || line.includes("pnpm") || line.includes("bun")) &&
- line.includes("install"),
- )
+ const installLines = installSrc
+ .split("\n")
+ .filter(
+ (line) => (line.includes("npm") || line.includes("pnpm") || line.includes("bun")) && line.includes("install"),
+ )
for (const line of installLines) {
expect(line).not.toMatch(/["'`]opencode-ai["'`@]/)
}
@@ -206,13 +206,13 @@ describe("OAuth/MCP branding", () => {
const oauthProviderPath = join(srcDir, "mcp", "oauth-provider.ts")
const oauthCallbackPath = join(srcDir, "mcp", "oauth-callback.ts")
- test("oauth-provider.ts has client_name: \"Altimate Code\" not \"OpenCode\"", () => {
+ test('oauth-provider.ts has client_name: "Altimate Code" not "OpenCode"', () => {
const content = readText(oauthProviderPath)
expect(content).toContain('client_name: "Altimate Code"')
expect(content).not.toMatch(/client_name:\s*"OpenCode"/)
})
- test("oauth-callback.ts HTML titles contain \"Altimate Code\" not \"OpenCode\"", () => {
+ test('oauth-callback.ts HTML titles contain "Altimate Code" not "OpenCode"', () => {
const content = readText(oauthCallbackPath)
// All
tags should reference Altimate Code
const titleMatches = content.match(/[^<]+<\/title>/g) ?? []
@@ -300,6 +300,25 @@ describe("No opencode.ai domain leaks in src/", () => {
})
})
+// ---------------------------------------------------------------------------
+// 5b. TUI Branding (sidebar, headers, etc.)
+// ---------------------------------------------------------------------------
+describe("TUI branding", () => {
+ const sidebarPath = join(srcDir, "cli", "cmd", "tui", "routes", "session", "sidebar.tsx")
+ const sidebarContent = readText(sidebarPath)
+
+ test("sidebar shows 'Altimate' not 'Open' as branded name", () => {
+ // The sidebar footer must say "Altimate Code", not "OpenCode"
+ expect(sidebarContent).toContain("Altimate")
+ expect(sidebarContent).not.toMatch(/Open<\/b>\s*\n\s*]*>\s*Code<\/b>/)
+ })
+
+ test("sidebar has altimate_change marker to protect branding", () => {
+ expect(sidebarContent).toContain("altimate_change start")
+ expect(sidebarContent).toContain("altimate_change end")
+ })
+})
+
// ---------------------------------------------------------------------------
// 6. Build & Package Branding
// ---------------------------------------------------------------------------
diff --git a/packages/opencode/test/training/tools.test.ts b/packages/opencode/test/training/tools.test.ts
index a7d965156..236a5020f 100644
--- a/packages/opencode/test/training/tools.test.ts
+++ b/packages/opencode/test/training/tools.test.ts
@@ -95,8 +95,6 @@ describe("training meta roundtrip through content", () => {
kind: "pattern",
source: "stg_orders.sql",
applied: 5,
- accepted: 3,
- rejected: 1,
}
const content = "- Use CTEs\n- Cast types"
const embedded = embedTrainingMeta(content, meta)