Compile selected plugins into the svc deploy binary #558

Merged
weichen merged 13 commits from feature/svc-plugin-compose into main 2026-10-15 03:58:43 +00:00
Owner

摘要

scripts/svc.sh 部署可以选择把登记表中的插件与基座编译成一个 agent-system 并激活。目录是 plugins/registry.json。非交互默认不选插件;已有 plugins= 时沿用。插件集合变化需要 --allow-source-switch。--from rdm 与 --from release 不与 --with 混用。

任务卡:.task/feature-svc-plugin-compose.md。真实组合构建、桩测试和生命周期缺口都写在卡内,本描述不转抄命令输出。方案仍为待评审。

组件:

  • Backend 8c60ed092bd12ce3f20da0d09d39a67abce47041
  • Documents 2a8deac89d2d03e75b717203665021fb6724f7a2

Review

作者审阅相对 origin/main 的 scripts/svc.sh、登记表、文档和插件测试,以及 backend / documents gitlink。组合构建在激活成功后才把 plugins= 写入状态;回滚不把新插件集标到旧二进制。更新从 source 第一个 + 之前取基座 SHA,并带上已记录的 --with。make test-lifecycle 仍为 NOT_RUN:当前环境没有 AGENT_PG_TEST_DSN 和 SVC_RDM_SRC_DIR,且该套件不覆盖 --with。合入以本 PR 当前 HEAD 的 CI 为准。

## 摘要 `scripts/svc.sh` 部署可以选择把登记表中的插件与基座编译成一个 `agent-system` 并激活。目录是 `plugins/registry.json`。非交互默认不选插件;已有 `plugins=` 时沿用。插件集合变化需要 `--allow-source-switch`。`--from rdm` 与 `--from release` 不与 `--with` 混用。 任务卡:`.task/feature-svc-plugin-compose.md`。真实组合构建、桩测试和生命周期缺口都写在卡内,本描述不转抄命令输出。方案仍为待评审。 组件: - Backend `8c60ed092bd12ce3f20da0d09d39a67abce47041` - Documents `2a8deac89d2d03e75b717203665021fb6724f7a2` ## Review 作者审阅相对 `origin/main` 的 `scripts/svc.sh`、登记表、文档和插件测试,以及 backend / documents gitlink。组合构建在激活成功后才把 `plugins=` 写入状态;回滚不把新插件集标到旧二进制。更新从 `source` 第一个 `+` 之前取基座 SHA,并带上已记录的 `--with`。`make test-lifecycle` 仍为 NOT_RUN:当前环境没有 `AGENT_PG_TEST_DSN` 和 `SVC_RDM_SRC_DIR`,且该套件不覆盖 `--with`。合入以本 PR 当前 HEAD 的 CI 为准。
weichen added 7 commits 2026-10-15 02:06:21 +00:00
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-svc-plugin-compose.md; R0=a9fa63f657e0dad1033576fd6783f63ccfabcc4e.

Impact: task metadata only; the feature workspace starts at a9fa63f657.

Refs: .task/feature-svc-plugin-compose.md
Why: deploy needs to choose registered plugins and ship them inside one agent-system, then refuse the release when they are not active.
Evidence: python3 -m unittest tests.test_svc_plugins tests.test_svc_user_help tests.test_svc tests.test_svc_u2 (SELF, 63 passed, 1 skipped). Real compose build and make test-lifecycle are NOT_RUN.
Impact: --with is mutually exclusive with --from rdm and --from release. Existing non-interactive deploys stay without plugins unless plugins= is already recorded. Changing the plugin id set on a live service requires --allow-source-switch.
Refs: .task/feature-svc-plugin-compose.md modules/documents/docs/proposals/2026-10-14-svc-plugin-compose-deploy.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: the deploy change needs a tool-written SELF record of the tests that actually ran against this HEAD.
Evidence: make evidence of the svc unittest command, exit 0, before=1cf2f533f756464f8d4eb4a648f26069913c2a62.
Impact: task card only. Real compose deployment and make test-lifecycle stay NOT_RUN.
Refs: .task/feature-svc-plugin-compose.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: the --with path had only stub tests, so the closeout needs a SELF record of a real combined binary.
Evidence: bash /tmp/svc-compose-real.sh via make evidence, exit 0, before=516b35cd57848a68ce0614d64936861374023a50. make test-lifecycle stays NOT_RUN because AGENT_PG_TEST_DSN and SVC_RDM_SRC_DIR are unset.
Impact: task card only. Temporary service cmpchk was removed.
Refs: .task/feature-svc-plugin-compose.md
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Backend and Documents were rebased onto their current main, so the Dev links must name those commits before this branch syncs.
Evidence: backend 8c60ed0 includes the host-option hooks and origin/main; documents 2a8deac keeps the proposal pending review.
Impact: gitlinks only. The proposal stays pending review.
Refs: Agent-System-Backend 8c60ed092bd12ce3f20da0d09d39a67abce47041; Agent-System-Documents 2a8deac89d2d03e75b717203665021fb6724f7a2
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.

Evidence: fetched origin/main=cc40e10f3b4b6e41cb3a7aa0826e08dd3b8b7270.

Impact: integrate upstream changes without rewriting task history.

Refs: task-sync
Record the sync checkpoint
ci / test-pg (pull_request) Failing after 1m47s
ci / svc-realcombo (pull_request) Successful in 1m59s
ci / test (pull_request) Successful in 5m22s
2df78ce5c6
Why: bind the task validation checkpoint to the integration baseline.

Evidence: SELF recursive component checks; sync_base=cc40e10f3b4b6e41cb3a7aa0826e08dd3b8b7270; before_record=897cf7dd90865d59889e49fe2aa3083d7bf669e3.

Impact: task metadata only.

Refs: .task/feature-svc-plugin-compose.md
weichen added 1 commit 2026-10-15 02:26:19 +00:00
Activate the multi-instance fixture through the current account contract
ci / test-pg (pull_request) Failing after 1m49s
ci / svc-realcombo (pull_request) Successful in 2m9s
ci / test (pull_request) Failing after 4m47s
7eef72323b
Why: the synced backend rejects password-bearing user create, so the shared-PG acceptance could not open its first account.
Evidence: Backend CI run 3261 succeeded on 8c60ed0; Dev test-pg run 3263 failed in TestTwoInstancesOverSharedPG before this change.
Impact: test setup only. Alice remains a non-admin account and still receives an API key after setting a password.
Refs: Agent-System-Dev pulls/558
Co-authored-by: Cursor <cursoragent@cursor.com>
weichen added 1 commit 2026-10-15 02:33:11 +00:00
Establish system identity before the multi-instance account bootstrap
ci / svc-realcombo (pull_request) Successful in 2m18s
ci / test (pull_request) Successful in 5m51s
ci / test-pg (pull_request) Successful in 8m48s
b97d6cd60b
Why: bootstrap-admin now refuses a database that has no agent_system_identity row, and serve does not insert one.
Evidence: Dev CI run 3266 job 5008 failed with system identity missing on 7eef723.
Impact: test setup only.
Refs: Agent-System-Dev pulls/558
Co-authored-by: Cursor <cursoragent@cursor.com>
weichen added 1 commit 2026-10-15 02:44:15 +00:00
Point the backend gitlink at the host-options commit that contains current main
ci / svc-realcombo (pull_request) Successful in 2m17s
ci / test (pull_request) Failing after 5m30s
ci / test-pg (pull_request) Successful in 10m2s
77aaf5d26d
Why: the backend branch moved forward to include the OOXML gate fix, and this checkout should name that commit.
Evidence: Agent-System-Backend feature/svc-plugin-host-options is bffd37c.
Impact: modules/backend gitlink only.
Refs: Agent-System-Backend bffd37c42f809332499d3227ba1377c8d40c9459
Co-authored-by: Cursor <cursoragent@cursor.com>
weichen added 3 commits 2026-10-15 03:43:39 +00:00
Why: the current heads are not green, so the merge chain stops before any repository is merged.
Evidence: SELF query of the open pull requests and their current-head Actions runs.
Impact: task card only. This commit stays local so the open Dev pull request head does not move.
Refs: Agent-System-Dev pulls/558
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Dev CI must build the backend head that contains current main and the child-event assertion fix.
Evidence: Agent-System-Backend feature/svc-plugin-host-options is 80bb123.
Impact: modules/backend gitlink only.
Refs: Agent-System-Backend 80bb123c874cd9eb0e25f12ccd41e888f727a7e1
Co-authored-by: Cursor <cursoragent@cursor.com>
Merge authoritative main into the task branch
ci / svc-realcombo (pull_request) Successful in 1m47s
ci / test (pull_request) Successful in 5m39s
ci / test-pg (pull_request) Successful in 9m41s
77f7975cac
Why: include the current integration baseline before verification.
Evidence: fetched origin/main. The multi-instance account bootstrap conflict keeps main's identity ensure and activation flow.
Impact: integrate upstream changes without rewriting task history. Backend gitlink stays 80bb123.
Refs: task-sync
Co-authored-by: Cursor <cursoragent@cursor.com>
weichen merged commit 7a0f934085 into main 2026-10-15 03:58:43 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: weichen/Agent-System-Dev#558