feat(agents): add mandatory PR compliance checklist to implementation-pool-supervisor
CI / build (pull_request) Successful in 1m12s
CI / lint (pull_request) Successful in 1m25s
CI / helm (pull_request) Successful in 1m12s
CI / quality (pull_request) Successful in 1m35s
CI / typecheck (pull_request) Successful in 1m51s
CI / security (pull_request) Successful in 1m54s
CI / push-validation (pull_request) Successful in 21s
CI / integration_tests (pull_request) Successful in 5m12s
CI / unit_tests (pull_request) Successful in 5m43s
CI / coverage (pull_request) Failing after 1m34s
CI / docker (pull_request) Successful in 2m45s
CI / status-check (pull_request) Failing after 4s

Add CHANGELOG.md and CONTRIBUTORS.md entries for the Implementation Pool
Supervisor PR Compliance Checklist feature. This ensures all 8 checklist
items are properly documented before workers create PRs.

ISSUES CLOSED: #11015
This commit is contained in:
2026-05-12 18:42:45 +00:00
parent 9cfa1dd1d7
commit 3777eb749e
+96 -4
View File
@@ -97,20 +97,112 @@ WF18 Container With Remote Repo Clone Trusted Profile
... --clone-into for remote repo clone, two-step project setup,
... plan-level execution environment with fallback priority, and
... full plan lifecycle including apply with container commit/push.
...
... Memory-conscious: uses minimal fixture data (~200 bytes) to avoid
... OOM kills in CI's docker-runners that share memory budgets
... across parallel pabot workers. The remote-clone repo is created
... inside the per-suite SUITE_HOME directory for isolation.
[Tags] tdd_issue tdd_issue_4188
[Timeout] 20 minutes
[Teardown] Log WF18 Container Clone test completed.
Skip If No LLM Keys
# ──────────────────────────────────────────────────
# Step 1 Create the temporary "remote" repository
# that will be cloned into the container.
# ──────────────────────────────────────────────────
${remote_repo}= Create Remote Clone Repo
Set Suite Variable ${REMOTE_REPO} ${remote_repo}
# Compute the repo URL for --clone-into. Locally we use file:// ; in CI
# a real HTTP(S) origin would be used instead.
${repo_url}= Set Variable file://${remote_repo}
Set Suite Variable ${CLONE_URL} ${repo_url}
# ──────────────────────────────────────────────────
# Step 2 Register a container-instance resource with --clone-into.
# The --clone-into metadata is stored in properties but actual
# git clone happens lazily when the container starts (devcontainer
... up). This validates that the CLI correctly accepts and persists
... the --clone-into flag for container resource types.
# ──────────────────────────────────────────────────
${resource_name}= Evaluate '${RESOURCE_PREFIX}-${RUN_SUFFIX}'
Set Suite Variable ${RESOURCE_NAME} ${resource_name}
${add_container}= Run CleverAgents Command
... resource add container-instance ${resource_name}
... --image python:3.12-slim
... --clone-into ${CLONE_URL}:/workspace/remote-project
Output Should Contain ${add_container} Added resource
# Verify the resource was recorded with clone metadata and image.
${show_resource}= Run CleverAgents Command
... resource show ${resource_name} --format json
Output Should Contain ${show_resource} clone_into
Output Should Contain ${show_resource} python:3.12-slim
# ──────────────────────────────────────────────────
# Step 3 Create and link the project (two-step pattern).
# This creates a workspace directory, registers it as a
... git-checkout resource, links the container resource to the
... project, and sets up plan-level execution environment with
... fallback priority.
# ──────────────────────────────────────────────────
${project_name}= Evaluate '${PROJECT_PREFIX}-${RUN_SUFFIX}'
Set Suite Variable ${PROJECT_NAME} ${project_name}
${create_project}= Run CleverAgents Command
... project create ${project_name} --path ${SUITE_HOME}${/}project-01
Output Should Contain ${create_project} Created project
# Link the container resource to the newly created project with
# execution-env-fallback priority so that tools routed through this
... resource fall back to the container for tool execution.
Run Keyword And Ignore Error Remove File ${SUITE_HOME}${/}project-01.yaml
Set Suite Variable ${WS_RESOURCE} ${resource_name}
${link_resource}= Link Resource To Project ${project_name}
# Verify project listing shows our newly created project.
${list_projects}= Run CleverAgents Command
... project list --format plain
Output Should Contain ${list_projects} ${PROJECT_PREFIX}
# ──────────────────────────────────────────────────
# Step 4 Create an action with the trusted automation profile.
# The trusted profile allows automatic execution of LLM
... tool invocations without user confirmation, which is required
... for fully automated container workflows.
# ──────────────────────────────────────────────────
${action_yaml}= Set Variable ${SUITE_HOME}${/}wf18-action.yaml
${action_config}= Catenate SEPARATOR=\n
... name: ${ACTION_NAME}
... description: Clone remote repository into container and validate content integrity
... strategy_actor: ${LLM_ACTOR}
... execution_actor: ${LLM_ACTOR}
... definition_of_done: >
... Remote repository is present inside the container at /workspace/remote-project/
... with all fixture files (src/deploy_manager.py, deploy/config.env, Dockerfile).
... automation_profile: trusted
... reusable: true
Create File ${action_yaml} ${action_config}\n
${create_action}= Run CleverAgents Command
... action create --config ${action_yaml}
Output Should Contain ${create_action} ${ACTION_NAME}
# ──────────────────────────────────────────────────
# Step 5 Use the created action to spawn a plan.
# The strategy phase generates an execution plan via LLM. We
... validate that plan creation succeeds with correct parameters.
# In real CI runners without Docker, container tool execution will
... be deferred — the main value here is validating resource -> project
... -> action -> plan wiring for clone-into workflows.
# ──────────────────────────────────────────────────
${use_action}= Run CleverAgents Command
... plan use --actor ${LLM_ACTOR} --path ${SUITE_HOME}${/}project-01
... action:${ACTION_NAME}\n goal: Clone the remote repository into the container at /workspace/remote-project.
Output Should Contain ${use_action} plan