claude-botandClaude Opus 5.5 4706e49fd7 fix(encyclopedia): planning survives model errors, thin articles wait for fold
- A text-model HttpRequestException skips its assign batch (not remembered),
  split or fold article; only embedding/index failures end planning.
- Neighbour timeouts (TaskCanceledException, run not cancelled) count as
  service down.
- Thin articles with a nearby article and no keep at their inputs are not
  written until their fold decision; split children of the run are not
  folded.
- NearestAsync widens its query up to 8x the batch size, then fills from
  the open notes in slug order.
- Deleted articles' slugs (and redirects to them) stay reserved in
  _plan.json "retired"; a note left without articles is unassigned, not
  skipped.
- Fold records whether the folded article was public in both languages
  ("publicRedirects"); repointed redirects keep their flag.
- Assigned counts only notes assigned to an article.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 10:17:38 +01:00

Wiki

Web interface and agent API for the Notes vault (k.renner/notes), running in the homelab cluster. Design: kubernetes/PROPOSAL-wiki-web-api.md in the homelab repository.

Layout

src/Wiki.Core          domain types, ports, vault parsing — references nothing
src/Wiki.Application   use cases (sync, rank, status, …) — depends on Core only
src/Wiki.Adapters.*    one project per external thing, each references Core only
src/Wiki.Host          ASP.NET Core API + MudBlazor UI, composition root
test/Wiki.Contracts    one abstract suite per port; every adapter passes its suite

Adapters are selected in appsettings.json under Wiki:; secrets come from environment variables (Wiki__NoteStore__Gitea__Token, Wiki__Webhook__Secret, Auth__ApiKeys__<name>, Wiki__Judges__Models__<name>__ApiKey, Wiki__AnswerModels__Models__<name>__ApiKey). Each answer-model entry also provides the fact drafter of the same name (/facts).

Humans sign in with OpenID Connect (public client, PKCE): Auth__Oidc__Authority and Auth__Oidc__ClientId are required; the redirect URI is https://<request host>/signin-oidc. Machines send X-Api-Key, or BasicAuth checked against the htpasswd lines in Auth__Basic__UsersPath, a file or a mounted Secret directory (bcrypt, apr1 or SHA1; read API only). Only /health, /ready and the HMAC-signed /webhook answer without either.

Run

dotnet test Wiki.slnx
dotnet run --project src/Wiki.Host

Endpoints: /health (liveness), /ready (readiness), /api/v1/status, POST /rank, POST /webhook, POST /api/v1/ask (rank + judge), POST /api/v1/questions (ask + answer model, save: true writes output/), POST /api/v1/facts (raw source, API key), GET /api/v1/{notes,tags,raw,reports}, POST /api/v1/lab/eval (rank evaluation over labelled output/ questions, API key).

S
Description
No description provided
Readme
1.6 MiB
Languages
C# 92.2%
HTML 6.1%
CSS 1.2%
JavaScript 0.4%
Dockerfile 0.1%