01Software Engineering8 of 44 runs pass

Ash Temporal Resources

Implement bitemporal resources in the Ash framework for Elixir: temporal attributes, instant and portion writes, as-of and relative-time reads, and relationships across time.

Results

Each square represents one run. Score is the percentage of runs that pass: 0, 25, 50, 75, or 100 for four runs.

#ModelRolloutsPass@1ScoreTime
1Claude Sonnet 5.5 max3/475.03.6h
2Claude Opus 5.5 max2/450.03.5h
3GPT-6 Astra xhigh1/425.02.5h
4Kimi K3 max1/425.03.3h
5GPT-6.1 Sol max1/425.03.5h
6GPT-5.6 Sol max0/403.7h
7Gemini 3.8 Flash high0/401.3h
8Qwen3.8 Max xhigh0/403.0h
9GLM 5.3 Flash max0/404.0h
10Muse Spark 1.3 max0/403.7h
11Grok 4.7 xhigh0/401.2h

Background

Ash is a declarative application framework for Elixir. Apps that need history, like a subscription that changes plan on a date or prices valid for a season, today bolt on paper-trail tables or hand-rolled valid_from and valid_to columns and re-implement the same splitting logic in every app. SQL:2011 standardised this as application-time period tables, and the task brings it to Ash as a first-class resource feature, starting from the upstream repository.

Task

The agent adds a temporal section to Ash resources, with the in-memory ETS data layer supporting it. Every row carries a half-open period of business time, one logical record can have many versions whose periods never overlap, reads ask for the version valid at an instant, and updates or deletes for a portion of time rewrite only that part of a record's history, splitting the rows they touch. Relationships declare how their periods line up across time, and every non-temporal resource must behave exactly as before.

Workspace

The offline sandbox (4 CPUs, 8 GB, 4 hours) holds the Ash repository with its full history, Elixir 1.20 on Erlang 29, prebuilt dependencies and build notes.

Verification

The committed HEAD is rebuilt in a clean checkout with the trusted starter tests, dependencies and configuration restored, so edits to existing tests cannot help. The whole starter suite must still pass. Adapted hidden upstream test files, plus a driver that replays secret-seeded histories through the public interface, check point-in-time results against the truth, and every family must meet its pre-registered bar.

Environment

Toolchain
Elixir
Compute
4 CPUs · 8 GB RAM
Network
Offline
Time limit
4 hours
All tasks