Skip to content

feat: consume the noopolis task clock - #45

Merged
apresmoi merged 7 commits into
mainfrom
feat/task-clock
Oct 11, 2026
Merged

apresmoi merged 7 commits into
mainfrom
feat/task-clock

Conversation

@apresmoi

@apresmoi apresmoi commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

Consumes the ecosystem task-clock contract so a training trial can run an agent at a historical instant.

  • NOOPOLIS_TASK_CLOCK={"version":"noopolis.task-clock.v1","origin":ISO,"anchorEpochMs":int}: task now = origin + (realNow - anchor), range 1970-9999; invalid values refuse startup.
  • Real time: Daimon itself and every engine CLI process (codex, grok, agy) and auth/registration probe - no libfaketime preload or FAKETIME, so provider TLS and token expiry keep working (tested).
  • Task time for agent-facing processes only: Pi bash, Daimon-spawned MCP stdio servers and scripted children run under libfaketime (preload forwarded only for a libfaketime library, fractional signed-seconds FAKETIME, monotonic real), gated by a Linux sentinel + offset date probe. Engine tool shells get the same variables through engine-scoped config: Codex shell_environment_policy.set, direct Grok config.toml. Gaps (reported by readiness, wake allowed): brokered Grok (attested immutable config), AGY (no tool-only env setting).
  • In-process Mneme gets an explicit clock by feature-detecting createOffsetClock (feat: injectable clock for stored timestamps and expiry mneme#4, merged, not yet released); clocked memory refuses until a release is pinned.
  • Agent-perceived now: delivery timestamps (envelope, attention prompt, daimon_inbox) are received in real time and projected by the clock offset; only scheduler-owned native occurrences (already task time) are exempt. Prompts stay structurally identical; Moltnet message dates inside tool results stay as stored.
  • Documented residuals: an engine CLI injecting the current date into model context is a leak to be measured in P5; statically linked / Go children ignore libfaketime; Moltnet clock is P5 scope.

Carried items: Pi SDK grep/find helpers inherit the parent environment; schedule state has no clock fingerprint; cron ids for zones with second-level offsets in 1970-72.

@apresmoi
apresmoi marked this pull request as ready for review October 11, 2026 04:34
@apresmoi
apresmoi merged commit 796b414 into main Oct 11, 2026
1 check passed
@apresmoi
apresmoi deleted the feat/task-clock branch October 13, 2026 23:00
apresmoi added a commit that referenced this pull request Oct 13, 2026
feat: consume the noopolis task clock
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant