From e6afa4139759838e6736eb0fa1d91990eebf5f4f Mon Sep 17 00:00:00 2001 From: hyeokjun32 Date: Wed, 17 Jun 2026 20:10:12 +0900 Subject: [PATCH] Improve telemetry sample review path --- CHANGELOG.ko.md | 2 ++ CHANGELOG.md | 2 ++ docs/validation_evidence.ko.md | 2 ++ docs/validation_evidence.md | 2 ++ examples/telemetry/README.ko.md | 9 +++++++++ examples/telemetry/README.md | 9 +++++++++ tests/test_docs_links.py | 20 ++++++++++++++++++++ 7 files changed, 46 insertions(+) diff --git a/CHANGELOG.ko.md b/CHANGELOG.ko.md index 854d084..54f7ad7 100644 --- a/CHANGELOG.ko.md +++ b/CHANGELOG.ko.md @@ -26,6 +26,8 @@ Language: [English](CHANGELOG.md) | 한국어 device-specific backend path가 default CI smoke에 들어가지 않도록 검증한다. - README와 portfolio evidence 문구를 갱신해 30초 진입 경로에서 새 package/CLI smoke가 보이도록 하되, 핵심 positioning은 바꾸지 않았다. +- curated telemetry sample index에 reviewer quick path를 추가하고, + scheduler-delay / remote-fallback sample을 validation evidence map에서 연결했다. - validation evidence index를 갱신해 CI evidence가 package install과 설치된 CLI smoke coverage를 포함하도록 했다. - remote dispatch starter result에 compact `remote_runtime_event_summary`를 diff --git a/CHANGELOG.md b/CHANGELOG.md index 25d7bfc..10f27d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,8 @@ helps reviewers understand the project state. commands and keeps device-specific backend paths out of the default CI smoke. - Refreshed README and portfolio evidence wording so the 30-second entry path reflects the new package/CLI smoke without changing the core positioning. +- Added a reviewer quick path to the curated telemetry sample index and linked + scheduler-delay and remote-fallback samples from the validation evidence map. - Updated the validation evidence index so CI evidence includes package install and installed CLI smoke coverage. - Added a compact `remote_runtime_event_summary` to the remote dispatch starter diff --git a/docs/validation_evidence.ko.md b/docs/validation_evidence.ko.md index 1c5c30b..954eb1f 100644 --- a/docs/validation_evidence.ko.md +++ b/docs/validation_evidence.ko.md @@ -354,6 +354,8 @@ InferEdgeOrchestrator = runtime operation control layer | File | Evidence path | Main signals | | --- | --- | --- | | [`examples/telemetry/phase3_overload_sample.json`](../examples/telemetry/phase3_overload_sample.json) | synthetic overload comparison | protected task, baseline p95, scheduled p95, low-priority drops, overload events | +| [`examples/telemetry/agent_scheduler_delay_sample.json`](../examples/telemetry/agent_scheduler_delay_sample.json) | 3-agent sustained high-load scheduler delay | scheduler delay count, queue wait, policy/drop reason count, downstream AIGuard/Lab signal name | +| [`examples/telemetry/remote_fallback_recovery_sample.json`](../examples/telemetry/remote_fallback_recovery_sample.json) | Remote dispatch starter fallback recovery | primary starter failure, bounded fallback recovery, compact remote runtime event summary, production-boundary marker | | [`examples/telemetry/jetson_smoke_dummy_sample.json`](../examples/telemetry/jetson_smoke_dummy_sample.json) | Jetson dummy smoke | executed/dropped counts, drop events, schedule decisions, result events, resource snapshots | | [`examples/telemetry/jetson_onnx_smoke_sample.json`](../examples/telemetry/jetson_onnx_smoke_sample.json) | Jetson ONNX Runtime smoke | ONNX worker output metadata, output shapes, result events, resource snapshots | | [`examples/telemetry/jetson_tensorrt_contention_sample.json`](../examples/telemetry/jetson_tensorrt_contention_sample.json) | Jetson TensorRT contention smoke | protected high-priority task, low-priority shedding, overload events, TensorRT backend metadata | diff --git a/docs/validation_evidence.md b/docs/validation_evidence.md index c868460..7977056 100644 --- a/docs/validation_evidence.md +++ b/docs/validation_evidence.md @@ -353,6 +353,8 @@ InferEdgeOrchestrator = runtime operation control layer | File | Evidence path | Main signals | | --- | --- | --- | | [`examples/telemetry/phase3_overload_sample.json`](../examples/telemetry/phase3_overload_sample.json) | Synthetic overload comparison | protected task, baseline p95, scheduled p95, low-priority drops, overload events | +| [`examples/telemetry/agent_scheduler_delay_sample.json`](../examples/telemetry/agent_scheduler_delay_sample.json) | 3-agent sustained high-load scheduler delay | scheduler delay count, queue wait, policy/drop reason counts, downstream AIGuard/Lab signal names | +| [`examples/telemetry/remote_fallback_recovery_sample.json`](../examples/telemetry/remote_fallback_recovery_sample.json) | Remote dispatch starter fallback recovery | primary starter failure, bounded fallback recovery, compact remote runtime event summary, production-boundary marker | | [`examples/telemetry/jetson_smoke_dummy_sample.json`](../examples/telemetry/jetson_smoke_dummy_sample.json) | Jetson dummy smoke | executed/dropped counts, drop events, schedule decisions, result events, resource snapshots | | [`examples/telemetry/jetson_onnx_smoke_sample.json`](../examples/telemetry/jetson_onnx_smoke_sample.json) | Jetson ONNX Runtime smoke | ONNX worker output metadata, output shapes, result events, resource snapshots | | [`examples/telemetry/jetson_tensorrt_contention_sample.json`](../examples/telemetry/jetson_tensorrt_contention_sample.json) | Jetson TensorRT contention smoke | protected high-priority task, low-priority shedding, overload events, TensorRT backend metadata | diff --git a/examples/telemetry/README.ko.md b/examples/telemetry/README.ko.md index e10b3c8..24e44ae 100644 --- a/examples/telemetry/README.ko.md +++ b/examples/telemetry/README.ko.md @@ -10,6 +10,15 @@ portfolio evidence를 확인할 수 있도록 제공한다. `reports/` 아래에서 ignore하고, 이 sample들은 `examples/telemetry/` 아래에 두는 문서용 artifact다. +## Reviewer Quick Path + +| Question | Start with | Why | +| --- | --- | --- | +| scheduler가 overload에서 high-priority work를 보호하는가? | `phase3_overload_sample.json` | baseline vs scheduled p95 latency와 low-priority drop을 보여준다. | +| 3-agent sustained path가 downstream review용 scheduler-delay evidence를 기록하는가? | `agent_scheduler_delay_sample.json` | 지연된 execution, policy/drop reason count, AIGuard/Lab signal name을 보여준다. | +| remote dispatch starter evidence가 production retry control을 주장하지 않고 bounded fallback recovery를 보여주는가? | `remote_fallback_recovery_sample.json` | primary failure, fallback recovery, compact runtime event summary, starter boundary field를 보여준다. | +| 어떤 sample이 local CI가 아니라 기존 Jetson evidence를 전제로 하는가? | `jetson_*_sample.json` files | portable CI output이 아니라 curated physical-device 또는 TensorRT-backed evidence snapshot이다. | + ## Samples | File | What it shows | diff --git a/examples/telemetry/README.md b/examples/telemetry/README.md index 13c769e..60640c9 100644 --- a/examples/telemetry/README.md +++ b/examples/telemetry/README.md @@ -10,6 +10,15 @@ They are not benchmark artifacts. Raw runtime reports remain ignored under `reports/`, while these samples are curated documentation artifacts under `examples/telemetry/`. +## Reviewer Quick Path + +| Question | Start with | Why | +| --- | --- | --- | +| Does the scheduler protect high-priority work under overload? | `phase3_overload_sample.json` | Shows baseline vs scheduled p95 latency and low-priority drops. | +| Did the 3-agent sustained path record scheduler-delay evidence for downstream review? | `agent_scheduler_delay_sample.json` | Shows delayed execution, policy/drop reason counts, and AIGuard/Lab signal names. | +| Does remote dispatch starter evidence show bounded fallback recovery without claiming production retry control? | `remote_fallback_recovery_sample.json` | Shows primary failure, fallback recovery, compact runtime event summary, and starter boundary fields. | +| Which samples require prior Jetson evidence rather than local CI? | `jetson_*_sample.json` files | They are curated physical-device or TensorRT-backed evidence snapshots, not portable CI outputs. | + ## Samples | File | What it shows | diff --git a/tests/test_docs_links.py b/tests/test_docs_links.py index 95af3cf..18bcd66 100644 --- a/tests/test_docs_links.py +++ b/tests/test_docs_links.py @@ -16,7 +16,9 @@ "mailto:", ) EXPECTED_SAMPLE_ARTIFACTS = { + Path("examples/telemetry/agent_scheduler_delay_sample.json"), Path("examples/telemetry/phase3_overload_sample.json"), + Path("examples/telemetry/remote_fallback_recovery_sample.json"), Path("examples/telemetry/jetson_smoke_dummy_sample.json"), Path("examples/telemetry/jetson_onnx_smoke_sample.json"), Path("examples/telemetry/jetson_tensorrt_contention_sample.json"), @@ -201,3 +203,21 @@ def test_validation_evidence_docs_scope_ci_smoke_as_portable() -> None: assert "TensorRT engine execution" in text assert "ONNX Runtime optional-backend validation" in text assert "device SSH" in text + + +def test_telemetry_sample_readmes_offer_reviewer_quick_path() -> None: + readme = Path("examples/telemetry/README.md").read_text(encoding="utf-8") + readme_ko = Path("examples/telemetry/README.ko.md").read_text( + encoding="utf-8" + ) + + for text in (readme, readme_ko): + assert "## Reviewer Quick Path" in text + assert "phase3_overload_sample.json" in text + assert "agent_scheduler_delay_sample.json" in text + assert "remote_fallback_recovery_sample.json" in text + assert "jetson_*_sample.json" in text + assert "high-priority" in text + assert "scheduler-delay evidence" in text + assert "bounded fallback recovery" in text + assert "portable CI" in text