v0.3.5 companion presence and visible memory#105
Open
FanyinLiu wants to merge 45 commits into
Open
Conversation
FanyinLiu
marked this pull request as ready for review
June 20, 2026 03:21
added 11 commits
June 19, 2026 20:25
added 22 commits
June 20, 2026 04:23
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
v0.3.5 Theme
Visible memory, readable companion presence.
This PR is intentionally about making Nexus feel more like a desktop companion, not expanding it into a Codex-style work agent. Users should remember v0.3.5 as the release where Nexus starts showing what it remembers and what state the desktop companion is in.
What users will notice
(eyes brightened),(blush), and(nod)can drive avatar cues while ordinary notes and Markdown links remain untouched.Engineering summary
Unreleasedinto the[0.3.5]changelog section, leavingUnreleasedexplicitly empty for later work.docs/RELEASE-CANDIDATE-v0.3.5-HANDOFF.mdplus a focused guard so the final merge/tag handoff keeps the memorable upgrade, evidence, residual risks, rollback path, and companion-not-agent boundary explicit.tests/release-spotlight.test.ts, so the 0.3.5 message cannot drift back to a memory-only, unreleased, or task-agent story unnoticed.docs/RELEASING.mdStage B with the actual packaged smoke gate and makenpm run distribution:auditfail ifnpm run package:dir:smokeor the quick-mode packaged-smoke skip note drops out of the release checklist.output/presence-smoke/.Validation
npm run lintnpm run i18n:audit— 2242 keys, 0 missing/extra/duplicate across zh-CN, zh-TW, en-US, ja, ko.npx tsc -b --pretty falsenpm run buildnpm test— 1966 passed.npm run distribution:audit— includes the packaged smoke release-doc and quick-mode guard.node scripts/prerelease-check.mjs v0.3.5 --only=B --quick— verify:release and bundle checks passed; output explicitly states packaged smoke is skipped in quick mode.node scripts/prerelease-check.mjs v0.3.5 --skip=A --quick— tag-safe branch preflight passed stages B-F: 22 blocker checks, 0 warnings, 0 failures. Stage A intentionally waits for merge to main because it verifiesHEAD === origin/mainand tag absence.npm run release:trust:audit— 7 OK, 2 expected warnings for unsigned macOS/Windows release posture.npm run package:dir:smoke— builds, packages a local dir app, launches packaged Nexus, and exits after renderer load.npm run pet:presence-smoke— runs build, launches the Electron pet view, and writesoutput/presence-smoke/pet-presence-smoke.pngplus JSON evidence.node --experimental-strip-types --test tests/pet-activity-state.test.tsnode --experimental-strip-types --test tests/release-spotlight.test.ts— 5 passed, including README/release-note/changelog theme alignment and the v0.3.5 release handoff guard.git diff --checke87d9dc.Release wording
Use this for the human-facing 0.3.5 headline:
Nexus v0.3.5 makes the companion easier to read and remember: memory is visible, and the desktop avatar now shows whether it is idle, thinking, listening, speaking, waiting, offline, or in trouble.