v0.3.0 – Core Feature MVP

Released: 2025-07-01
This is the release where the core vision of Masonic Slate came to life. With users and lodges in place, v0.3.0 delivered the "magic" of the application: full event management and the intelligent slating algorithm.
The Event Lifecycle
The heart of the application is the Event model, which now includes not just date and time, but a title, description, and a location that can be customized or defaulted to the lodge's address. We built a full suite of CRUD (Create, Read, Update, Delete) operations for Masonic degrees, managed as "Events" in the API.
We also introduced the concept of the Slate. A Slate is a complex Rust enum that represents the entire set of roles for a given degree, from the officers in the first_section to the lectures and charges in the second_section. This powerful model allows us to represent every part of a degree as a distinct data structure.
The "Secret Sauce": The Intelligent Slating Engine
The flagship feature of this release is the PUT /api/events/:id/slate endpoint. When this route is called, the magic happens:
Analyze the Slate: The system loads the event and its associated slate. It identifies every null (empty) position that needs to be filled.
Gather Members: It fetches all members who are available for the event.
Build Proficiency Matrix: The system then cross-references the list of open positions with the proficiency scores of the available members, building a "cost matrix".
Solve the Modified Assignment Problem: This matrix is passed to our builder::build function. This function uses the Hungarian algorithm at the core, a classic optimization algorithm, to find the lowest-cost assignment of users to positions. In our system, a high proficiency equals a low cost, so the algorithm finds the "most proficient" cast possible.
Save the Slate: The algorithm returns the optimal assignments, and the system saves the populated slate back to the event, filling every chair with a proficient member.
This feature alone elevates Masonic Slate from a simple scheduling tool to an indispensable assistant for the Worshipful Master, ensuring the highest quality of ritual work.

Learn about the v0.1.0 release of Masonic Slate. We built the foundation with a Rust monorepo, Axum, PostgreSQL, and a shared common crate.

Explore v0.2.0. We implemented secure JWT and refresh tokens, password hashing with bcrypt, and the multi-lodge architecture for users.
Comments
No comments yet. Be the first to comment!