Wire layered Python environments into service startup #570

Merged
weichen merged 5 commits from feature/layered-python-env into main 2026-10-15 14:24:56 +00:00
5 Commits
Author SHA1 Message Date
weichenandCursor 9c7fa2730e Keep service start from downloading the Python base layer
ci / svc-realcombo (pull_request) Successful in 2m2s
ci / test (pull_request) Successful in 5m49s
ci / test-pg (pull_request) Successful in 8m54s
Why: env ensure downloads an interpreter and wheels. The real-combination start test allows 120 seconds, and that download made rc1 start time out.
Evidence: CI job 5184 timed out in test_U3_real_agent_identity_lifecycle_sqlite on scripts/svc.sh rc1 start.
Impact: Start only mounts a base layer that already exists. The first build is an explicit env ensure, run outside start.
Refs: Agent-System-Dev pull 570
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 14:14:48 +00:00
weichenandCursor bd18e11836 Allow the exec env package in the architecture baseline
ci / test-pg (pull_request) Failing after 1m26s
ci / svc-realcombo (pull_request) Failing after 4m8s
ci / test (pull_request) Successful in 5m47s
Why: app, server, and tools now call the layered Python environment. The dependency ratchet rejects those edges until they are recorded.
Evidence: CI job 5179 failed test-boundaries on exactly these three edges. scripts/lint-architecture.sh passes locally after the update.
Impact: The allowlist grows by three edges. No other package may import execenv until it is added the same way.
Refs: Agent-System-Dev pull 570
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 14:08:55 +00:00
weichenandCursor f4cba944af Point the backend gitlink at the storage migration fix
ci / test (pull_request) Failing after 3m51s
ci / svc-realcombo (pull_request) Failing after 4m8s
ci / test-pg (pull_request) Failing after 9m43s
Why: The combination build has to include the exec env tables in the SQLite-to-Postgres copy list, or backend CI and the Dev suite both reject the candidate.
Evidence: Backend ab12fea follows the storage-migrate test that CI run 3343 failed.
Impact: Only the backend gitlink moves.
Refs: Agent-System-Backend pull 206
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 14:04:09 +00:00
weichenandCursor f88cc7fb37 Sync layered-env gitlinks with current component mains
ci / test-pg (pull_request) Failing after 1m26s
ci / test (pull_request) Failing after 3m49s
ci / svc-realcombo (pull_request) Failing after 3m57s
Why: Backend, frontend, and documents each gained one commit on main after this branch was cut. The feature commits have to contain those mains so the pull requests can merge.
Evidence: git merge origin/main in each submodule completed with the ort strategy and no conflicts.
Impact: Gitlinks move to the merge commits. The layered environment changes themselves are unchanged.
Refs: .task/feature-layered-python-env.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 14:01:33 +00:00
weichenandCursor 3d6de0c4ac Wire the layered Python environment into service startup
Why: The dependency layer already existed in the backend, but service startup never passed it, so the sandbox could not import the packages the host already had.
Evidence: SELF go tests recorded on the backend commit. svc.sh only exports the env root after env ensure leaves a current base layer, and a failed download does not block startup.
Impact: Instances share runtime/envs. Existing exec= lines are left as stored. Proposal, backend, and frontend gitlinks move to this branch.
Refs: .task/feature-layered-python-env.md
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 13:53:00 +00:00