Skip to content

History / CHANGELOG

Revisions

  • release: tag v0.2.1 prep — CHANGELOG, pyproject author, tag-triggered release workflow CHANGELOG.md - Promote the prior "Unreleased — Phase J" section to "[v0.2.1] — 2026-05-19". - Add a "Highlights since v0.1.0" series summary covering the Anthropic SDK migration, Debt-1 (schema codegen drift gate), Debt-2 (capability-token auth), F19 correlation IDs, Phase I performance, Phase J UX polish — with file-path references so the log doubles as a tour of the codebase. - Engineering signals shipped this series: 56/56 findings, four required CI gates, 124 / 1,334 / 17 test counts, atomic-write retrofit, multi-layer kill chain, full OSS meta layer. cortex/pyproject.toml - Authors: "Cortex Team" → "Steven Wang <wangchuyue888@gmail.com>". - Maintainers entry added. - Keywords expanded with anthropic / claude / mediapipe / macos / signal-processing so PyPI search surfaces match the project. - [project.urls] section: Homepage, Repository, Documentation (wiki), Changelog, Issues, Releases — these light up as link buttons on PyPI and on GitHub's repo sidebar. .github/workflows/release.yml - Triggers on `v*` tag push (or workflow_dispatch with a tag input). - Three jobs: ci-gate runs ruff + mypy --strict + codegen drift + pytest on macos-14 (mirrors the merge-gate exactly so a release can never ship a broken main). build-dmg runs build_macos_app.sh on macos-14 with optional CORTEX_SIGN_IDENTITY + CORTEX_NOTARIZE_PROFILE secrets; uploads the DMG as an artifact (14-day retention). attach-to-release downloads the artifact and attaches it to the GitHub release via softprops/action-gh-release. - For this v0.2.1 release the DMG is uploaded manually because CI signing identities aren't yet configured. The workflow is in place so v0.2.2+ can ship hands-free.

    @StevenWang-CY StevenWang-CY committed May 19, 2026
  • audit Phase-J: a11y sweep on remaining surfaces + CHANGELOG Closes Phase J with a final accessibility sweep and the user-facing release-boundary CHANGELOG. A11y sweep additions: * Segmented-control tab buttons in the dashboard now carry an explicit accessible name ("Dashboard tab" / "Advanced tab") and a long-form description for VoiceOver. The audit-w2 reconciliation covered the rest of the dashboard; the segmented control was the one remaining navigation surface without semantic context. * ``setFocusPolicy(Qt.FocusPolicy.StrongFocus)`` is now explicit on: the segmented-control buttons, the dashboard Connect + Stop buttons, the connections-panel back button, and every ``_primary_button`` on the connections panel. QPushButton's default on macOS Qt sometimes inherits ``WheelFocus`` which silently excludes the button from the keyboard tab cycle. CHANGELOG.md (new, removed from .gitignore at the Phase J boundary) documents: * The five user-facing additions (onboarding refinement, error toast, empty states, overlay micro-interactions, a11y sweep). * Reduce Motion support on the overlay. * Four residual a11y items deliberately left for a future polish pass: VoiceOver rotor item announcements on the biometrics numerics, High-Contrast mode palette, live-region announcements on state transitions, Reduce Motion gating on non-overlay tweens. All four are P2/P3 — none of them block this release. Verification: the full unit suite under offscreen Qt is green — ``QT_QPA_PLATFORM=offscreen pytest cortex/tests/unit/ --ignore=cortex/tests/unit/test_desktop_shell.py`` reports 1233 passed, 1 skipped (the skip is pre-existing). The new Phase J test files (test_dashboard_toast, test_dashboard_empty_state, test_onboarding_hints, test_overlay_animation) add 26 cases, all green. Files: cortex/apps/desktop_shell/{dashboard.py, connections.py}; CHANGELOG.md (new); .gitignore (untrack CHANGELOG.md).

    @StevenWang-CY StevenWang-CY committed May 18, 2026
  • chore: untrack dev-only files — CLAUDE.md, CHANGELOG.md, vscode compiled output

    @StevenWang-CY StevenWang-CY committed Mar 25, 2026
  • chore: public readiness — remove personal data, untrack artifacts, rewrite setup docs - Remove UPenn credentials from config defaults, .env.example, scripts - Remove hardcoded absolute paths from .cortex_launcher.c (now derives from executable location) - Reset native_host.py shebang to generic (patched at install time) - Untrack build artifacts: .plasmo/, CortexDaemon.app/, .vsix, IDE configs - Comprehensive .gitignore update - Fixed extension manifest key for deterministic ID (no --extension-id needed) - install_native_host auto-detects all Chromium browsers + existing extension IDs - Rewritten README with 7-step setup guide, 3 LLM options, troubleshooting - Rewritten setup.md with correct order and complete instructions - Fixed API endpoint docs, test counts, CHANGELOG

    @StevenWang-CY StevenWang-CY committed Mar 22, 2026
  • docs: add CHANGELOG.md and update README with honest description - CHANGELOG.md documents all Wave 1/2/3 changes with finding IDs - README.md now includes What To Expect section from honest audit

    @StevenWang-CY StevenWang-CY committed Mar 18, 2026