fix(automation): enforce durable alert closure
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 2m32s
CD Pipeline / build-and-deploy (push) Successful in 8m2s
CD Pipeline / post-deploy-checks (push) Successful in 2m22s

Restore D037 durable incident readback without weakening database failure semantics.

Fence Agent99 dispatch and terminal learning to canonical identities, durable leases, verifier receipts, and reconciler-owned checkpoints.

Drain backup and restore legacy receipts in bounded cohorts with strict transport, claim, projection, and no-false-green controls.

Keep SSH service refusal visible while separating it from broker network-policy reachability.
This commit is contained in:
ogt
2026-07-14 09:40:53 +08:00
parent 72a167a322
commit 6cf8429d17
56 changed files with 15100 additions and 227 deletions

View File

@@ -976,6 +976,39 @@ class Settings(BaseSettings):
default=3.0,
description="Timeout for fail-open Agent99 SRE alert relay POSTs.",
)
ENABLE_BACKUP_RESTORE_LEGACY_BACKFILL: bool = Field(
default=True,
description=(
"Enable bounded durable BackupCheck replay for legacy backup/restore "
"Telegram receipt cards when a trusted Agent99 relay is configured."
),
)
BACKUP_RESTORE_LEGACY_BACKFILL_STARTUP_SLEEP_SECONDS: float = Field(
default=5.0,
ge=0.0,
le=300.0,
description="Startup delay for the read-only legacy backup-card replay loop.",
)
BACKUP_RESTORE_LEGACY_BACKFILL_INTERVAL_SECONDS: float = Field(
default=15.0,
ge=5.0,
le=3600.0,
description="Interval between bounded legacy backup-card replay batches.",
)
BACKUP_RESTORE_LEGACY_BACKFILL_BATCH_LIMIT: int = Field(
default=20,
ge=1,
le=20,
description="Maximum legacy backup cards reserved and replayed per tick.",
)
BACKUP_RESTORE_LEGACY_BACKFILL_MAX_ROWS: int = Field(
default=100,
ge=1,
le=100,
description=(
"Maximum rows retained in one durable legacy replay snapshot cohort."
),
)
# 2026-04-24 Claude Sonnet 4.6 (ADR-095 WS4): Hermes NL 自然語言閘道
# false=不啟用預設true=啟用 @mention 問答(需 ANTHROPIC_API_KEY
HERMES_NL_ENABLED: bool = Field(