Skip to content

fix(integration): land PRs 1083-1085 with repairs - #1088

Merged
vastsa merged 7 commits into
mainfrom
fix/pr-1083-1085-e2e-20260926
Sep 26, 2026
Merged

vastsa merged 7 commits into
mainfrom
fix/pr-1083-1085-e2e-20260926

Conversation

@vastsa

@vastsa vastsa commented Sep 26, 2026

Copy link
Copy Markdown
Owner

Summary

Integrates the reviewed changes from #1083, #1084, and #1085 into the latest main candidate.

  • Fail closed for invalid attachments refs before fuzzy matching.
  • Complete the main-process state migration and align source-contract tests.
  • Fail closed when remote bootstrap permission hardening fails.
  • Remove duplicate Store attachment mappers after extraction.

Validation

  • Desktop tests: 2945/2945
  • Desktop typecheck, build, and lint pass
  • host-core fmt, 652 tests, release build, and clippy pass
  • Electron boot probe pass
  • Host supervision E2E pass
  • Protocol smoke: 23/23 pass; 2 live-model scenarios skipped without credentials

Task candidate commit: fb009d2

Totopo27 and others added 7 commits September 25, 2026 23:31
…bootstrap isolation

Harden filesystem boundary enforcement, release checksum validation, and bootstrap scripting across Electron Main, BrowserView, and deployment scripts.

Previously, browser-view.ts path containment checks did not resolve symlinks, which could allow workspace symlinks targeting files outside the workspace root to be loaded into the preview browser pane. In addition, attachment blob references and release checksum parsing relied on unconstrained segment lookups or loose falsy gates rather than strict hexadecimal SHA-256 schema validation.

This change canonicalizes workspace paths with realpathSync, mandates exact 64-character hexadecimal SHA-256 formatting for attachments, restricts local bootstrap directories and tarballs to mode 700/600, eliminates TOCTOU checks in boot verification scripts, and updates git hygiene rules for certificates.
… transform helpers

Decompose monolithic entrypoint and central store hotspots to comply with architectural line count and responsibility boundaries (AGENTS.md §7 and §8).

In apps/desktop/electron/main/index.ts, more than 350 lines were dedicated to manual getter/setter bridges across 8 mutable state interfaces. In apps/desktop/src/stores/app-store.ts, pure workspace and session data transforms were mixed into the Zustand store definition.

This change introduces MainProcessState in bootstrap/main-state.ts to encapsulate main runtime mutable state, extracts workspace git resolution into workspace-git.ts, centralizes error formatting in main-process-errors.ts, and extracts pure session and workspace transformations into stores/helpers/store-helpers.ts. This reduces index.ts from 1,484 to 1,029 lines and app-store.ts from 736 to 617 lines.
Integrate the reviewed security boundary changes into the task candidate.
Integrate the stacked architecture refactor for validation and repair.
Integrate the allocator change for cross-checking and E2E validation.
Close the attachment validation bypass, complete the main-process state migration, and keep source-contract tests aligned with the extracted helpers. Fail bootstrap permission changes closed so the remote host setup cannot silently continue with weaker isolation.
Copilot AI lite review requested due to automatic review settings September 26, 2026 07:56

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@vastsa
vastsa merged commit 0853c06 into main Sep 26, 2026
3 checks passed
@vastsa
vastsa deleted the fix/pr-1083-1085-e2e-20260926 branch October 6, 2026 16:56
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.

3 participants