Skip to content

Remaining T3 user-facing branding #118

Description

@gannonh

Status

Approved

Rewritten 2026-08-25 from a flat punch list into this epic. Phase 1 (#109) shipped core Kata identity and deferred the leftovers below. Do not build this parent. Build approved children only.

Goal

Clear leftover T3 naming from surfaces a Kata Code user, operator, or contributor still reads, without renaming durable formats or violating FORK.md.

Context

Related: #109 (Phase 1 identity, closed), #119 (internal identifiers, wire formats, storage keys — not this epic), #124 (vendor-pull; do not stall it on this epic).

Audit 2026-08-25: docs/user/updating.md already uses npx @kata-sh/code-cli@latest (and versioned specs). Most other user-visible t3@ / npx t3 / t3 pair strings remain. The previous body mixed those with marketing, legal, telemetry, MCP wire names, and theme ids.

FORK.md still lists apps/marketing/** copy, t3.json, packaging/aur/**, and .repos/** as intentionally T3-shaped.

Constraints and non-goals

  • Do not rename t3.json, Connect wire IDs, checkpoint refs, OAuth URNs, T3_* env vars, or t3code: client storage keys. That is #119.
  • Do not rewrite apps/marketing/** copy, legal pages, store listing IDs, or tweets until Kata release URLs, store apps, and legal entity exist.
  • Do not rename MCP server id t3-code, OTLP service name t3-server, theme ids t3-chat / t3-code, or EAS owner: pingdotgg in a child that is not explicitly about that rename.
  • Do not invent winget / Homebrew / AUR package names. Native packages are not published for Kata yet.
  • Historical path matchers may still recognize t3 / t3@ cache layouts so old installs keep being detected.

Acceptance criteria

  • #127 (update copy, pairing labels, install/docs) is status:verified.
  • Every remaining deferred area below is either a verified child or an explicit skip comment on this issue that records the product decision.
  • No child of this epic takes work owned by #119.
  • FORK.md leftovers (apps/marketing/**, AUR, t3.json) stay T3-shaped until a child is approved that overrides that policy.

Architecture

User-visible copy and docs first. Wire names, telemetry, themes, and marketing stay parked until a named decision. Later slices are independent user outcomes (each with its own blocker), not a backend-then-frontend waterfall.

#118 remaining user-facing branding (this epic)
  ├─ #127 update/reconnect copy, PTY error, pairing labels, install + operator docs
  ├─ later: GitHub feedback routing (templates, CONTRIBUTING)
  ├─ later: MCP / provider clientInfo t3-code (lockstep; may break existing MCP configs)
  ├─ later: OTLP / trace service names (dashboard break)
  ├─ later: marketing, legal, store listings (entity + listings)
  ├─ later: mobile EAS owner (Expo account)
  └─ later: theme ids (prefs migration vs display-label-only)
#119 internal identifiers (sibling, not a child)

Delivery slices

  1. Update copy, pairing labels, and install docs — #127. Per-surface required names live on that child (versioned npm spec vs CLI verb vs npx hint).
  2. Feedback routing. #146 keeps issue templates and CONTRIBUTING.md inside the Kata repository.
  3. MCP / provider identity — lockstep t3-code to a Kata name across adapters + tests. Blocked until we decide whether existing user MCP configs must keep working under the old name.
  4. Telemetry names — t3-server, t3-headless-relay-client, t3.client.surface. Blocked until dashboards can follow the rename.
  5. Marketing / legal / stores — blocked on Kata release URLs, App Store / Play listings, and legal entity.
  6. Mobile EAS owner — blocked on the Expo account that should own builds.
  7. Theme ids — blocked on migrate-with-alias vs display-label-only.

Demonstration

Delegated to children. This epic is verified when every child is verified or explicitly skipped.

Verification

Per child. Program-level: each child's Verification grep and name table pass on the surfaces that child owns. Do not treat this parent as greppable scope.

Risks and mitigations

  • Punch-list gravity. The old body invited one PR for everything. Children stay one concern; this parent stays draft until remaining slices are decided or skipped.
  • Vendor-pull collision. #124 slice 2+ will re-import T3 copy. Remap to Kata names in those ports; do not wait for this entire epic.
  • False internals. #119 owns durable keys and T3_* env vars. If a string is both user-visible and a storage key, stop and split rather than rename the key here.

Build handoff

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementRequested improvement or new capability.kind:epicSpec decomposed into sub-issues.kind:specSpec issue. The issue body is the spec.status:approvedSpec approved by the maintainer. Ready to build.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions