mirror of
https://github.com/rookiestar28/ComfyUI-OpenClaw.git
synced 2026-08-14 08:52:45 +00:00
5.0 KiB
5.0 KiB
Release Checklist (DoD)
This document contains the authoritative checklist for releasing ComfyUI-OpenClaw. A release candidate must pass Gate A to be considered for Public Release v1. If the deployment enables remote control or bridge features, it must also pass Gate B.
Important
The validation workflow in
tests/TEST_SOP.mdis mandatory for all releases.
Gate A: Public Release v1 Baseline (Required)
Goal: Safe-by-default for internet-exposed deployments (assuming they follow the deployment recipes in docs/deploy/).
1. Security & configuration
- Admin Boundaries:
- Server-side admin write boundary uses
OPENCLAW_ADMIN_TOKEN(legacyMOLTBOT_ADMIN_TOKEN). - Connector admin command paths use
OPENCLAW_CONNECTOR_ADMIN_TOKEN, and must match server admin token when server admin auth is enabled.
- Server-side admin write boundary uses
- Connector Ingress Defaults: Platform adapters remain disabled unless required token/enable vars are configured (Telegram/Discord/LINE/WhatsApp/WeChat/Kakao/Slack/Feishu).
- Connector Allowlists (Strict Posture): In
publicdeployment orhardenedruntime posture, active connector platforms must have allowlist coverage before startup (fail-closed; public check codeDP-PUBLIC-009). - Connector Replay & Visibility: Duplicate committed connector events are no-ops, retryable pre-commit failures can be retried, and text-only reply suppression does not hide approval/action controls.
- Observability:
/openclaw/logs/tailand/openclaw/configrequireOPENCLAW_OBSERVABILITY_TOKEN(legacy:MOLTBOT_OBSERVABILITY_TOKEN) if accessed remotely, or are loopback-only. - SSRF: LLM
base_urldefaults to known providers. Custom public URLs requireOPENCLAW_ALLOW_ANY_PUBLIC_LLM_HOST=1or explicit allowlist; private/reserved IP targets require the scoped LLM private-network setting or the broaderOPENCLAW_ALLOW_INSECURE_BASE_URL=1override. - Public Boundary Contract (S69): for
OPENCLAW_DEPLOYMENT_PROFILE=public, setOPENCLAW_PUBLIC_SHARED_SURFACE_BOUNDARY_ACK=1only after reverse-proxy path allowlist + network ACL deny ComfyUI-native high-risk routes. - Budgets:
OPENCLAW_MAX_INFLIGHT_SUBMITS_TOTAL(concurrency) andOPENCLAW_MAX_RENDERED_WORKFLOW_BYTES(payloads) are enforced. - Contracts: API endpoints match
docs/release/api_contract.md; Configuration followsdocs/release/config_secrets_contract.md.
2. Documentation & Recipes
- Deployment:
docs/deploy/contains recipes for:- Local-only (Default)
- Tailscale (Recommended Remote)
- LAN (Restricted)
- Security: SECURITY.md is up-to-date and linked from README.
- Feature Flags:
docs/release/feature_flags.mdaccurately reflects the codebase defaults.
3. Validation (Must Pass)
Run the full regression suite:
# 1. Secret Scanning
./.venv/Scripts/python.exe -m pre_commit run detect-secrets --all-files
# 2. Lint & Formatting
./.venv/Scripts/python.exe -m pre_commit run --all-files --show-diff-on-failure
# 3. Backend Unit Coverage Gate
MOLTBOT_STATE_DIR="$(pwd)/moltbot_state/_local_unit" ./.venv/Scripts/python.exe scripts/run_backend_coverage.py --start-dir tests --pattern "test_*.py" --enforce-skip-policy tests/skip_policy.json --coverage-json .tmp/coverage/backend_unit_coverage.json
# 4. Frontend E2E (Unit/Integration)
# Ensure Node 18+
node -v
npm test
Gate B: Bridge / Remote Control Safety (Conditional)
Goal: Safe operation when OPENCLAW_BRIDGE_ENABLED=1 or remote commands are active.
- Explicit Enable: Bridge features are off unless
OPENCLAW_BRIDGE_ENABLED=1is set. - Auth: Bridge endpoints require
OPENCLAW_BRIDGE_DEVICE_TOKEN(legacy alias supported) and device pairing/scope checks. - CSRF: State-changing endpoints (admin/bridge) enforce Origin checks or require Token on loopback.
- Callback Safety: Delivery targets are validated against DNS/IP allowlists (no internal network access).
- DoD: Operator docs include "Red Lines" (never expose Bridge port directly to internet without auth).
Gate C: Supply Chain Provenance (R100)
Goal: Ensure integrity and traceability of release artifacts.
- Provenance Generation: Run
python scripts/generate_provenance.py dist/ dist/provenance.jsonto create manifest and SBOM. - Verification: Run
python scripts/verify_provenance.py dist/ dist/provenance.jsonon staging environment to verify integrity and completeness. - Completeness: Ensure
provenance.jsoncontains SHA256 for all distributed wheels/zips and correct git commit hash.
Release Metadata
- Version:
pyproject.tomlversion matches git tag. - Changelog: Updated
CHANGELOG.md(if present) with user-facing changes. - Migration: If config/storage schema changed, explicit migration notes are in
docs/migration/(Optional).
Sign-off
- Gate A Passed: (Date/Initials)
- Gate B Passed (if applicable): (Date/Initials)