Skip to content

Promote main to release - #2666

Open
copse-release-bot[bot] wants to merge 8 commits into
releasefrom
main
Open

Promote main to release#2666
copse-release-bot[bot] wants to merge 8 commits into
releasefrom
main

Conversation

@copse-release-bot

Copy link
Copy Markdown
Contributor

Daily automated promotion of main to the release-ready release branch.

The repository ruleset requires the full CI Passed gate. This PR will
merge automatically when that gate is green; failures leave it open
until the underlying issue is fixed on main.

Jonathan Kingston and others added 8 commits September 11, 2026 10:52
test(models): keep intellect sync assertions data-stable
…ification

fix(models): tolerate blocked card verification
…edentials (#2652)

Copse's profile can be relocated with `COPSE_DIR`, but its current
OS-user encryption key and host-installed tools prevent a complete
development environment from moving between Macs. This PR documents the
proposed implementation and acceptance gates for permanent portability,
including offline operation.

- Package the application, independent development repositories,
toolchains, caches and local models on an external drive, with explicit
relocation and host-dependency checks.
- Use a per-profile data key wrapped separately by each enrolled Mac's
Secure Enclave key, Touch ID/system authentication, and a random
recovery key stored in a password manager. Preserve packaged-app and
ad-hoc `make run` access to the same profile, subject to the
native-helper feasibility gate.
- Define complete migration, lock/credential invalidation, recovery and
sequential cross-device validation.
- Keep initial detached execution narrow: one task/repository container
on a trusted host, explicitly delegated short-lived read-only GitHub
credentials usable with `gh`, and model inference independent of the
desktop. Keep profile and renewal keys local; defer brokers,
attestation, confidential computing and automatic renewal. Align the
existing cloud-workspace and runtime-security plans with this
reduced-guarantee exception.

Documentation only; this does not implement encryption, provision
workers, or migrate credentials or user data.

Validation:

- Fetched `origin/main` and rebased the branch before opening the PR
(base `f5f1764c2`).
- Repository-pinned `oxfmt@0.66.0` check passed for all four changed
documents; relative file links and `git diff --cached --check` passed.
- 29 existing tests passed with `node --test
packages/store-kit/src/keyring-cipher.test.ts
packages/store-kit/src/copse-paths.test.ts
packages/store-kit/src/user-data-migration.test.ts`.
- Required `pnpm run check` was attempted but could not start: `pnpm` is
unavailable and this worktree has no installed dependency tree. Full
application checks were not run. The passing primitive tests do not
validate Touch ID, Secure Enclave, remote isolation or cross-device
portability; those remain implementation acceptance gates.

Co-authored-by: Jonathan Kingston <KingstonMailBox@gmail.com>
Moving a Copse checkout and profile onto a drive left Electron and
gortex caches under the host's `~/.copse`, and absolute cache links
retained the old mount point. Both caches now default beneath
`COPSE_DIR`, retain their dedicated overrides, and use relative links
computed from canonical paths. Electron also handles dangling links and
avoids promoting another profile's shared cache.

This is an independent implementation slice from the portability
investigation around #2652. The companion PATH change and full
non-encryption audit are in #2657. This PR changes build/install
plumbing and documents cache preparation; it does not change encryption,
relocate repositories, bundle toolchains, or claim offline/two-Mac
readiness. Moving only the checkout still requires re-establishing its
cache links.

Validation:

- Rebased onto current `origin/main` (`f5f1764c2`) before committing.
- All static stages of `pnpm run check` passed: typecheck, full lint,
formatting, demo consistency, dead-code, oracle (255 specs / 15
invariants), and e2e syntax. The final package-export import fix also
passed focused lint and the full suite's workspace-package invariant.
- Four focused cache tests passed: override precedence, blank/relative
roots, an Electron directory link surviving a renamed kit root, and
repair/execution of a gortex link from a local fixture cache without
downloading.
- Full unit rerun with pinned Node 24.20.0 outside the tool sandbox:
9,133 passed, 9 failed, 7 skipped (9,149 total). The failures were
existing hook tests at their two-second deadlines while two full suites
ran concurrently. A subsequent separate rerun of all six affected hook
files passed all 42 tests. The initial Node 26 sandboxed test attempt
was interrupted after socket permission errors and a Node native
assertion; no single uninterrupted full `check` run is claimed green.
- No GUI layout changes, drive migration, or two-Mac/offline acceptance
test.

Co-authored-by: Jonathan Kingston <KingstonMailBox@gmail.com>
Copse's GUI startup prepends host Homebrew/home tools to a supplied
PATH, availability probes prepend system paths, and `make run` can
activate host nvm. A prepared drive launcher therefore cannot reliably
choose its own tools. The supported `COPSE_PRESERVE_PATH=1` opt-in
preserves its PATH at all three entry points; ordinary launches retain
their current behavior.

Includes a launch example and a source-based audit of the non-encryption
portability gaps beyond #2652, with proposed follow-up PRs and
acceptance gates. This PR is independent of the build-cache changes in
#2656 and encryption work. It leaves HOME, credential filtering and
sandbox policy intact; it does not isolate shell startup files or host
integrations, supply binaries/models, or enforce offline operation.
There are no DOM/layout changes.

Validation:

- Rebased onto current `origin/main` (`f5f1764c2`) before committing.
- All static stages of `pnpm run check` passed: typecheck, full lint,
formatting, demo consistency, dead-code, oracle (255 specs / 15
invariants), and e2e syntax.
- `pnpm run build` passed. All 15 focused launch-PATH and
tool-availability tests passed, including an actual `make check-node`
invocation proving opt-in skips host nvm while an ordinary invocation
still sources it.
- Full unit rerun with pinned Node 24.20.0 outside the tool sandbox:
9,133 passed, 10 failed, 7 skipped (9,150 total). The failures were
existing hook tests at their two-second deadlines while two full suites
ran concurrently. A subsequent separate rerun of the six affected,
unchanged hook files on this branch passed all 42 tests. The initial
Node 26 sandboxed test attempt was interrupted after socket permission
errors and a Node native assertion; no single uninterrupted full `check`
run is claimed green.
- No two-Mac/offline/native-runtime portability acceptance is claimed.

Co-authored-by: Jonathan Kingston <KingstonMailBox@gmail.com>
Auto-generated by
[`sync-intellect.yml`](.github/workflows/sync-intellect.yml)
from the [Artificial Analysis language-model
API](https://artificialanalysis.ai/).

Review the diffs in `scripts/data/intellect-scores.json` and
`packages/llm/src/model-intellect.generated.ts`. Confirm that each
changed score is
for the intended model/configuration and that the API index version
still matches
`canonicalVersion` before merging.

Pre-PR validation outcome: `failure`. The normal PR checks are
the source of truth; a failed validation keeps this workflow red while
still leaving
the generated diff available for review and repair.

Co-authored-by: jonathanKingston <338988+jonathanKingston@users.noreply.github.com>
Co-authored-by: Jonathan Kingston <KingstonMailBox@gmail.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