Skip to content

fix(cortexide): Phase 0 stabilization — open issues #8–#67#69

Merged
Pterjudin merged 4 commits into
mainfrom
fix/phase0-sprint1-stabilization
Jul 22, 2026
Merged

fix(cortexide): Phase 0 stabilization — open issues #8–#67#69
Pterjudin merged 4 commits into
mainfrom
fix/phase0-sprint1-stabilization

Conversation

@Pterjudin

Copy link
Copy Markdown

Summary

Phase 0 stabilization across two sprints, fixing the highest-impact open GitHub issues for CortexIDE first-run experience, local inference, and theme/onboarding polish.

Sprint 1 (4b9d607)

Sprint 2 (961f54c)

Tests

72 unit tests passing for new/changed modules:

  • providerSettingsValidation, onboardingHelpers, attachFileToChat, chatThreadStorageReviver, providerToolFormat, v0 detection in modelCapabilities

Test plan

  • Fresh install: express onboarding completes; menubar File/Edit menus render above title bar
  • Explorer → “Add File to Chat” attaches file to CortexIDE chat input
  • Ollama / llama-server: agent chat works without duplicate-tools error; window stays responsive during startup
  • Switch to Solarized Dark (or light theme): editor + auxiliary bar colors stay consistent
  • Onboarding Local tab → llama-server preset → add model → Next proceeds without “setup Chat model” error
  • Autocomplete works with qwen2.5-coder (or configured FIM model)
  • Extension transfer / one-click switch writes to .cortexide, not .void-editor

Made with Cursor

Tajudeen and others added 4 commits June 29, 2026 21:59
…mory

Implements three verified items from the competitive roadmap. All changes are
tsgo-clean, pass the node test suite, and are hygiene-safe (ASCII-only added lines).

- Secret redaction at the single outbound dispatch boundary. New pure, unit-tested
  common/outboundRedaction.ts scans every text-bearing payload: chat string/array
  content, tool_result content (e.g. `cat .env` output routed back to the model),
  Gemini parts, AND FIM/autocomplete prefix/suffix. Previously only chatMessages
  text parts were scanned, so autocomplete and terminal-tool output shipped raw to
  cloud providers -- making "never leaks a secret" false in production.
  run_command/run_persistent_command output is also masked at the source.

- Atomic audit-log writes. auditLogService.ts now writes via temp+rename
  ({ atomic: { postfix } }) for append, rotation, and truncate, so a crash
  mid-write can no longer corrupt the entire append-only audit trail. Adds the
  first service-level test (in-memory file service) pinning the atomic option,
  append/read round-trip, and crash-truncated-tail tolerance.

- Agent working memory. Re-inject the todo_write list into the per-turn
  instructions (new pure, tested common/todoReminder.ts) -- folded like rules,
  not into the cached system message, so it stays current. getLatestTodos
  previously had zero consumers, so the agent could never read back its own plan.

New tests: outboundRedaction, todoReminder, auditLogService (atomic append).

The Open VSX extension gallery enablement lives in the cortexide-builder repo
(prepare_vscode.sh); it is injected at build time because the OSS hygiene check
forbids extensionsGallery in product.json.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…nation/redaction)

Adds the building block of the tamper-evident egress ledger -- a complete record of
every outbound LLM call (allowed AND blocked): provider, destination kind (loopback/
remote/private/unknown), whether it leaves the machine, the gate's allow/block
decision + reason, and whether a secret was redacted from the payload.

- New pure, unit-tested common/egressAudit.ts (buildEgressAuditEvent) reuses the SAME
  classification the egress gate enforces (classifyProviderDestination +
  canDispatchToProvider), so the ledger never disagrees with what actually happened.
- AuditEvent gains an 'egress' action.
- sendLLMMessageService appends one egress event per dispatch (chat + autocomplete),
  gated behind the opt-in audit log, fire-and-forget. Reuses the redactionApplied
  signal from the outbound-redaction pass.

This is the "verify us, don't trust us" auditability differentiator -- neither Cursor
nor Claude Code exposes a per-request egress ledger. Wiring the remaining chokepoints
(web-tool, MCP-URL, model-catalog) is a follow-up.

New tests: egressAudit.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Restore menubar dropdowns, wire Add File to Chat to CortexIDE staging, and
prevent duplicate native tool payloads for local inference. Includes URI.revive
storage reviver, UI polish, and unit tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
Fix Void install path conflicts, llama-server onboarding, Ollama IPC freeze,
theme scoping, v0 multimodal routing, autocomplete defaults, and onboarding UI.
Includes provider validation helpers and unit tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
@cursor

cursor Bot commented Jul 22, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

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