Skip to content

[codex] Complete Xiaoan desktop productization readiness - #2

Draft
An-an-525 wants to merge 18 commits into
mainfrom
codex/xiaoan-productization-release-readiness-uploadable
Draft

[codex] Complete Xiaoan desktop productization readiness#2
An-an-525 wants to merge 18 commits into
mainfrom
codex/xiaoan-productization-release-readiness-uploadable

Conversation

@An-an-525

Copy link
Copy Markdown
Owner

Summary

This PR turns Xiaoan into the first-class desktop product surface for this repository. It focuses on productization: default experience, user-facing language, runtime defaults, desktop shell polish, built-in capability surfaces, distribution readiness, and tests/docs guardrails.

This is intentionally not a bottom-up rewrite. The existing agent engine, Pi SDK integration, plugin model, Bridge, and legacy compatibility paths remain in place.

What changed

  • Presents Xiaoan as the product in README, contribution docs, templates, and maintainer guidance.
  • Internalizes Xiaoan defaults for runtime identity, storage migration, provider/model defaults, settings preferences, and built-in relay metadata.
  • Polishes the desktop onboarding, welcome/splash, settings navigation, theme/layout, motion failsafe, and user-visible copy across locales.
  • Packages built-in Xiaoan capability surfaces, including the Glance capability panel, while preserving plugin extensibility.
  • Prepares installer/update behavior and renderer smoke documentation without forcing startup update checks.
  • Adds contract coverage for Xiaoan runtime migration, layout/theme compatibility, motion behavior, settings preferences, built-in relay, plugin defaults, zip handling, locale integrity, and installer naming.

Important scope note

The full local branch also contains GitHub Actions workflow hardening for macOS signing/notarization gates and Xiaoan release asset verification. GitHub rejected pushing that exact branch because the current OAuth token does not include the workflow scope.

For this uploadable PR, .github/workflows/build.yml and .github/workflows/ci.yml are temporarily left at origin/main, and the workflow-specific macOS contract assertion is deferred. After refreshing GitHub auth with workflow scope, those workflow changes should be pushed as a small follow-up commit/PR.

Validation

  • npm run typecheck passed.
  • npm run dep:check passed on the full local branch before upload.
  • Full local test suite passed on the full branch: 844 files passed, 1 skipped; 7154 tests passed, 6 skipped.
  • Uploadable branch focused validation passed:
    • npm run typecheck
    • npm test -- tests/xiaoan-fork.test.ts tests/xiaoan-runtime-migrate.test.ts tests/xiaoan-layout-theme-contract.test.ts tests/xiaoan-gsap-chat-motion.test.ts tests/windows-installer-contract.test.ts tests/mac-update-metadata-contract.test.ts --reporter=dot
  • GitNexus change detection reports critical impact because this is a broad productization batch: 251 files / 531 symbols / 41 affected flows.
  • Sensitive material scan found no real long token, private key, .env, certificate, or log file in the staged/uploaded tree.

Release notes

Installer signing/notarization and final release publishing still require GitHub repository secrets and Actions workflow changes. The desktop product code is ready for review; final commercial-grade release should wait for signed package verification on CI and Windows/macOS installer smoke tests.

Credits

Xiaoan builds on the repository's existing agent framework and open-source foundations. Upstream lineage and third-party notices remain documented outside the first-screen product narrative.

An-an-525 and others added 18 commits June 28, 2026 21:31
…t name

auto-updater and mac-update-metadata tests still asserted HanaAgent-*
paths/filenames while electron-builder emits Xiaoan-* — a coverage blind
spot. Align fixtures with the real product name.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
pack/install:local hard-failed without APPLE_ID + APPLE_APP_SPECIFIC_PASSWORD
(notarize.cjs threw), blocking local builds while the project is on
self-signing. Skip with a hint; CI with secrets still notarizes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
better-sqlite3 is built for Node 24 ABI; Node 26 produces 124 false
failures. engines only warns; add a hard pre-test check reading .nvmrc.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Last two non-compat HanaAgent references: a comment in session-coordinator
and mock exec paths in office-plugin-tools test. Compat layer (HANA_HOME,
@hana/*, hanakoHome, HANA_DESKTOP_* env, hana-* localStorage) kept for
legacy dual-read.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant