refactor(api): TOML 配置 SSOT、统一错误契约、Auth/事务加固与可观测性 (#33)

配置 SSOT(TOML + .env)
统一错误契约
Auth 与事务边界
Redis / Celery 可靠性:业务 Redis(DB/0)与 Celery broker/backend(DB/1)显式拆分;连接池、sync client
可观测性(OpenTelemetry + LGTM)
This commit is contained in:
Sully
2026-05-22 13:44:50 +08:00
committed by GitHub
parent f09ae248f9
commit 53e0065e3e
298 changed files with 15247 additions and 4344 deletions

View File

@@ -3,6 +3,7 @@
from __future__ import annotations
import app.core.agent_logging as agent_logging
from app.core.runtime_constants import agent_log_defaults
class _StubLogger:
@@ -27,9 +28,9 @@ def test_log_agent_payload_skips_when_not_verbose(monkeypatch: object) -> None:
def test_log_agent_payload_preview_includes_sha12(monkeypatch: object) -> None:
monkeypatch.setattr("app.core.config.settings.log_level", "DEBUG")
monkeypatch.setattr("app.core.config.settings.agent_log_prompt_mode", "preview")
monkeypatch.setattr("app.core.config.settings.agent_log_prompt_dedup", False)
monkeypatch.setattr("app.core.config.settings.agent_log_max_chars", 100)
monkeypatch.setattr("app.core.runtime_constants.agent_log_defaults.prompt_mode", "preview")
monkeypatch.setattr("app.core.runtime_constants.agent_log_defaults.prompt_dedup", False)
monkeypatch.setattr("app.core.runtime_constants.agent_log_defaults.max_chars", 100)
_clear_dedup()
log = _StubLogger()
agent_logging.log_agent_payload(log, "Unit.prompt", "hello world")
@@ -43,8 +44,8 @@ def test_log_agent_payload_preview_includes_sha12(monkeypatch: object) -> None:
def test_log_agent_payload_hash_only_no_preview(monkeypatch: object) -> None:
monkeypatch.setattr("app.core.config.settings.log_level", "DEBUG")
monkeypatch.setattr("app.core.config.settings.agent_log_prompt_mode", "hash_only")
monkeypatch.setattr("app.core.config.settings.agent_log_prompt_dedup", False)
monkeypatch.setattr("app.core.runtime_constants.agent_log_defaults.prompt_mode", "hash_only")
monkeypatch.setattr("app.core.runtime_constants.agent_log_defaults.prompt_dedup", False)
_clear_dedup()
log = _StubLogger()
body = "x" * 500
@@ -59,9 +60,9 @@ def test_log_agent_payload_hash_only_no_preview(monkeypatch: object) -> None:
def test_log_agent_payload_dedup_second_call_skipped(monkeypatch: object) -> None:
monkeypatch.setattr("app.core.config.settings.log_level", "DEBUG")
monkeypatch.setattr("app.core.config.settings.agent_log_prompt_mode", "preview")
monkeypatch.setattr("app.core.config.settings.agent_log_prompt_dedup", True)
monkeypatch.setattr("app.core.config.settings.agent_log_max_chars", 200)
monkeypatch.setattr("app.core.runtime_constants.agent_log_defaults.prompt_mode", "preview")
monkeypatch.setattr("app.core.runtime_constants.agent_log_defaults.prompt_dedup", True)
monkeypatch.setattr("app.core.runtime_constants.agent_log_defaults.max_chars", 200)
_clear_dedup()
log = _StubLogger()
agent_logging.log_agent_payload(log, "DedupLabel.prompt", "same text")