Skip to content
View plethu's full-sized avatar
🦭
Thinking about seals
🦭
Thinking about seals
  • Liverpool, UK
  • 08:53 (UTC +01:00)

Highlights

  • Pro

Block or report plethu

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
plethu/README.md

The growing good of the world is partly dependent on unhistoric acts.

— George Eliot, Middlemarch (1872)

I'm Allie (plethu online), and I'm a welsh software dev that wants to build things that help other people out; I'm specifically focused on UI/UX, accessibility, dev tools, and co-operative modes of development and collaboration. Feel free to reach out if you'd like to yap to me about any of those things!

I also really love seals.

‿︵‿︵‿︵‿

Projects

recite is a mini-language, with a compiler, runtime, and toolchain for authoring interactive narratives that scales with ambition. It's an alternative to Yarn Spinner, Ink, and engine-specific dialog (dialogue?) tools with out-of-the-box editor support, adapters for several engines, localisation tooling, compile-time validation, and a whole bunch more. It's my most ambitious project, and it's the tool I've always wished I had when working on dialogue-heavy games with branching choices. (Pre-release.)

gatekeep is a code-driven authorization engine for Rust, since all of the popular crates I could find were mostly built around existing DSLs and policy systems; Gatekeep was built to be able to ingest those in the future, but I just prefer to keep my authz policies in-code so that they're type-checked at compile time. Auth decisions cite decisive clauses and consulted facts for debugging, user-facing explanations, and compliance auditing. Supports graded access, based on composeable policies that support RBAC, ABAC, and ReBAC inputs.

keepsake is a lifecycle model for durable subject relations (holds, mutes, tags, risk flags, sanctions), with idempotent command-based mutations and explicit audit outbox support. It's store-agnostic, currently supporting SQLite, Postgres, and MySQL via sqlx, to be expanded to NoSQL in future. It also (primarily) serves as a reference implementation for this model of potentially policy-held, revokeable entity-related state that I've implemented a few times over my career and always found some part of my implementation I was unhappy with, so I wanted to do it once "the correct way" for future reference.

‿︵‿︵‿︵‿

In progress

weavework is a local-first but git-backed, human-first but agent-native task tracker.

‿︵‿︵‿︵‿

🦭

Popular repositories Loading

  1. recite recite Public

    [wip] Deterministic compiler, runtime, and tooling for authoring interactive narratives.

    Rust 2

  2. keepsake keepsake Public

    Deterministic lifecycle model for auditable relation assignments

    Rust

  3. gatekeep gatekeep Public

    Code-first authorization engine for Rust

    Rust

  4. plethu plethu Public

    Profile README

  5. dovecote dovecote Public

    A transactional outbox for Rust applications

    Rust