@medicine-wheel/github-ceremony
v0.5.8
Published
GitHub-ceremony processing — witness GitHub webhook events (issues, pull requests, merges, commits) through a ceremonial lens and record them as relational ceremony beads. Pure, framework-free functions that take a parsed payload and a @medicine-wheel/sto
Readme
@medicine-wheel/github-ceremony
Witness GitHub webhook events through a ceremonial lens and record them as
relational ceremony beads. This domain came home from Miadi (jgwill/Miadi#506)
as a reusable, framework-free package.
[!WARNING] Experimental alpha. Part of the Medicine Wheel Developer Suite, which is under active development. APIs change between patch versions and all packages move in lockstep — pin exact versions. See ALPHA.md.
build*functions are pure — a parsed payload in, aCeremonyEventRecordout. No storage, no Next.js, no network.process*functions additionally persist through@medicine-wheel/storage-provider, where jsonl and neon are first-class equals.
Each phase bridges onto the Four Directions (reusing ontology-core's
DirectionName) while preserving the original ceremonial phase name.
Usage
import { createProvider } from '@medicine-wheel/storage-provider';
import {
processGitHubEvent,
buildIssueCeremony,
isCeremonialEvent,
} from '@medicine-wheel/github-ceremony';
// Pure — no storage:
const record = buildIssueCeremony({ issue }, 'jgwill/medicine-wheel');
// Persisting:
const store = await createProvider();
const result = await processGitHubEvent(
{ type: 'issues', payload: { action: 'opened', issue } },
'jgwill/medicine-wheel',
store,
);What stays local to Miadi
Consensus building (pull_request_review → agreement tracking) and the
Upstash-Redis ceremonial spiral are entangled with Miadi-specific
infrastructure. processGitHubEvent returns null for review events; the
spiral key is preserved as a deterministic identifier (Ceremony.<kind>.<phase>.<millis>)
without any Redis dependency.
License
MIT — IAIP Collaborative, Shawinigan, QC.
