Skip to content

What Exedra Withholds

Marty McEnroe edited this page Aug 6, 2026 · 4 revisions

What Exedra Withholds

Exedra is a subset, public repository of the Palaestra learning platform.

What is here

Component Why
The engine You cannot verify a scenario without the rules that resolve it
The scoring function and star rules You cannot know what your pack asks of a player without it
The pack JSON Schema It is the normative definition of what you are writing
The acceptance gate You should see the verdict before anyone else does
The exact optimizer Certifying an optimum is most of what the gate does
The compiler It is where the modelling lives, and it is the demonstration of the math
Two packs, First Shift and Curtailment Order Worked examples, on data that is safe to redistribute
A local runner Play and test without infrastructure
Tutorials, prompts, and context files So a contributor, or a contributor's coding agent, can start

What is not here

Withheld Why
The database schema and migrations Episode storage is venue operations, not scenario authorship
The leaderboard and standings Rankings are a property of the venue's population, which does not exist on your machine
An account system The local runner has no players, so nothing in the toolkit needs an identity. The venue's sign-in code is not withheld: it is published for reading in inspect/
Secrets They live in the deployment platform and appear in no file in either repository, which is why the binding configuration can be published
Admin, support triage, and email Operating a public service is a different job from writing a scenario
The remaining scenarios See below
Funnel instrumentation It measures the venue's players, who are not here
Outreach, decks, and papers Project correspondence, unrelated to contribution

Why only two scenarios

First Shift is six coached turns on hand-authored arithmetic. It exists to teach the loop, and its numbers were chosen for clarity rather than realism.

Curtailment Order is sixteen hours compiled from the NREL RTS-GMLC reliability testbed, whose terms permit redistribution with attribution. Its prices are derived rather than observed: a documented curve of load with a scarcity adder above a high percentile of annual peak. Deriving rather than restating is the safest posture available, and it is the posture this repository asks contributors to adopt.

The other scenarios stay at the venue, for two reasons.

Not every substrate permits redistribution of derived series. See the data licensing rules the gate enforces.

And the catalogue is the venue's curriculum. Publishing its solutions here would spend it.

Why the engine cannot be edited here

One copy of the engine governs every scored episode. A second copy that drifted would let a pack pass its gate on your machine and score differently at the venue, silently.

So the shared parts are generated into this repository by an export tool, and a test asserts they are byte-identical to their source. A pull request that edits them is refused on principle rather than on merit, and the right path for an engine improvement is upstream. See Hydration.

Nothing that decides a score is withheld

The engine, the scoring function, the schema, and the gate determine every score, and all four are here. What is withheld is infrastructure and population.

The venue's own code is published too

The sign-in flow, the session cookie, the problem-report endpoint, the connection check, the privacy policy source, and the deployment binding configuration are in inspect/. SECURITY.md summarises them: which hosts the software contacts, what runs in the browser, what is collected, what is refused.

Those are reading copies, not part of the toolkit, which is why they are not in the table above.

Clone this wiki locally