Skip to content

Keiko 0.3.15 — activity log

Choose a tag to compare

@oscharko oscharko released this 21 Aug 13:24
· 197 commits to dev since this release
Immutable release. Only release title and notes can be modified.
7e00d86

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}/index rather 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