Skip to content

fix(plans): address review follow-ups from #3853 - #3865

Merged
Sayt-0 merged 6 commits into
mainfrom
fix/plans-3853-review-followups
Jul 29, 2026
Merged

Sayt-0 merged 6 commits into
mainfrom
fix/plans-3853-review-followups

Conversation

@Sayt-0

@Sayt-0 Sayt-0 commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up to #3853 that addresses review feedback around export safety, telemetry privacy, validation hooks, shared plan events, editor resolution, test placement, and Windows coverage.

Review feedback

Review point Resolution
Windows locking was compile-only Added a native windows-latest plan test job and made it gate image publication
Windows caller coverage was incomplete Added cmd/root and pkg/tui to the Windows cross-build
Plans telemetry included user values Limited telemetry to the subcommand and stable error codes
Existing PreRunE hooks could be replaced Chained the existing hook and added regression tests
CLI export overwrite behavior was ambiguous Existing destinations are refused by default; --force explicitly enables atomic replacement
Editor launch resolution was duplicated Centralized command construction in pkg/tui/internal/editorname
Plan detail tests were hard to discover Moved them alongside plan_detail.go
plan_changed was undocumented Documented its payload and process-global visibility

Validation

Check Result
task build pass
task test pass
task test-binary pass
task lint pass
task check-plan-cross pass
go test -race -count=1 ./pkg/plans pass
Workflow and documentation lint pass
Native Windows plan tests pending PR CI

Design notes

  • Non-force export uses atomic hard-link publication after fully writing, syncing, closing, and securing a temporary file. Filesystems without hard-link support return a typed storage error rather than weakening the no-overwrite guarantee.
  • plan_changed remains process-global because the shared notifier does not carry mutating-session identity and every open plans view must refresh. The API documentation now makes that visibility explicit.

@Sayt-0
Sayt-0 requested a review from a team as a code owner July 29, 2026 09:32
@aheritier aheritier added area/ci CI/CD workflows and pipeline area/core Core agent runtime, session management area/docs Documentation changes area/runtime Runtime engine, agent loop execution, tool dispatch, loop detection area/testing Test infrastructure, CI/CD, test runners, evaluation area/tui For features/issues/fixes related to the TUI kind/fix PR fixes a bug (maps to fix:). Use on PRs only. labels Jul 29, 2026
Comment thread .github/workflows/ci.yml
task test
task test-binary

# Plan storage relies on OS-specific file locking and path semantics, so its

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's interesting @Sayt-0 as we said that we wanted to expand a bit our tests on windows to avoid some issues which were impacting only this OS. To see if we want to run only a few tests or all of them in the future

@Sayt-0
Sayt-0 merged commit 057a4b1 into main Jul 29, 2026
20 checks passed
@Sayt-0
Sayt-0 deleted the fix/plans-3853-review-followups branch July 29, 2026 12:42
social4hyq pushed a commit to social4hyq/homebrew-core that referenced this pull request Sep 20, 2026
docker-agent 1.119.0

Created-by: HarmonybrewBot
Commit-by: HarmonybrewBot
Merged-by: HarmonybrewBot
Description: Created by `brew bump`

---

Created with `brew bump-formula-pr`.<details>
  <summary>release notes</summary>
  <pre>This release introduces first-class plan management with a new CLI command group and TUI browser, adds YAML safety mode defaults, and includes several bug fixes for runtime stability and structured output handling.

## What's New

- Adds `docker agent plans` CLI command group and a host-facing plan service package for managing plans from outside the agent runtime
- Adds a `/plans` browser, detail view, and action dialogs to the TUI for interactive plan management
- Adds YAML safety mode defaults to team runtime, individual agents, user settings, and aliases, with declarative precedence rules
- Adds an `Active agents only` option in TUI settings to filter the sidebar to agents participating in the current session
- Logs a warning when Docker Desktop serves an expired token to the models gateway

## Bug Fixes

- Fixes runtime re-entry loop when a content-only turn ends with a bare EOF and no `finish_reason` from the provider
- Fixes structured output handling for Claude models served through OpenAI-compatible endpoints by reinforcing schema constraints in system instructions
- Fixes evaluation budget termination outcomes so `budget_exceeded` results are preserved correctly across transcripts, SQLite, and session JSON
- Hardens host plan management and stabilizes asynchronous TUI workflows for plans
- Fixes atomic file replacement on Windows to allow plan storage reads during open file operations

## Technical Changes

- Exports `ValidateName`, `CorruptPlanError`, `SharedStorage`, and `ChangeNotifier` from the plan package
- Adds `PlanChangedEvent` emission on shared plan mutations in the runtime
- Centralizes plan editor handling in the TUI
- Adds plan storage testing on Windows as a CI gate
- Adds documentation for the Provider Credentials section in eval containers, clarifying `GITHUB_TOKEN` forwarding behavior
---

## What's Changed
* docs: update CHANGELOG.md for v1.118.0 by @docker-read-write[bot] in docker/docker-agent#3861
* fix(openai): reinforce structured output for Claude proxies by @Sayt-0 in docker/docker-agent#3863
* feat(config): add YAML safety mode defaults by @Sayt-0 in docker/docker-agent#3860
* fix(eval): preserve budget termination outcomes by @Sayt-0 in docker/docker-agent#3862
* docs: explain GITHUB_TOKEN forwarding for eval containers by @priyanka25aug in docker/docker-agent#3857
* feat: add first-class host UX for plan management (#3844) by @Sayt-0 in docker/docker-agent#3853
* feat(tui): filter sidebar to active agents by @Sayt-0 in docker/docker-agent#3864
* fix(plans): address review follow-ups from #3853 by @Sayt-0 in docker/docker-agent#3865
* fix(runtime): stop content-only turns that end with a bare EOF (no `finish_reason`) by @awschmeder in docker/docker-agent#3669
* feat(desktop): log when Docker Desktop serves an expired token by @trungutt in docker/docker-agent#3867

## New Contributors
* @priyanka25aug made their first contribution in docker/docker-agent#3857
* @awschmeder made their first contribution in docker/docker-agent#3669

**Full Changelog**: docker/docker-agent@v1.118.0...v1.119.0
</pre>
  <p>View the full release notes at <a href="https://github.com/docker/docker-agent/releases/tag/v1.119.0">https://github.com/docker/docker-agent/releases/tag/v1.119.0</a>.</p>
</details>
<hr>

See merge request: Harmonybrew/homebrew-core!15464
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/ci CI/CD workflows and pipeline area/core Core agent runtime, session management area/docs Documentation changes area/runtime Runtime engine, agent loop execution, tool dispatch, loop detection area/testing Test infrastructure, CI/CD, test runners, evaluation area/tui For features/issues/fixes related to the TUI kind/fix PR fixes a bug (maps to fix:). Use on PRs only.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants