Files
microdao-daarion/docs/release/release_gate_policy.md
Apple 67225a39fa docs(platform): add policy configs, runbooks, ops scripts and platform documentation
Config policies (16 files): alert_routing, architecture_pressure, backlog,
cost_weights, data_governance, incident_escalation, incident_intelligence,
network_allowlist, nodes_registry, observability_sources, rbac_tools_matrix,
release_gate, risk_attribution, risk_policy, slo_policy, tool_limits, tools_rollout

Ops (22 files): Caddyfile, calendar compose, grafana voice dashboard,
deployments/incidents logs, runbooks for alerts/audit/backlog/incidents/sofiia/voice,
cron jobs, scripts (alert_triage, audit_cleanup, migrate_*, governance, schedule),
task_registry, voice alerts/ha/latency/policy

Docs (30+ files): HUMANIZED_STEPAN v2.7-v3 changelogs and runbooks,
NODA1/NODA2 status and setup, audit index and traces, backlog, incident,
supervisor, tools, voice, opencode, release, risk, aistalk, spacebot

Made-with: Cursor
2026-03-03 07:14:53 -08:00

2.3 KiB
Raw Permalink Blame History

Release Gate Policy

config/release_gate_policy.yml — централізований конфіг строгості gate-ів для різних профілів деплойменту.

Профілі

Профіль Призначення privacy_watch cost_watch
dev Розробка warn warn
staging Стейджинг strict (fail_on error) warn
prod Продакшн strict (fail_on error) warn

Режими gate-ів

Режим Поведінка
off Gate повністю пропускається (не викликається, не виводиться)
warn Gate завжди pass=True; findings → recommendations
strict Gate може заблокувати реліз за умовами fail_on

Використання

Передати gate_profile у inputs release_check:

{
  "gate_profile": "staging",
  "run_privacy_watch": true,
  "diff_text": "..."
}

strict mode: privacy_watch

Блокує реліз якщо є findings із severity у fail_on:

privacy_watch:
  mode: "strict"
  fail_on: ["error"]   # тільки error-severity блокує; warning = recommendation

Наприклад, DG-SEC-001 (private key) = error → release_check.pass = false.
DG-LOG-001 (sensitive logger) = warning → не блокує у staging/prod.

cost_watch

Завжди warn у всіх профілях — cost spikes ніколи не блокують реліз (тільки recommendations).

Backward compatibility

Якщо gate_profile не переданий → використовується dev (warn для privacy і cost).
Якщо release_gate_policy.yml відсутній → всі gates використовують warn (graceful fallback).

Приклад виводу для staging з error finding

{
  "pass": false,
  "gates": [
    { "name": "privacy_watch", "status": "pass", "errors": 1,
      "top_findings": [{"id": "DG-SEC-001", "severity": "error", ...}],
      "recommendations": ["Remove private key from code..."] }
  ],
  "summary": "❌ RELEASE CHECK FAILED. Failed: []. Errors: [].",
  "recommendations": ["Remove private key from code..."]
}