VIOLET V1b: violet CH sinks + journal routing + namespace-isolation gate

ch_writer: _writer_violet (db=dolphin_violet) + ch_put_violet, the existing
per-strategy singleton pattern. bingx/journal: explicit violet entries in
_STRATEGY_DB_MAP/_SINK_MAP/_SINK_NAME_MAP — closes the hazard where the
unknown-strategy fallback routes venue journals into BLUE's dolphin DB
(regression-pinned in the new test, which documents the footgun for any
future strategy color). test_violet_namespace_isolation: violet sink
targets dolphin_violet exclusively; journal resolves violet explicitly;
Zinc region names for prefix violet disjoint from pink; persistence wired
with the violet sink routes only to dolphin_violet; HZ map-name contract
pinned for the C4 launcher. Shared-lib regression: 57/57 across PINK
kernel/runtime + BLUE tp_floor/malformed-open + bingx http safety.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Codex
2026-06-12 15:51:19 +02:00
parent 99e529c32a
commit d639a69307
3 changed files with 138 additions and 0 deletions

View File

@@ -12,6 +12,7 @@ from typing import Any
from prod.ch_writer import ch_put
from prod.ch_writer import ch_put_green
from prod.ch_writer import ch_put_prodgreen
from prod.ch_writer import ch_put_violet
from prod.ch_writer import ch_put_pink
# ─── Account event rate control (§10.2) ──────────────────────────────────────
@@ -175,6 +176,7 @@ _STRATEGY_DB_MAP: dict[str, str] = {
"green": "dolphin_green",
"prodgreen": "dolphin_prodgreen",
"pink": "dolphin_pink",
"violet": "dolphin_violet",
}
_STRATEGY_SINK_MAP: dict[str, Any] = {
@@ -182,6 +184,7 @@ _STRATEGY_SINK_MAP: dict[str, Any] = {
"green": ch_put_green,
"prodgreen": ch_put_prodgreen,
"pink": ch_put_pink,
"violet": ch_put_violet,
}
_STRATEGY_SINK_NAME_MAP: dict[str, str] = {
@@ -189,6 +192,7 @@ _STRATEGY_SINK_NAME_MAP: dict[str, str] = {
"green": "ch_put_green",
"prodgreen": "ch_put_prodgreen",
"pink": "ch_put_pink",
"violet": "ch_put_violet",
}