Install
openclaw skills install @lanyasheng/auto-improvement-gate当执行完变更需要验证是否应保留、候选被标记 pending 需要人工审批、或想查看待审队列时使用。7 层机械门禁: Schema→Compile→Lint→Regression→Review→Doubt→HumanReview,任一 required 层失败即拒绝。不用于打分(用 improvement-discriminator)或执行变更(用 improvement-executor)。
openclaw skills install @lanyasheng/auto-improvement-gate7-layer mechanical quality gate: any required layer fail = reject/revert.
improvement-discriminatorimprovement-executorimprovement-learner| Layer | Gate | Required | Pass Condition |
|---|---|---|---|
| 0 | SchemaGate | Yes | Candidate has id, category, risk_level, execution_plan |
| 1 | CompileGate | Yes | Modified .py files pass py_compile; non-Python files auto-pass |
| 2 | LintGate | No (advisory) | No lines >120 chars, no mixed tabs/spaces in diff |
| 3 | RegressionGate | Yes | Evaluator verdict != "reject" (checks evaluator_evidence) |
| 4 | ReviewGate | Yes | Discriminator recommendation=accept AND panel not DISPUTED AND LLM judge != reject |
| 5 | DoubtGate | Yes | Candidate text has < threshold hedging words (threshold varies by category: docs=2, prompt=4, code=3) |
| 6 | HumanReviewGate | No (advisory) | Flags needs_human=true for medium/high risk or prompt/workflow/tests/code categories |
Gate execution: layers run sequentially. First required-layer failure stops execution and triggers revert (if file was modified) or reject.
python3 scripts/gate.py \
--ranking ranking.json \ # REQUIRED: ranking artifact from discriminator
--execution execution.json \ # REQUIRED: execution artifact from executor
--state-root /path/to/state \ # default: lib/state_machine.DEFAULT_STATE_ROOT
--evaluation eval.json \ # optional: evaluator artifact (forwarded by orchestrator)
--layers schema,compile,review \ # optional: run only these layers (default: all 7)
--output receipt.json # default: auto-generated path
| Param | Default | When to change |
|---|---|---|
--layers | all 7 | Use schema,compile for fast structural checks only |
--evaluation | None | Orchestrator passes this automatically when evaluator ran |
# List pending human reviews
python3 scripts/review.py --state-root /path/to/state --list
# Complete a review
python3 scripts/review.py --state-root /path/to/state \
--complete review-cand-01-docs \
--decision approve \ # approve | reject
--reason "低风险文档变更,LGTM" \
--reviewer engineer-name # default: cli-user
| Condition | Decision | Action |
|---|---|---|
accept_for_execution + low-risk docs/reference/guardrail + success | keep | File stays modified |
recommendation=reject | revert | Restore backup, append to veto log |
recommendation=hold OR non-auto-keep-eligible | pending_promote | Restore backup, create review request |
execution.status=unsupported | reject | No file change, log reason |
如果 HumanReviewGate 标记 needs_human=true,即使 keep eligible 也会升级为 pending_promote。
{"decision": "keep", "reason": "low-risk docs candidate executed successfully",
"gate_layers": {"all_passed": true, "layers_run": 7, "layer_results": [...]},
"rollback": {"attempted": false}, "next_step": "propose_candidates", "next_owner": "proposer"}
rollback_pointer--evaluation provided