Repository navigation
Conversation
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
1c0462a to
80d8ada
Compare
80d8ada to
8c6fcbd
Compare
|
Synced onto the latest main (21 commits, incl. #1006–#1008) and folded in the deployment-environment authorization hardening (thank you — the shared The security layer (b2) stacked on top now merges the two policies cleanly: |
…ation Layer (b1) of the authoring platform (iflytek#934), the first half of the split runtime layer: - **Runtime bindings**: agent type + config + tool allowlist per draft, persisted as JSONB and structurally validated at save time, managed via GET/PUT /drafts/{id}/runtime. MCP server declarations are validated structurally (name/transport/endpoint format); the SSRF policy, stdio gate and envRef allowlist that guard them arrive with the MCP+security layer. - **CONFIG and BEHAVIOR validation layers**: validation.yaml spec parsing (defensive YAML), assertion syntax checks; script tasks execute through the local-script adapter — inline (cleared environment, isolated workspace, interpreter allowlist, path confinement) or docker (locked container: no network, dropped capabilities, read-only root, resource caps, tmpfs; workspace permissions and uid:gid mapping so container files stay readable and deletable on hardened hosts). - The orchestrator keeps every piece of the upstream lifecycle hardening: one FutureTask per run, wall-clock watchdog, settle-first cancellation. Verified: spec-parser and assertion-evaluator suites (20), docker isolation against real containers (4, auto-skipped without a daemon), the upstream orchestrator lifecycle suite against the extended constructor (5), and the execution flow integration test (script-only three-layer validation with inline execution). Signed-off-by: zjncs <18910855655@163.com>
8c6fcbd to
4861213
Compare
|
Rebased onto the latest main again (31 commits incl. the Korean web localization and dsh 0.5.0 releases) — head is 4861213, your environment-authorization commit preserved. Focused suites green on the new head (execution flow, environment authorization, docker isolation, lifecycle, migration guardrail — 26 tests). |
Layer (b1) of the authoring platform split (#934), stacking on the merged #935. This is the first half of the split runtime layer — the second half (b2: MCP probing and the security policies, the dedicated security-review surface) stacks on this branch and is linked in #934.
What this layer adds
Runtime bindings
RuntimeBindingper draft: agent type, config, tool allowlist — validated at save time, persisted as JSONB, managed viaGET/PUT /drafts/{id}/runtime. MCP server declarations are validated structurally (name/transport/endpoint format); the SSRF policy, stdio gate and envRef allowlist arrive with (b2).Execution
Verification
ValidationRunOrchestratorTestlifecycle suite passes against the extended constructor: 5 testsAuthoringExecutionFlowIntegrationTest(Testcontainers PostgreSQL): script-only three-layer validation with inline execution — 40 files, +2.9k lines