ADR · ADR-0004 · v1.0.0
Task Engine Distribution Kit (TEK)
accepted v1.0.0
Authors: david.sorf, claude-sonnet-4-6
Created: 2026-04-10
Updated: 2026-04-10
tek task-engine distribution multi-repo ep21
EP21 distribuuje sdílený task engine (tasks.py, task_worker.py, task_planner.py) ze zdrojového repozitáře podpora21 do všech downstream projektů přes script-driven managed-copy kit s audit logem a per-target sync policy.
Table of Contents
Kontext Rozhodnutí Shared vs preserved assets Důsledky Changelog
Kontext
EP21 provozuje 9 repozitářů, které potřebují stejný task-engine runtime:
wbh-app-podpora21 — canonical source of truth (ADR-0005)
wbh-smlouva21, wbh-kouc21-web, wbh-naklad21-web, wbh-ukol21-web, wbh-kontakt-cli, wbh-investuj21-app, www-ep21-cz, ai21-router-cli — TEK consumers
Sdílený engine: scripts/tasks.py, scripts/task_worker.py, scripts/task_planner.py, scripts/task_engine_conf.json
Data zůstávají project-local: .agents/registry.json, .agents/*.json, meta/tasks/
Uvažované varianty:
A) Pure copy/push script — jednoduchý, explicitní, bez target registry
B) Symlink/shared package — jediná fyzická kopie, okamžité updaty, ale křehké
C) Template/scaffold/sync — init + lifecycle, ale stále potřebuje explicitní transport
Rozhodnutí
✓ Chosen: Hybrid A+C — script-driven managed-copy distribution kit
Varianta B (symlink) zamítnuta: křehká přes nezávislé repozitáře, skryté coupling, slabší auditability.
Hybrid A+C zvolen protože:
1. Explicitní push/copy je audit-friendly a repo-local
2. Target registry (targets.json) přidává drift-visibility a per-target sync policy
3. Dry-run preview umožňuje operátorovi zkontrolovat změny před aplikací
4. ENGINE_VERSION v tasks.py je autoritativní baseline
Distribuce kit obsahuje:
meta/task-engine-kit/targets.json — seznam targetů a sync policy
scripts/tek_sync.py — CLI: status, sync, sync-all, audit
meta/task-engine-kit/audit-log.ndjson — append-only audit log
Shared vs preserved assets
Vždy spravováno kitem (přepisováno při sync):
scripts/tasks.py
scripts/task_worker.py
scripts/task_planner.py
Spravováno jako default config, ale target-policy controlled:
scripts/task_engine_conf.json
Nikdy nepřepisováno kitem:
.agents/registry.json
.agents/*.json
.agents/.active
meta/tasks/**
Důsledky
Pozitivní:
Sdílený engine zůstává ukotvený v jednom source repo
Target repos si drží lokální autonomii pro .agents/ a task data
Operátor vidí drift před pushnutím změn
Updaty jsou reprodukovatelné a auditovatelné
Negativní / rizika:
Source a target repos jsou stále nezávislé kopie, ne jeden runtime package
Orchestrátor musí znát lokální repo paths
Target repo commits jsou volitelné a mohou selhat nezávisle na file copy
Follow-up:
Bridge deployment pattern: každý downstream repo dostane .agents/bridge.json + Makefile TEK targety
Changelog
Version Date Author Note
1.0.0 2026-04-10 david.sorf Migrováno z docs/adr/ADR-009-Task-Engine-Distribution-Kit.md (původní datum: 2026-04-03). Canonical source boundary upřesněno ADR-0005.
podpora21-cz v0.1.0 · Generated by DAK v1.3.0 · 2026-04-10 16:27 · ← All documents