test(generator): усилены проверки startup-history и Superset

- Зачем:
  - зелёный результат проверок должен означать фактический стык и точный контракт дашборда.
- Что:
  - проверка startup-history читает manifest, требует live seam и непустой ODS.
  - добавлен быстрый runtime gate для daily-wave и live-продолжения.
  - Superset sync ограничен целевым dashboard и сверяет существенные params.
- Проверка:
  - docker target tests; make generator-test; make generated-history-runtime-check.
This commit is contained in:
2026-07-05 21:32:51 +03:00
parent 9804d0beae
commit 00c97eb063
11 changed files with 500 additions and 23 deletions
@@ -619,6 +619,39 @@ def _run_manifest_summary(args: argparse.Namespace) -> int:
return 0
def _print_manifest_summary(manifest: dict) -> None:
totals = manifest["totals"]
print(
"\t".join(
[
str(totals["events"]),
str(totals["visits"]),
str(totals["users"]),
str(totals["min_event_timestamp"]),
str(totals["max_event_timestamp"]),
str(manifest["model_t0"]),
str(manifest["model_t_end"]),
str(manifest.get("launch_profile", "")),
]
)
)
def _run_kafka_manifest_summary(args: argparse.Namespace) -> int:
config = Config()
manifest_manager = KafkaStartupHistoryManifest(config.kafka_bootstrap_servers)
try:
manifest = manifest_manager.load()
finally:
manifest_manager.close()
if not manifest:
raise RuntimeError("startup history manifest not found in Kafka")
_print_manifest_summary(manifest)
return 0
def main(argv: list[str] | None = None) -> int:
parser = argparse.ArgumentParser(description="Startup history artifact tools")
subparsers = parser.add_subparsers(dest="command", required=True)
@@ -635,6 +668,9 @@ def main(argv: list[str] | None = None) -> int:
summary_parser.add_argument("--artifact", required=True)
summary_parser.set_defaults(func=_run_manifest_summary)
kafka_summary_parser = subparsers.add_parser("kafka-manifest-summary")
kafka_summary_parser.set_defaults(func=_run_kafka_manifest_summary)
args = parser.parse_args(argv)
return args.func(args)