[EPIC][experts] Canonical user expert library — migrate all expert definitions to .zara/experts #234

Open
opened 2026-09-20 02:59:15 +00:00 by nsaspy · 1 comment
Owner

Operator decision

lost-rob0t/dotfiles/.zara/experts/ is the canonical source for all reusable expert definitions/KBs/rules/corpora/style policies/expert-specific tests across the user's projects.

Runtime infrastructure remains separated:

  • Prolog-RLM: generic expert contracts, registry, symbolic selection, invocation, recursion, engine/runtime integration.
  • Zara / zara-plugins: Zara expert lifecycle, discovery, activation, transport, adapters and UI/plugin integration.
  • Dotfiles: the actual expert brains and their deterministic knowledge builders/tests.

Repository-specific .prolog/kb/ remains local durable project memory. Experts consume it through provenance-preserving adapters instead of copying it.

Pure-symbolic mission dependency queue

Use this producer/consumer order for the current zero-model Zara mission so workers do not duplicate ownership:

  1. dotfiles PR #291 lands the canonical expert source artifacts only after its Nix CI actually builds/tests zara-expert-library and zara-emacs-expert; evaluation-only nix flake check --no-build is not sufficient evidence.
  2. zara-plugins PR #868 removes the duplicate SysadminExpert rule source only after #291 provides the canonical replacement.
  3. zara-plugins PR #869 owns the registered-predicate authority surface plus Lisp-family Zara adapters and consumes dotfiles-owned brains. Do not fork that host surface in sibling adapter work.
  4. zara-plugins PRs #871/#872/#874 provide language-family product adapters; #873 provides shared-budget expert composition. #872/#873 must consume #869 (or an equivalent landed canonical host) rather than reimplement it.
  5. Zara #1251/#1264 + #1252/#1270 + Android zero-model boundary #1269 compose at Zara #1254 for the full Desktop/Android pure-symbolic transcript. Product integration consumes ZARA-EXPERT/1 and the canonical conversation store; it must not create another expert registry, planner, provider runtime, or conversation-history authority.

All pure-symbolic acceptance along this chain keeps providers disabled, max_model_calls=0, exact model/provider usage at zero, cancellation/generation fencing, and canonical capability/effect verification.

Already implemented in PR #291

  • EmacsExpert — real deterministic Emacs self-documentation corpus/compiler/query implementation migrated from zara-plugins#858.
  • GitExpert — symbolic Git effects/preconditions.
  • HomeManagerExpert — adapter over dotfiles durable ownership KB.
  • ZaraExpert — adapter over dotfiles Zara deployment/voice KB.
  • SysadminExpert — symbolic diagnosis rules; duplicate zara-plugins copy is being removed.

Migrate/implement here

From the existing Prolog-RLM expert family:

  • Requirement / SPEC Expert — prolog-rlm#378
  • Planner / Coordinator Expert — #379
  • Project Symbolic Knowledge Expert — #380
  • Retrieval / Evidence Expert — #381
  • Git Expert — #382 (initial dotfiles slice already exists)
  • Write / Edit / Create Expert — #383
  • VERIFY Expert — #384
  • Repair / Diagnosis Expert — #385
  • Review / Critic Expert — #386
  • Language + Style Expert library — #492
  • LispExpert — #494
  • PrologExpert, CommonLispExpert, EmacsLispExpert, PythonExpert, NimExpert, JavaScriptExpert, TypeScriptExpert, JavaExpert, KotlinExpert, BashExpert, NixExpert — existing #492 child family
  • cross-language/project style KB overlays — #504

Layout

Use .zara/experts/<expert>/ for each implementation. Reuse shared deterministic libraries where appropriate, but keep stable expert identity and tests. Style data belongs under the canonical .zara/style/ convention once Zara#1249 freezes the loader; do not invent a competing manifest.

Migration rule

Do not blindly copy old expert code. Inventory current implementations/issues, move the canonical expert-specific rules/KB/generators/tests here, then convert the old repository to a runtime adapter/consumer or close the duplicate implementation work as superseded. Preserve history/provenance and exact source revisions.

Acceptance

  • Every reusable expert definition has one canonical source under .zara/experts/.
  • Prolog-RLM can load/invoke the library without embedding duplicate domain experts.
  • Zara can discover/activate the same experts through ZARA-EXPERT/1 without duplicate KBs.
  • Symbolic experts run with max_model_calls=0.
  • Expert-specific tests live with the expert and are run by dotfiles CI/Nix checks.
  • Repository-local .prolog/kb/ remains separate durable project memory with provenance-preserving adapters.
  • Existing expert issues outside dotfiles explicitly point to this ownership model.
## Operator decision `lost-rob0t/dotfiles/.zara/experts/` is the canonical source for **all reusable expert definitions/KBs/rules/corpora/style policies/expert-specific tests** across the user's projects. Runtime infrastructure remains separated: - Prolog-RLM: generic expert contracts, registry, symbolic selection, invocation, recursion, engine/runtime integration. - Zara / zara-plugins: Zara expert lifecycle, discovery, activation, transport, adapters and UI/plugin integration. - Dotfiles: the actual expert brains and their deterministic knowledge builders/tests. Repository-specific `.prolog/kb/` remains local durable project memory. Experts consume it through provenance-preserving adapters instead of copying it. ## Pure-symbolic mission dependency queue Use this producer/consumer order for the current zero-model Zara mission so workers do not duplicate ownership: 1. **dotfiles PR #291** lands the canonical expert source artifacts only after its Nix CI actually builds/tests `zara-expert-library` and `zara-emacs-expert`; evaluation-only `nix flake check --no-build` is not sufficient evidence. 2. **zara-plugins PR #868** removes the duplicate SysadminExpert rule source only after #291 provides the canonical replacement. 3. **zara-plugins PR #869** owns the registered-predicate authority surface plus Lisp-family Zara adapters and consumes dotfiles-owned brains. Do not fork that host surface in sibling adapter work. 4. **zara-plugins PRs #871/#872/#874** provide language-family product adapters; **#873** provides shared-budget expert composition. #872/#873 must consume #869 (or an equivalent landed canonical host) rather than reimplement it. 5. **Zara #1251/#1264 + #1252/#1270 + Android zero-model boundary #1269** compose at **Zara #1254** for the full Desktop/Android pure-symbolic transcript. Product integration consumes ZARA-EXPERT/1 and the canonical conversation store; it must not create another expert registry, planner, provider runtime, or conversation-history authority. All pure-symbolic acceptance along this chain keeps providers disabled, `max_model_calls=0`, exact model/provider usage at zero, cancellation/generation fencing, and canonical capability/effect verification. ## Already implemented in PR #291 - EmacsExpert — real deterministic Emacs self-documentation corpus/compiler/query implementation migrated from zara-plugins#858. - GitExpert — symbolic Git effects/preconditions. - HomeManagerExpert — adapter over dotfiles durable ownership KB. - ZaraExpert — adapter over dotfiles Zara deployment/voice KB. - SysadminExpert — symbolic diagnosis rules; duplicate zara-plugins copy is being removed. ## Migrate/implement here From the existing Prolog-RLM expert family: - Requirement / SPEC Expert — prolog-rlm#378 - Planner / Coordinator Expert — #379 - Project Symbolic Knowledge Expert — #380 - Retrieval / Evidence Expert — #381 - Git Expert — #382 (initial dotfiles slice already exists) - Write / Edit / Create Expert — #383 - VERIFY Expert — #384 - Repair / Diagnosis Expert — #385 - Review / Critic Expert — #386 - Language + Style Expert library — #492 - LispExpert — #494 - PrologExpert, CommonLispExpert, EmacsLispExpert, PythonExpert, NimExpert, JavaScriptExpert, TypeScriptExpert, JavaExpert, KotlinExpert, BashExpert, NixExpert — existing #492 child family - cross-language/project style KB overlays — #504 ## Layout Use `.zara/experts/<expert>/` for each implementation. Reuse shared deterministic libraries where appropriate, but keep stable expert identity and tests. Style data belongs under the canonical `.zara/style/` convention once Zara#1249 freezes the loader; do not invent a competing manifest. ## Migration rule Do not blindly copy old expert code. Inventory current implementations/issues, move the canonical expert-specific rules/KB/generators/tests here, then convert the old repository to a runtime adapter/consumer or close the duplicate implementation work as superseded. Preserve history/provenance and exact source revisions. ## Acceptance - [ ] Every reusable expert definition has one canonical source under `.zara/experts/`. - [ ] Prolog-RLM can load/invoke the library without embedding duplicate domain experts. - [ ] Zara can discover/activate the same experts through ZARA-EXPERT/1 without duplicate KBs. - [ ] Symbolic experts run with `max_model_calls=0`. - [ ] Expert-specific tests live with the expert and are run by dotfiles CI/Nix checks. - [ ] Repository-local `.prolog/kb/` remains separate durable project memory with provenance-preserving adapters. - [ ] Existing expert issues outside dotfiles explicitly point to this ownership model.
Author
Owner

Mega-Brain dependency update: PR #296 now owns the canonical Dotfiles brain slice for PrologExpert/PythonExpert/NimExpert. It adds .zara/experts/{prolog,python,nim}/ KB/tests, generation-fenced evidence, providers disabled, max_model_calls=0, and wires all three into the real zara-expert-library Nix build. Producer/consumer order is Dotfiles #296 -> zara-plugins #872, while Prolog-RLM #495/#498/#499 remain generic runtime/engine contract consumers and Zara Core #1273 remains the sole ZARA-EXPERT/1 registry/lifecycle/budget authority. Do not duplicate these brains in Prolog-RLM or zara-plugins. Exact current head: 8a09eb3ef8e2abfb3f13f7b5de72021a3e3359cd; exact-head Nix CI run 35500946910 is queued/running and must be green before promotion.

Mega-Brain dependency update: PR #296 now owns the canonical Dotfiles brain slice for PrologExpert/PythonExpert/NimExpert. It adds `.zara/experts/{prolog,python,nim}/` KB/tests, generation-fenced evidence, providers disabled, `max_model_calls=0`, and wires all three into the real `zara-expert-library` Nix build. Producer/consumer order is Dotfiles #296 -> zara-plugins #872, while Prolog-RLM #495/#498/#499 remain generic runtime/engine contract consumers and Zara Core #1273 remains the sole ZARA-EXPERT/1 registry/lifecycle/budget authority. Do not duplicate these brains in Prolog-RLM or zara-plugins. Exact current head: `8a09eb3ef8e2abfb3f13f7b5de72021a3e3359cd`; exact-head Nix CI run 35500946910 is queued/running and must be green before promotion.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/dotfiles#234
No description provided.