Dogfood gap found: orchestrator running `kei-agent-runtime prepare <task.toml>` hit "task.agent-id is empty" error. Required 3-step flow (ledger fork → edit task.toml → prepare) for every spawn. Fix: auto-generate `ag-<role>-<unix-ms-hex>-<4hex-rand>` if task.agent-id empty. Orchestrator can still pre-allocate for deterministic ids; auto-gen is ergonomic default. DNA compose sees the effective id via clone+inject into TaskSpec before Dna::compose. Helper `autogen_agent_id()` uses SystemTime millis + rand u16 — low collision at orchestrator spawn rate (< 1 spawn/ms). build_ledger_row() split: original preserved as thin wrapper, new build_ledger_row_with_id() accepts explicit id for auto-gen path. Verified end-to-end via `/tmp/keisei-dogfood/test-task.toml`: prepare now emits complete AgentInvocation including composed prompt, DNA, verify command — ready for orchestrator Agent-tool invocation without pre-alloc step. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| tests | ||
| Cargo.toml | ||