AltimateAI / AltimateAI/altimate-code

feat: opt-in --legacy-severity flag for one-release grace window on check severity remap

未關閉
#1,124 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
enhancement
主要語言
TypeScript
星號
811
分支
134
平均合併
3 天 2 小時
30 天內合併 PR
50

描述

Deferred from the **v0.9.6 release review** (CTO + Chaos Gremlin, P2).

## Context

v0.9.6 flips `normalizeSeverity` in `check --checks *`:
- Engine `high` → CLI `error` (was `info`)
- Engine `medium` → CLI `warning` (was `info`)

That's a silent behavior change with no rollout lever — every user who upgrades sees their `check --fail-on error|warning` gates behave correctly for the first time, but from their perspective their CI just started failing on unchanged SQL. This is the intended fix (previously the mapping silently downgraded high-risk injections to info, defeating `--fail-on`), but there's zero migration lever.

## What to do

Ship a one-release grace flag so teams with brittle CI gates can opt back into the pre-0.9.6 mapping while they update their pipelines:

- `--legacy-severity` CLI flag (or `ALTIMATE_CHECK_STRICT=0` env var) that restores the pre-0.9.6 `high → info` mapping
- Emit a deprecation warning per-invocation when the flag/env var is set
- Remove in v0.10.0 or v0.9.8 (2-release deprecation cycle)

## Alternative: hard break, no grace

We may prefer the clean hard-break — accept the migration cost, no legacy mode, better long-term posture. In that case, close this issue as **wontfix** with a note explaining the call. Both options are defensible; we deferred the decision from the release itself.

## Priority

P2. Not blocking any customer today (no complaint filed); this is prophylactic based on the release-review CTO/Gremlin lens.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。