Creator-owned private-media publication platform
  • C# 59.9%
  • JavaScript 19.9%
  • PowerShell 14%
  • C++ 6.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 6c8f10627b Prune the bulk recovered bodies, keep the proof
recovered/ holds evidence from the 2026-08-30 drive loss, so a blanket delete
would have thrown away provenance. The cut is narrower: the duplicated release
output goes, the proof stays.

Removed recovered/yggdrasil-releases/ (43 files, five releases) and
recovered/yggdrasil-current-link/ (11 files). Those were copies of deployed
static output. Kept both SHA-256 manifests, whose zero-difference comparison is
the actual evidence that the recovery was faithful.

Nothing was rewritten out of history. docs/recovery-evidence.md now records
8b11b78 as the last commit holding the complete tree, with the commands to read
or restore it, so the manifests remain checkable against the bodies they attest
to.

The README described a body that no longer matches reality on two counts: the
Velvet site left with tenants/, and the recovered bodies leave here. Rewritten
to describe what the repository actually contains.

Verified before publication: every asset in the removed tree is already served
publicly from velvet.gamecult.org, so making this repository public exposes
nothing that was not already reachable.

30 focused tests pass.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-05 21:51:22 +02:00
.voidbot Move the repository out of F:\Projects to F:\Erycina 2026-09-05 16:20:46 +02:00
docs Prune the bulk recovered bodies, keep the proof 2026-09-05 21:51:22 +02:00
recovered Prune the bulk recovered bodies, keep the proof 2026-09-05 21:51:22 +02:00
tenants Untrack tenants/ so the platform can be published without its first tenant 2026-09-05 15:36:50 +02:00
tools Reframe Velvet as Erycina and add payment drivers 2026-08-31 00:59:53 +02:00
work Let Terminus speak as itself, and stop the ledger lying across correspondents 2026-09-05 14:58:00 +02:00
.gitignore Untrack tenants/ so the platform can be published without its first tenant 2026-09-05 15:36:50 +02:00
AGENTS.md Add Terminus relationship organ to Erycina 2026-09-05 14:04:28 +02:00
CLAUDE.md Wire AGENTS.md into Claude Code memory 2026-09-03 22:22:44 +02:00
LICENSE Add MIT license and reserve the project name 2026-09-05 15:20:17 +02:00
README.md Prune the bulk recovered bodies, keep the proof 2026-09-05 21:51:22 +02:00

Erycina

Erycina is a creator-owned private-media publication platform. velvet is its first tenant and https://velvet.gamecult.org/ is that tenant's public static projection.

The current body contains the Erycina daemon, a media ingest actuator, a payment-driver boundary, the Terminus relationship organ, and a typed CultMesh/Eve provider projection. Tenant configuration, media, and public projections are runtime data and live outside the tracked tree; see tenants/README.md.

The platform was recovered on 2026-08-30 after a drive loss. The SHA-256 manifests proving that recovery are kept under recovered/; the bulk release bodies were pruned from the working tree and remain in Git history. See docs/recovery-evidence.md.

Authority

  • Erycina owns tenants, offers, orders, processor selection, checkout initiation, provider notification verification, normalized payment facts, media policy, and delivery.
  • Heimdall owns identity, grants, revocation, capability evaluation, and signed entitlement claims.
  • Bifrost is the GameCult patron portal and may consume normalized Erycina payment facts. It is not required by other Erycina creators.
  • Velvet is tenant data and branding. It is not a platform subsystem.
  • Odin discovers typed provider state; Hermodr/Eve lower it. Neither owns Erycina state.

Focused checks

dotnet test work/ErycinaDaemon.Tests/ErycinaDaemon.Tests.csproj
node tools/publish-erycina-provider.mjs print

Run the local daemon with:

dotnet run --project work/ErycinaDaemon --urls http://127.0.0.1:8787

The active Velvet manifest is tenants/velvet/media.manifest.example.json; generated public output is under tenants/velvet/public/. Originals and protected derivatives must never enter that tree.

Payment drivers

The IPaymentDriver adapter scaffold covers CCBill, Segpay, Verotel, and Stripe. CCBill, Segpay, and Verotel accept explicit offers. Stripe rejects them before checkout and exists only for creators selling material permitted by Stripe.

Credentials in work/ErycinaDaemon/appsettings.json are empty placeholders. Production readiness requires immutable order/fact persistence, trusted ingress, merchant onboarding, secret injection, registered notification endpoints, and provider-specific integration tests.

Hosting

The canonical remote is self-hosted Forgejo at git.erycina.org, not GitHub. That is deliberate: a project telling creators to own their infrastructure should not keep its own source on someone else's platform. A read-only GitHub mirror may follow for discoverability; it would not become the canonical copy.

The repository is currently private. Tenant data lives outside it (see tenants/README.md) and the tracked tree carries no credentials, so making it public is a decision rather than a cleanup task.

License and name

The software is MIT licensed. See LICENSE. Fork it, host it, sell hosting for it, and build on it without asking.

The name is not covered by that grant. "Erycina" is reserved for the project and its intended nonprofit steward, Erycina.org. A fork is welcome to exist; it is not welcome to present itself as Erycina. Under a permissive license the name is the only remaining protection creators have against a hostile or careless fork trading on trust they extended to this one.

Copyright is held by "Erycina Contributors" rather than by a company, so that it can pass to Erycina.org once that entity exists without needing reassignment from every contributor.