Skip to content

fix: close generation races and tighten execution boundaries - #10

Merged
Aforno merged 2 commits into
developfrom
fix/execution-boundary-hardening
Aug 19, 2026
Merged

fix: close generation races and tighten execution boundaries#10
Aforno merged 2 commits into
developfrom
fix/execution-boundary-hardening

Conversation

@Aforno

@Aforno Aforno commented Aug 14, 2026

Copy link
Copy Markdown
Owner

Addresses the code quality report findings on develop: generation races, execution-boundary gaps, the Swift 6 isolation warning, and the listed hygiene items.

Correctness

  • Cancel generation captures and clears the exact in-flight runner so the next generate cannot be killed by a late cancel hop.
  • First-run repair and generateTool fail loudly if another generation is already active.
  • StatusItemManager.maximumIndividualItems is nonisolated (Swift 6 default-argument warning).
  • Release verify now requires all five provider icons.
  • Changelog matches the 8s banner.

Security

  • HTTP probes re-validate http(s) + host, treat 3xx as unhealthy unless an expected status is set, and strip userinfo from displayed URLs.
  • Approved shell and git probes use the generated-tool env allowlist. Git also disables optional locks, terminal prompts, and fsmonitor helpers.
  • NUL is rejected in command and working directory (validation and fingerprints).
  • Update pagination is limited to HTTPS api.github.com; release pages to HTTPS GitHub hosts.
  • Import alert notes that non-generated kinds start immediately.

Hygiene

  • Removed unused Inter TTFs and registration; Settings shows store.storageURL; build_and_run.sh only kills the debug bundle; PortProbe cancels on task cancellation; window opening is installed from a one-shot command task.
  • AppKit library/diagnostics panels extracted from AppModel; runtime is injectable.

Policy regexes remain advisory UX, not sandbox-exec. Documented in SECURITY.md.

Docs

Rewrote the README and the other project docs in plain language. Facts are unchanged. LICENSE and the code of conduct were left alone.

Tests

swift test: 181 passed. Added coverage for exact-runner cancel, first-run vs concurrent generation, HTTP boundary validation, fingerprint NUL, git -c hardening, and GitHub host allowlists.

Cancel the exact in-flight provider runner, fail loudly when first-run
repair collides with an active generation, and re-validate HTTP, git,
shell, approval, and GitHub update paths at the execution boundary.
Copilot AI balanced review requested due to automatic review settings August 14, 2026 19:06

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.

Drop the AI tells, keep the facts, and say what Bar Tender actually does.
@Aforno
Aforno merged commit ff7a1f5 into develop Aug 19, 2026
4 checks passed
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.

2 participants