Repository navigation
Keiko 0.3.15 — activity log
·
197 commits
to dev
since this release
Immutable
release. Only release title and notes can be modified.
New
An activity log you can read.
Keiko now writes one structured line per operation to logs/server.log inside its state directory
— active from the moment it starts, no setting to switch on.
{"ts":"…","category":"indexing","op":"indexing.job.started","correlationId":"9c111343-…","extra":{"batchSize":64,"concurrency":4}}
{"ts":"…","category":"embedding","op":"embedding.batch.dispatch","correlationId":"9c111343-…","extra":{"inputCount":36,"bodyBytes":48211,"timeoutMs":30000}}
{"ts":"…","category":"http","op":"http.gateway.fetch.completed","correlationId":"9c111343-…","status":500,"durationMs":19003}
{"ts":"…","category":"embedding","op":"embedding.batch.degrading-to-scalar","correlationId":"9c111343-…","errorKind":"http-error","status":500}
{"ts":"…","category":"indexing","op":"indexing.job.finished","correlationId":"9c111343-…","extra":{"vectorsPersisted":36,"status":"succeeded"}}
- One run, one identifier. Every line of an indexing run carries the same job id, so
acceptance, document discovery, extraction, chunking, embedding requests, retries, fallbacks and
the final outcome are followed with a single search of one file. - In-flight calls are visible. Outbound gateway calls are recorded before they are sent and
again when they answer, with the item count, byte size, configured timeout, elapsed time and HTTP
status. A request that has not returned shows as such, with how long it has been running. - Everything that can fail says so. Retries and their backoff, every rung of a compatibility
fallback, circuit-breaker transitions, egress and TLS failures, store quarantine, and each of the
refusal paths a request can take.
Privacy
The log is content-free by construction, not by convention:
- Counts, sizes, durations, HTTP statuses, error classes, and identifiers reduced to digests.
- Document text, model output, credentials, request bodies, absolute file paths and names you chose
yourself cannot reach it — request paths are recorded as route templates, so
/api/local-knowledge/capsules/{id}/indexrather than the pod name you typed.
The file can be handed to support exactly as it is.
Reading it
grep '<job-id>' <keiko-dir>/.keiko/logs/server.log
The job id is shown in the pod view. Rotation is daily, seven days are kept.
Verbosity is adjustable through KEIKO_LOG_LEVEL (debug, info, warn, error). The default,
info, records the course of every operation without per-item detail.
Operator action
Restart the Keiko process after updating — the running process keeps serving the old code even once
the footer reports 0.3.15. No gateway re-setup and no configuration change are required.
npm install -g @oscharko-dev/keiko@0.3.15