review(회차1): nit 3건 반영
- §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) <noreply@anthropic.com>
This commit is contained in:
@@ -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<Sender<IngestEvent>>, cancel: Option<Arc<AtomicBool>>)`).
|
||||
|
||||
|
||||
|
||||
`kebab doctor` 출력 (사람):
|
||||
|
||||
```text
|
||||
|
||||
@@ -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`)."
|
||||
|
||||
Reference in New Issue
Block a user