Skip to content

feat(guardrails): Wave 8 — review fixes + remaining hooks + multi-model delegation #130

@terisuke

Description

@terisuke

Summary

Wave 8 implements the final batch of guardrails hooks, addresses all PR #128 review findings, and adds OpenCode's competitive multi-model delegation enhancement.

Changes

PR #128 Review Fixes (6 items)

  • CRITICAL: active_task_count race condition → Map-based callID tracking
  • HIGH: verify-agent-output parses <task_result> payload instead of raw output length
  • MEDIUM: enforce-soak-time now surfaces user-visible advisory via out.output
  • MEDIUM: enforce-domain-naming now surfaces user-visible advisory via out.output
  • MEDIUM: issue_verification_done only set when reviewed && factchecked
  • Per-provider cost tracking added to session state

New Plugin Hooks (5)

Hook Event Type
verify-state-file-integrity tool.execute.after advisory (auto-repair)
audit-docker-build-args tool.execute.before/after advisory
enforce-review-reading tool.execute.before/after advisory
pr-guard tool.execute.before/after advisory
stop-test-gate tool.execute.before/after advisory

New CI Workflow Hooks (4)

Hook File
enforce-seed-data-verification seed-verify.yml
workflow-sync-guard workflow-sync.yml
inject-claude-review-on-checks pr-management.yml
post-pr-create-review-trigger pr-management.yml

Multi-Model Delegation Enhancement

  • Provider-aware routing: optimal providers per agent tier
  • Per-provider LLM call tracking (llm_calls_by_provider)
  • Cost waste detection: low-tier agent on high-tier model
  • Tier mismatch advisory in compacting context
  • Session provider tracking

Metrics

  • guardrail.ts: 987 → 1184 lines (+197)
  • Hooks coverage: ~75% → ~90-93%

Verification

Closes #124, #125, #126

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions