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
87 lines
2.3 KiB
YAML
87 lines
2.3 KiB
YAML
# Engineering Backlog Policy — DAARION.city
|
|
#
|
|
# Governs auto-generation of platform backlog items from Risk/Pressure digests,
|
|
# workflow transitions, ownership, and storage retention.
|
|
#
|
|
# No LLM. Deterministic generation. Source of truth for engineering priorities.
|
|
|
|
defaults:
|
|
env: "prod"
|
|
retention_days: 180
|
|
max_items_per_run: 50
|
|
|
|
# Dedupe scheme: prevents duplicate creation within the same ISO week
|
|
dedupe:
|
|
scheme: "YYYY-WW" # weekly deduplication window
|
|
key_fields: ["service", "category", "env"]
|
|
key_prefix: "platform_backlog"
|
|
# Final key: platform_backlog:{YYYY-WW}:{env}:{service}:{category}
|
|
|
|
# Per-category defaults
|
|
categories:
|
|
arch_review:
|
|
priority: "P1"
|
|
due_days: 14
|
|
refactor:
|
|
priority: "P1"
|
|
due_days: 21
|
|
slo_hardening:
|
|
priority: "P2"
|
|
due_days: 30
|
|
cleanup_followups:
|
|
priority: "P2"
|
|
due_days: 14
|
|
security:
|
|
priority: "P0"
|
|
due_days: 7
|
|
|
|
# Auto-generation rules (evaluated per-service top-to-bottom; first match wins per category)
|
|
generation:
|
|
weekly_from_pressure_digest: true
|
|
daily_from_risk_digest: false
|
|
rules:
|
|
- name: "arch_review_required"
|
|
when:
|
|
pressure_requires_arch_review: true
|
|
create:
|
|
category: "arch_review"
|
|
title_template: "[ARCH] Review required: {service}"
|
|
|
|
- name: "high_pressure_refactor"
|
|
when:
|
|
pressure_band_in: ["high", "critical"]
|
|
risk_band_in: ["high", "critical"]
|
|
create:
|
|
category: "refactor"
|
|
title_template: "[REF] Reduce pressure & risk: {service}"
|
|
|
|
- name: "slo_violations"
|
|
when:
|
|
risk_has_slo_violations: true
|
|
create:
|
|
category: "slo_hardening"
|
|
title_template: "[SLO] Fix violations: {service}"
|
|
|
|
- name: "followup_backlog"
|
|
when:
|
|
followups_overdue_gt: 0
|
|
create:
|
|
category: "cleanup_followups"
|
|
title_template: "[OPS] Close overdue followups: {service}"
|
|
|
|
# Owner assignments (default + service-level overrides)
|
|
ownership:
|
|
default_owner: "oncall"
|
|
overrides:
|
|
gateway: "cto"
|
|
|
|
# Workflow state machine
|
|
workflow:
|
|
statuses: ["open", "in_progress", "blocked", "done", "canceled"]
|
|
allowed_transitions:
|
|
open: ["in_progress", "blocked", "canceled"]
|
|
in_progress: ["blocked", "done", "canceled"]
|
|
blocked: ["open", "in_progress", "canceled"]
|
|
done: []
|
|
canceled: []
|