Skip to content

fix(aider): make the advertised CLI launch reach Aider - #4961

Closed
tang-vu wants to merge 1 commit into
Osmantic:public-betafrom
tang-vu:fix/beta-aider-cli-launch-instructions-20260914
Closed

tang-vu wants to merge 1 commit into
Osmantic:public-betafrom
tang-vu:fix/beta-aider-cli-launch-instructions-20260914

Conversation

@tang-vu

@tang-vu tang-vu commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

Ready for independent review (2026-09-15). Candidate 20d5c22d3c12bbde1ab4ee354945a7067b1425af has a successful GitHub check rollup and no base-branch conflict at this review snapshot. This supersedes earlier draft-status wording only. All validation gaps, migration requirements, live gates and independent human review requirements below remain in force; this is not a merge-ready approval.

Summary

Provide an installed Aider launcher that selects the extension Compose file, ODS environment and /venv/bin/aider executable. Update every advertised launch hint in the extension, templates and dashboard.

Why this matters

Aider's installation container intentionally uses entrypoint: [echo] and exits successfully. ODS nevertheless tells users to run docker compose run --rm aider, which invokes that echo stub again. It also omits the installed extension's Compose file. In the shipped image, the advertised --version command reports GNU echo's version; the new launcher reports aider 0.86.2.

The invariant is that installation retains its one-shot receipt, while an explicit interactive launch reaches Aider with unchanged caller arguments and the correct data/aider project mount.

Overlap check

Searched open/closed Aider and aider entrypoint PRs, historical/current Compose paths, README, templates and dashboard hints. #896 introduces the intentional echo entrypoint. #1090 implements the one-shot installed status and explicitly records that its advertised command still hits echo. Neither provides the working launcher. This completes that documented handoff without replacing either lifecycle change.

Validation

  • Shell boundary tests execute an installed copy under a path containing spaces, verify exact Compose argv/environment-file selection, preserve literal $HOME/backticks in user arguments, and reject a wrong working directory before invoking Docker: 2 passed.
  • Extensions page regression and affected suite: 16 passed. Lint has zero errors and existing warnings; build, ShellCheck and scoped pre-commit pass.
  • Initial threads-worker startup failed before executing tests during heavy local image work. A one-worker fork run completed; the failure remains recorded.
  • Exact candidate 20d5c22d, Aider v0.86.2 digest sha256:0d54037f6c97c85a926ebc3c903e27446f5bca96823d9f68902f1e623289b556: real Compose runs reproduced the GNU echo output before and Aider version output after. The fixture used a private internal network and was removed. No model request or project edit was performed.
  • make gate reproduces the known root-WSL no-sudo fixture failure.

Compatibility and rollback

Run from the ODS install directory; Windows users use the ODS WSL terminal. Bash arguments and Docker Compose are shared across Linux/macOS/WSL. There is no stored-data or service lifecycle migration. Revert the launcher and its hints together. The final batch integration will combine the additive Makefile call and dashboard changes with the other candidates.

Final candidate 20d5c22d3c12bbde1ab4ee354945a7067b1425af: 32 successful CI checks, 4 conditionally skipped; no pending or failed checks.

Batch integration receipt

This is one of 30 independently branched public-beta PRs. The published synthetic integration head is 61f4c6fccc81bea697f4941683fefb5089ba77f4, built from baseline d49ad4bbc760be319de7f4c9b9a93b1f18fe3922 in this reproducible order:

#4946 → #4948 → #4951 → #4954 → #4972 → #4960 → #4961 → #4957 → #4964 → #4967 → #4968 → #4971 → #4975 → #4976 → #4984 → #4982 → #4990 → #4988 → #4989 → #4997 → #5003 → #5006 → #5007 → #5009 → #5012 → #5011 → #5013 → #5014 → #5020 → #5021

Reconciliation preserved all 146 files owned by a single PR byte-for-byte against their exact candidate heads. The eight shared paths preserve both CLI STT/TTS commands and help, every added Makefile test, both environment schema additions and all Extensions UI behavior. LanguageTool and Kroki both remain headless API entries. Canonical regeneration yields 76 catalog entries and 47 library manifests; all README rows are retained. Shared-file changes need these additive resolutions when merged independently.

Combined validation: 2,852 API tests passed / 1 skipped; 1,082 UI tests passed; 47 manifests passed; all 12 added Makefile commands passed; 12 catalog boundary tests passed / 12 opt-in runtime tests skipped in this combined run. Individual exact-image results remain documented above. UI lint/build, scoped secret hooks, diff checks, four platform smoke tests and installer simulation passed. Compose plans for NVIDIA/AMD/Apple each contain 20 services and no duplicate published bindings across the core plus 12 new recipes; this is static plan evidence, not simultaneous startup or GPU inference.

The first unrestricted UI run timed out in two tests under concurrent load; the complete rerun used --maxWorkers=2 with unchanged assertions and timeouts and passed. ESLint reports zero errors and 603 warnings, including the existing JSX usage-detection pattern. Full local make gate still fails the no-sudo Docker baseline covered by #3158. BATS records 416 passed / 5 failed on this root/WSL host (platform detection, root preflight and a 15 GiB versus 20 GiB free-space expectation). Neither full local gate nor BATS is described as green.

This integration receipt supplements each PR's own regression and does not waive its independent review, live hardware/browser/upgrade gates or rollback requirements. The PRs remain drafts; none was merged upstream.

This was referenced Sep 14, 2026
@Lightheartdevs

Copy link
Copy Markdown
Collaborator

Thanks for this contribution. public-beta was promoted into main on 2026-09-24 and no longer receives changes, so we're closing pull requests that target it. This isn't a judgment on the change itself. If it's still needed, please rebase onto main and open a focused PR. See #7253 for details and the contribution policy.

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