1.7 KiB
1.7 KiB
ADR 0156: Persona-visible time and safe tool-budget completion
Status
Accepted
Context
HoloLake exposes one magic_brush capability to a language persona. The persona
temporarily composes vault-safe operations and receives their exact results.
Two runtime gaps violated that model:
- A persona had no authoritative current-time receipt, so dated notes could use a year inferred from model context.
- The direct-model loop returned an application error after eight tool rounds, even when the eighth operation had completed successfully. The user lost the final explanation and experienced the tool flow as a crash.
Decision
- Add
get_current_timeas an operation available only throughmagic_brush. It reads the OS clock and returns both UTC andAsia/Shanghai(+08:00) RFC 3339 timestamps plus the Unix timestamp. - Require the persona to obtain this receipt before writing or interpreting a current date or timestamp.
- Keep the eight-round guard against runaway model loops.
- After the last allowed tool round, preserve its exact success or failure receipt, remove tool definitions from one final model request, and require a concise answer based only on recorded receipts.
- Emit a visible thinking event when the runtime enters this safe completion path.
Consequences
- Current dates come from a system fact instead of model memory.
- Reaching the tool limit remains bounded but no longer discards completed work behind a generic crash.
- The final response must identify unfinished work and cannot initiate another operation.
- This is the first slice of the persona-visible runtime board. Persistent context-budget and persona-authored memory checkpoints remain separate work.