Skip to content

Release: promote measured ClosedRoom candidate - #49

Open
daniele21 wants to merge 229 commits into
mainfrom
dev
Open

daniele21 wants to merge 229 commits into
mainfrom
dev

Conversation

@daniele21

@daniele21 daniele21 commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Release intent

Promote the exact integrated ClosedRoom candidate from dev to stable main under the repository RELEASE contract.

Candidate identity

  • Candidate: dev@aeb449bd4823cf3f04cd1166052c57ddd7edb485
  • Stable base: main@2e821c08fbba8b63fd866f155bb805096d36e029
  • Product version: 0.2.0

Any dev movement invalidates candidate-bound evidence.

Automated release readiness

Exact-candidate RELEASE / FULL is running on aeb449bd… after integrating PR #71.

Already PASS on this exact candidate:

  • Repository Health #420;
  • validation scope / repository guards;
  • release/full selection and exact-SHA identity checks.

Remote preflight #428 is executing the remaining RELEASE / FULL source and packaged-app gates. Hosted CI establishes deterministic readiness only; it does not substitute for representative target-Mac evidence.

REAL_ENVIRONMENT status

Two prior target-Mac runs were diagnostically useful but are not qualifying evidence for this candidate:

  1. a47b4200…: the canonical build rewrote a tracked generated native-helper Info.plist, leaving the checkout dirty before physical child checks. PR fix: keep native helper bundle generated-only #70 made that helper bundle generated-only and added regression coverage.
  2. 4746d8a8…: build cleanliness and packaged-process launch were PASS, but both physical owners stopped at packaged app loopback server not found. Root cause was runtime identity mismatch: the macOS bundle/product version is 0.2.0, while /health.app_version was sourced from the independently versioned Python package (0.1.0). The discovery owner correctly rejected that mismatched identity. PR fix: align bundled health identity with product version #71 makes bundled runtime identity use the Info.plist product version while preserving Python package versioning in non-bundled/dev mode, with regression coverage.

Stable-source promotion now requires one fresh target-Mac run on exact candidate aeb449bd4823cf3f04cd1166052c57ddd7edb485 using the canonical owner:

python3 scripts/run_local_real_environment_suite.py

Required where material:

  • WKWebView/accessibility plus TCC-backed native both capture with persisted non-empty mic/system tracks and clean lifecycle;
  • real local MLX completion with representative CPU/RSS/thermal observations;
  • PRS-16 AI-busy contention: truthful Preparing recording, no premature capture, then capture after the safe boundary with mic/system persistence;
  • PRS-9 representative dual-track vs mixed-track benchmark;
  • subjective VoiceOver/usability or production ASR/LLM quality/latency only when material.

The stable closedroom-ax-helper may require a one-time macOS Accessibility grant. A missing grant is BLOCKED_PERMISSION and should be remediated and rerun on the same exact candidate, not classified as a product regression.

Search release evidence proves accessible open/focus/close; synthetic Cmd-K/Escape delivery is technically tested but is not a stable-source blocker.

Distribution boundary

Apple Developer distribution authority is not required to promote truthful stable source to main.

Developer ID signing, secure timestamp, app/DMG notarization and stapling, Gatekeeper acceptance, the protected production artifact workflow and draft/public GitHub Release are a separate distribution qualification after stable source exists.

GRP-1..5 automation is integrated. A real signed/notarized GRP-5 success remains blocked until the production-release GitHub environment and Apple authority are configured.

Readiness classification

  • Implementation complete: yes
  • Integration complete on dev: yes
  • Automated RELEASE / FULL: running on exact candidate aeb449bd…
  • LOCAL REAL_ENVIRONMENT: fresh run required on exact candidate before merge
  • Apple distribution authority: not a stable-source prerequisite
  • Stable promotion to main: blocked until automated + applicable target-Mac evidence agree

Do not merge this PR if the candidate moves or if required exact-candidate evidence is missing.

Introduce a process-wide bounded scheduler for memory-heavy ClosedRoom jobs, with deterministic queue capacity, cancellation, shutdown, and metrics. Validated by STRONG remote preflight on exact PR head.
Coalesce high-frequency volume telemetry, bound discrete capture event/history retention and warnings, and expose saturation counters. STRONG remote preflight passed on exact PR head including arm64 package smoke.
Pin local-llm-server 0.4.0 to validated immutable source revision 53500af8c1e1df1c92937b18928790fded8b437f, move updater logic to reproducible source/release modes, and update compatibility tests. FULL remote preflight passed on exact PR head including arm64 package smoke.
Bound browser fallback upload backlog to 64 MiB / 24 pending chunks with lossless fail-closed finalization and localized saturation messaging. SCOPED remote preflight passed on the exact PR head.
Add on-demand privacy-safe process, sidecar, machine and heavy-workload resource telemetry without background polling. STRONG remote preflight passed on exact PR head, including arm64 packaged-app lifecycle smoke.
Keep at most one registered local LLM/VLM resident per managed phase, return the sidecar to a cold state after local analysis/visual workloads, preserve external-server ownership, and fall back to process stop/restart for explicit/custom model paths. Update architecture and feature documentation with the canonical arbiter/lease/residency ownership, with tests covering success, failure and override propagation.
Enforce phase-scoped local model residency
Route ClosedRoom app-local Cmd-K and Escape through the native AppKit window boundary into the existing DOM keyboard path. Preserve the current REAL_ENVIRONMENT shortcut/focus contract unchanged.
* fix: remove key-window race from native shortcut bridge

* test: lock shortcut bridge against activation race
* docs: plan GitHub release productization

* docs: track release productization workstream
* docs: separate stable source from binary distribution

* docs: make main a stable-source release boundary

* docs: close GRP-1 and activate versioning
test: make real-environment Search outcome release-critical
build: establish canonical ClosedRoom product version
release: define GitHub release metadata contract
release: add fail-closed draft GitHub Release automation
release: add protected production artifact authority
Integrate the generated-only native helper bundle fix after exact-head INTEGRATION/FULL validation.
Integrate the runtime identity fix after exact-head INTEGRATION/SCOPED validation.
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