-
Notifications
You must be signed in to change notification settings - Fork 0
What Exedra Withholds
Exedra is a subset, public repository of the Palaestra learning platform.
| 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 |
| 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 |
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.
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.
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 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.
Exedra
Why
How it is built
What you write
Boundaries
For reviewers