From 9aa7459e87e81bee32049f587ea8923cd32d64c9 Mon Sep 17 00:00:00 2001 From: altair823 Date: Sat, 2 May 2026 19:18:32 +0000 Subject: [PATCH] =?UTF-8?q?review(=ED=9A=8C=EC=B0=A81):=20nit=203=EA=B1=B4?= =?UTF-8?q?=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - §10 long-running 절 끝 빈 줄 3 → 1 (다른 절 사이 일관) - wire schema + §2.4a 예제 JSON: kind_result → result (top-level kind 와의 모호성 제거; ingest_report.v1.items[].kind 와 짝) - wire schema 의 ts 필드: format: \"date-time\" 추가 (RFC 3339 자동 검증, wrapper 가 다른 format emit 시 즉시 잡힘) Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/superpowers/specs/2026-04-27-kebab-final-form-design.md | 4 +--- docs/wire-schema/v1/ingest_progress.schema.json | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/superpowers/specs/2026-04-27-kebab-final-form-design.md b/docs/superpowers/specs/2026-04-27-kebab-final-form-design.md index 4fe5225..3d9eeda 100644 --- a/docs/superpowers/specs/2026-04-27-kebab-final-form-design.md +++ b/docs/superpowers/specs/2026-04-27-kebab-final-form-design.md @@ -287,7 +287,7 @@ variant 별 해당 키만 채움. `path` 와 `uri` 는 항상 채움 (`uri` 는 { "schema_version": "ingest_progress.v1", "kind": "asset_started", "ts": "...", "idx": 1, "total": 142, "path": "notes/foo.md", "media": "markdown" } { "schema_version": "ingest_progress.v1", "kind": "embed_batch_started", "ts": "...", "n_chunks": 32 } { "schema_version": "ingest_progress.v1", "kind": "embed_batch_finished", "ts": "...", "n_chunks": 32, "ms": 412 } -{ "schema_version": "ingest_progress.v1", "kind": "asset_finished", "ts": "...", "idx": 1, "total": 142, "kind_result": "new", "chunks": 38 } +{ "schema_version": "ingest_progress.v1", "kind": "asset_finished", "ts": "...", "idx": 1, "total": 142, "result": "new", "chunks": 38 } { "schema_version": "ingest_progress.v1", "kind": "completed", "ts": "...", "counts": { "scanned": 142, "new": 12, "updated": 3, "skipped": 127, "errors": 0, "chunks_indexed": 421, "embeddings_indexed": 421 } } ``` @@ -1329,8 +1329,6 @@ Logging: `tracing` + `tracing-subscriber` + `tracing-appender` daily roll, `~/.l `kebab-core` trait (§7.2) 시그니처는 무영향 — progress / cancel 은 `kebab-app` facade 의 hidden parameter 로 추가 (`ingest_with_config_progress(..., progress: Option>, cancel: Option>)`). - - `kebab doctor` 출력 (사람): ```text diff --git a/docs/wire-schema/v1/ingest_progress.schema.json b/docs/wire-schema/v1/ingest_progress.schema.json index 7198d6f..b81ea78 100644 --- a/docs/wire-schema/v1/ingest_progress.schema.json +++ b/docs/wire-schema/v1/ingest_progress.schema.json @@ -20,13 +20,13 @@ "aborted" ] }, - "ts": { "type": "string", "description": "RFC 3339 timestamp at the moment the event was emitted." }, + "ts": { "type": "string", "format": "date-time", "description": "RFC 3339 timestamp at the moment the event was emitted." }, "root": { "type": "string", "description": "scan_started: workspace root being walked." }, "total": { "type": "integer", "minimum": 0, "description": "scan_completed / asset_started / asset_finished: total assets discovered." }, "idx": { "type": "integer", "minimum": 1, "description": "asset_started / asset_finished: 1-based index of the current asset within the scan." }, "path": { "type": "string", "description": "asset_started: workspace-relative path of the asset being processed." }, "media": { "type": "string", "description": "asset_started: media kind label (e.g. `markdown`, `pdf`, `image`)." }, - "kind_result": { + "result": { "type": "string", "enum": ["new", "updated", "skipped", "error"], "description": "asset_finished: per-asset outcome (mirrors `ingest_report.v1.items[].kind`)."