feat: give the turn a clock #917
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!917
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-855-turn-clock"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
One system message, directly under the local policy, states the current moment and its Unix epoch.
The narrow version, as the issue framed it
No new egress and no MCP round trip.
ProxyClient.Nowis the turn's only clock, nil meaning the wall clock, and it is read once per turn rather than once per round, so two tool rounds inside one answer cannot disagree about what time it is.The message states the fact and nothing else. Rendering
<t:EPOCH:STYLE>is whatdiscord-timestampsalready explains, and #851 verified that resource now reaches Echo, so repeating it here would duplicate a live instruction. The issue's own framing: rendering a known epoch and knowing the current epoch are separate capabilities. This supplies the second.Placement
Directly under
prompt.System, above server guidance and grounding. It is a fact about this turn rather than reference material a server published, andgroundingMessagedeliberately labels its contents as data rather than instruction, which is the wrong frame for a clock.Untouched
Timezone conversion for a named city. It needs a tz database rather than a clock, and whether it belongs in Echo at all is a separate decision. Discord still exposes no member timezones, so turning "Saturday 8pm" into an epoch still needs the speaker to say which zone they mean.
Tests
turnclock_test.go: the turn carries a readable time and an epoch in a system message at the expected position, and the clock is read exactly once across a turn that runs a repair round.Seven existing tests index prompt messages by position and shift by one. No assertion changed subject. The rendered-prompt snapshots are unaffected, since this is a per-turn message rather than definition material, and
just prompt-checkpasses.just gatePASS.closes #855