feat: M9 release notes + M3.5-ext DNS proxy + M8 effort UI selector#47
Merged
Conversation
Three small but visible pieces of polish.
· scripts/gen-release-notes.ts (NEW) — walks `git log <from>..<to>`,
buckets commits by Conventional-Commit type (feat / fix / perf /
refactor / docs / test / chore / other), renders Markdown with emojis
+ short hashes. Strips Co-Authored-By trailers. 16 unit tests.
· packages/core/src/sandbox/dns-proxy.ts (NEW) — userspace UDP DNS
resolver that returns NXDOMAIN for anything not in allowedDomains;
forwards allowed lookups to upstream (default 1.1.1.1). M3.5-ext
scaffold; full sandbox integration (resolv.conf wiring in bwrap /
sandbox-exec) is deferred but the resolver itself is testable. 10
unit tests covering DNS wire format + bind + NXDOMAIN + close
idempotence.
· apps/cli/src/commands.ts — `/effort` now shows an interactive
selector table (tier / maxTokens / temperature / use case) when
called with no args; bare `/effort` no longer just dumps the
current value. Switch still works with `/effort <tier>`.
· vitest.scripts.config.ts + package.json — root test script now
includes scripts/*.test.ts. Renamed to avoid pnpm -r picking it
up for every workspace package.
Tests: core 429 → 438 (+9 DNS), cli unchanged 47, scripts new 16.
Total 476 → 501 passing.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
oratis
added a commit
that referenced
this pull request
May 28, 2026
Tracks PRs #46-#49 (post-v4 work): · #46 fix: worktree GIT_* env var leak (husky pre-commit context broke child git invocations) · #47 feat: M9 release-notes script + M3.5-ext DNS proxy + M8 /effort UI · #48 feat(desktop): full Vite/Tailwind/electron-builder config (.template suffix avoids dep-missing failures) · #49 feat: WhisperCppProvider + 4 more desktop screens + Nav Major-milestone status: · M0-M5.2 + M3.5 + M3c-rest + M4 + M8 → 100% · M6 → 65% (skeleton + 6 screens + all build configs; need binary deps + last 5 screens + agent IPC + Apple signing) · M7 → 15% (depends on M6) · M9 → 75% Overall: ~95% v1 scope. Remaining estimate: 2-3 weeks single-engineer- focused for v1 ship. M6 Mac client is the only multi-week piece. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
oratis
added a commit
that referenced
this pull request
May 28, 2026
…vation (#53) Two long-form docs + release workflow polish. · docs/SHIPPING_MAC.md (NEW, ~140 lines) - Prereqs: Apple Developer membership, Xcode, Developer ID Application cert, app-specific password, GH PAT. - One-time CI secrets table (APPLE_ID / APPLE_APP_SPECIFIC_PASSWORD / APPLE_TEAM_ID / CSC_LINK / CSC_KEY_PASSWORD / GH_TOKEN). - First local build commands (install heavy deps → activate .template configs → dev → pack → dist). - Releasing via tag flow. - Sanity-check notarytool history + spctl verification. - Auto-update flow walkthrough. - Common failure modes (cert without private key, notarytool stuck in progress, spctl rejection, quarantine flag). · docs/VOICE_INPUT.md (NEW, ~120 lines) - whisper.cpp install: macOS Homebrew + Linux source build. - Model download (base.en recommended; sizes vs accuracy). - settings.json `voice` config. - CLI + Mac client usage flow. - Privacy notes (audio file deleted post-transcript, no network). - Troubleshooting. - API example for plugin authors using @deepcode/core's WhisperCppProvider directly. · .github/workflows/release.yml - build-mac job: `if: false` → `if: vars.BUILD_MAC == 'true'`. The maintainer flips a Repository Variable when Apple secrets are wired; everything else stays automatic. - build-mac now activates the .template configs before building, and runs build:renderer + build:electron before electron-builder. - github-release: replaced the hand-rolled `git log` snippet with `npx tsx scripts/gen-release-notes.ts <prev-tag> HEAD` — uses the conventional-commit bucketing from PR #47. Tests: still 512 passing. Nothing changes at runtime; this PR is docs + config only. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Three small polish pieces: gen-release-notes script (buckets by conventional commit) + userspace DNS proxy for allowedDomains (M3.5-ext scaffold) + /effort interactive selector table. 25 new tests. 476→501 passing.