Repository navigation
feat(desktop): target agentenv-framework 0.9.1464 - #9302
Merged
Merged
Conversation
# Conflicts: # tests/boundary/mcp/buildCaptureRetryMcp.test.ts
# Conflicts: # src/domain/desktop/appTaskDraftNoise.test.ts
# Conflicts: # src/application/desktop/DesktopApplicationExport.ts # src/application/desktop/DesktopBuildComputers.ts # src/desktop/AgentEnvComputer.ts # src/domain/desktop/stateRoles.ts
# Conflicts: # docs/desktop-application-tasks.md # docs/desktop-build-witness.md # docs/specs/desktop-app-environments/build-witness/spec.md # src/domain/desktop/appTaskDraftNamed.ts # src/domain/desktop/appTaskDraftNoise.ts # src/domain/desktop/appTaskDraftValues.test.ts
# Conflicts: # src/domain/desktop/appTaskDraftNamed.ts # src/domain/desktop/appTaskDraftNoise.ts
# Conflicts: # src/application/Setup.ts # src/composition/capabilityServices.ts # src/doctorRuntime.ts
# Conflicts: # .agents/skills/reverse-engineer-anything/references/desktop-build.md # docs/desktop-application-capture.md # docs/desktop-application-export.md # docs/desktop-application-state.md # docs/desktop-application-tasks.md # docs/desktop-build-computer.md # docs/desktop-build-witness.md # docs/specs/desktop-app-environments/build-witness/spec.md # docs/specs/desktop-app-environments/build-witness/verification.md # src/application/desktop/DesktopApplicationCapture.ts # src/application/desktop/DesktopApplicationExport.test.ts # src/application/desktop/DesktopApplicationExport.ts # src/application/desktop/DesktopBuildBundle.ts # src/application/desktop/DesktopBuildCapture.ts # src/application/desktop/DesktopBuildComputers.ts # src/application/desktop/DesktopBuildOutputRead.test.ts # src/application/desktop/DesktopBuildSummary.ts # src/application/desktop/DesktopBuildWitness.test.ts # src/application/desktop/DesktopExportFiles.ts # src/application/desktop/DesktopExportLaunch.ts # src/application/desktop/DesktopGzipDocument.test.ts # src/application/desktop/DesktopTaskDraft.ts # src/application/desktop/DesktopTaskDraftNotes.test.ts # src/application/desktop/DesktopTaskExport.test.ts # src/composition/capabilityServices.ts # src/contracts/desktopBuildToolContracts.ts # src/desktop/DesktopApplicationSession.test.ts # src/domain/desktop/appExport.test.ts # src/domain/desktop/appExport.ts # src/domain/desktop/appExportPython.ts # src/domain/desktop/appExportUnowned.test.ts # src/domain/desktop/appExportUnowned.ts # src/domain/desktop/appTaskChecks.fixture.ts # src/domain/desktop/appTaskChecks.ts # src/domain/desktop/appTaskDraft.fixture.ts # src/domain/desktop/appTaskDraft.ts # src/domain/desktop/appTaskDraftAdded.test.ts # src/domain/desktop/appTaskDraftAdded.ts # src/domain/desktop/appTaskDraftFileNotes.test.ts # src/domain/desktop/appTaskDraftFileNotes.ts # src/domain/desktop/appTaskDraftGuards.test.ts # src/domain/desktop/appTaskDraftGuards.ts # src/domain/desktop/appTaskDraftLineGuards.ts # src/domain/desktop/appTaskDraftNamed.ts # src/domain/desktop/appTaskDraftNoise.test.ts # src/domain/desktop/appTaskDraftNoise.ts # src/domain/desktop/appTaskDraftNotes.ts # src/domain/desktop/appTaskDraftPositional.test.ts # src/domain/desktop/appTaskDraftScalars.ts # src/domain/desktop/appTaskDraftText.ts # src/domain/desktop/appTaskDraftTextAdded.test.ts # src/domain/desktop/appTaskDraftValues.test.ts # src/domain/desktop/appTaskDraftValues.ts # src/domain/desktop/appTaskPython.ts # src/domain/desktop/attributeRank.ts # src/domain/desktop/desktopCapture.test.ts # src/domain/desktop/desktopCapture.ts # src/domain/desktop/positionalKeys.ts # src/domain/desktop/runtimeFiles.ts # src/domain/desktop/seedDocument.test.ts # src/domain/desktop/seedScrub.ts # src/domain/desktop/selectorCandidates.ts # src/domain/desktop/stateChanges.ts # src/domain/desktop/stateFormats.ts # src/domain/desktop/stateRoles.test.ts # src/domain/desktop/stateRoles.ts # src/domain/desktop/viewPointer.test.ts # src/domain/desktop/viewPointer.ts # tests/boundary/mcp/buildCaptureDraftMcp.test.ts # tests/boundary/mcp/buildCaptureRetryMcp.test.ts # tests/boundary/mcp/buildComputerMcp.test.ts # tests/boundary/providers/desktopExportPython.test.ts # tests/fixtures/buildCaptureFakes.ts # tests/fixtures/buildComputerMcp.ts
# Conflicts: # .agents/skills/reverse-engineer-anything/references/desktop-build.md # docs/desktop-application-export.md # docs/desktop-application-tasks.md # docs/desktop-build-computer.md # src/application/DesktopBuildDoctor.test.ts # src/application/Setup.desktopBuild.test.ts # src/application/Setup.recovery.test.ts # src/application/Setup.ts # src/application/desktop/DesktopApplicationExport.ts # src/application/desktop/DesktopBuildCapture.ts # src/application/desktop/DesktopBuildExport.ts # src/application/desktop/DesktopBuildWitness.ts # src/application/desktop/DesktopExportFiles.ts # src/application/desktop/DesktopExportInstall.ts # src/application/desktop/DesktopTaskExport.test.ts # src/application/desktop/DesktopTaskExport.ts # src/cli/desktopCaptureCommands.ts # src/contracts/desktopBuildToolContracts.ts # src/desktop/DesktopBuildDoctorFacts.test.ts # src/desktop/DesktopBuildSetupHost.test.ts # src/domain/desktop/appBuild.test.ts # src/domain/desktop/appBuild.ts # src/domain/desktop/appExport.ts # src/domain/desktop/appExportInstall.ts # src/domain/desktop/appExportPython.ts # src/domain/desktop/appTask.ts # src/domain/desktop/appTaskChecks.fixture.ts # src/domain/desktop/appTaskDraft.fixture.ts # src/domain/desktop/appTaskDraftJson.test.ts # src/domain/desktop/appTaskDraftLineGuards.test.ts # src/domain/desktop/appTaskDraftLineGuards.ts # src/domain/desktop/appTaskDraftModel.test.ts # src/domain/desktop/appTaskPython.ts # src/domain/desktop/appTaskPythonPointer.ts # tests/boundary/mcp/buildCaptureRetryMcp.test.ts # tests/fixtures/buildCaptureFakes.ts # tests/fixtures/buildComputerMcp.ts
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.
Summary
Desktop bundles now target agentenv-framework 0.9.1464 instead of 0.9.1431. This covers the bundles'
framework_version, setup's--install-agentenvcommand and the doctor's exact-version check. The 0.9.1463 and 0.9.1464 releases fix four problems desktop builds hit:app_data.get(paths, write_namespace)call works again. 0.9.1457 through 0.9.1462 broke it, so REA could not move past 0.9.1456.unverifiedand re-probes once it resolves. On 0.9.1431 it was marked failed for good. feat(desktop): isolate declared secrets during app builds #9225's withheld files are such settings..debs and wheels are mounted into the install step rather than copied into the image. KeePassXC's image shrank from 362.9 MB to 284.2 MB compressed.The web environment lane (
real-agentenv.yml,verify-agentenv-environment.mjs) stays on 0.9.1431; this change is for desktop bundles only.Problem and expected behavior
On 0.9.1431, three things failed:
On 0.9.1464 both deploy, and a solver run scores.
Change and scope
DESKTOP_EXPORT_FRAMEWORK_VERSIONis now0.9.1464. Setup, the doctor and the export read it.agent-envversions and the expected install commands follow.docs/desktop-build-computer.md, the export spec and the export page now name 0.9.1464. Verification records of earlier runs keep the version they ran with.Contract and boundary impact
rea doctor --provider desktop_buildnow expects 0.9.1464, andrea setup --desktop-build --install-agentenvinstalls it. No MCP input changes.framework_version0.9.1464.docs/public/product-catalog.json), package, or installation impact: setup's install command changes version.Expected effects (check known effects; use documentation-only on its own).
Unchecked items do not establish absence; leave uncertainties visible.
Evidence and regression coverage
7a66b2e7a) through REA's MCP tools (start, capture, export, witness on a copy of the bundle,check_build_taskfor every stage):unverified("a setting it boots with didn't resolve here"). Given the setting, the same copy re-probed and was ready in 22 s. On 0.9.1431 the same sequence left it failed..deb, arm64):agent-env run <bundle> --task add-eggs --agent claude-code --model anthropic/claude-sonnet-5-5scored 1.0 in 51 s.key4.dbtripped feat(desktop): isolate declared secrets during app builds #9225's raw-bytes key scan. That is fixed in feat(desktop): isolate declared secrets during app builds #9225, not here.For evidence-bearing changes:
Validation performed
npx oxfmt --check .: passed.Compatibility, safety, and release
rea setup --desktop-build --install-agentenv, oruv tool install agentenv-framework==0.9.1464).Latest review follow-up
Review follow-up adds the export-owned lock exclusion (also pushed to #9132), desktop doctor registration comparison and unchecked-path reporting, and corrected gzip scrub documentation. The inherited oversized test group was split to restore lint. Validation: 110 related source tests, 17 JSON-draft tests, 2 CLI boundary tests, check:fast, format:check and docs:check passed. Windows-specific doctor behavior was not exercised.
Remaining stacked findings
The #9199 client-recorded runner finding is addressed below.
Setup lifecycle follow-up
Packing and the uv installer now use owned process-family supervision; a failed cleanup retains the exact owner and packing workspace for retry. Validation: 25 setup and cleanup source tests, a real process-family timeout boundary test, and check:fast passed; #9199 also passed format:check. The uv test uses a fake executable; real publisher installation and Windows were not exercised.
Resolved-default follow-up
Doctor compares registration choices with resolved terminal defaults, so matching PATH commands and the default archive are not marked unchecked (ab84a3f on #9199; 26232ae on #9302). The 23 doctor source tests, 3 CLI tests and check:fast passed on each branch. The client-only runner finding is addressed below; Windows was not exercised.
Client runner follow-up
Doctor checks each selected client’s recorded runner without returning its path, retains unknown for unresolved values, and reuses a probe when the terminal and registration select the same executable. Related source suites and the four CLI doctor/setup boundary tests passed on both branches, as did check:fast. The runner fixture is simulated; real uv installation and Windows were not exercised.
Maintainer follow-up
Integrated setup ownership and finalization fixes from #9199: the command boundary retains earlier failure/output and caller cancellation, with cleanup retry ownership. The earlier doctor-environment allegation was explicitly withdrawn by its reviewer and needs no separate behavioral change. The framework pin remains unchanged; feature siblings remain separate PRs and current-head CI/review still govern merge readiness. The doctor fixture uses the declared framework pin. Recompressed gzip seed-view repair and the corrected log guide are inherited from their owning parents. Additional checks passed:
npm run docs:check.At head
db04d33313, the affected tests below completed with 98 passed (98);npm run check:fast,npm run format:checkandgit diff --checkpassed. This includes the updated parent stack and main through25d3c7237f. Checks use source/domain and controlled boundary fixtures; no real desktop provider qualification was performed. Current-head CI and review remain required before auto-merge.Author readiness
Human owner: @earakely-scale
Before merge
type(scope): outcome.🤖 Generated with Claude Code