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`)."