Documentation Index
Fetch the complete documentation index at: https://grantmaster.dev/llms.txt
Use this file to discover all available pages before exploring further.
Canonical Event Contract
| Status | Updated | Covered Files |
|---|---|---|
| 🟢 Stable | 2026-02-27 | src/shared/events/*, src/core/eventBus.ts |
Purpose
This document defines the canonical cross-feature status and event contract used by Grants, Projects, Compliance, Billing, AI Agents, and Extensions.Canonical Status Primitives
The canonical status vocabulary is intentionally fixed and minimal:pendingprogressblockedcompletedfailed
canTransitionCanonicalStatus() in src/shared/events/canonicalStatus.ts.
Canonical Envelope
All canonical events must satisfycanonicalEventEnvelopeSchema in src/shared/events/canonicalEventSchema.ts:
sourceis required from producer helpers (emitCanonicalSystemEvent).correlationIdis required for multi-step workflows and retries.versionin system-event metadata is set to canonical contract version (1.0.0).
Canonical Taxonomy (Epic 1 Scope)
grant.lifecycle.*
grant.lifecycle.added_to_pipelinegrant.lifecycle.stage_changedgrant.lifecycle.application_submittedgrant.lifecycle.wongrant.lifecycle.lostgrant.lifecycle.report_duegrant.lifecycle.report_submittedgrant.lifecycle.disbursement_received
expense.audit.*
expense.audit.submittedexpense.audit.approvedexpense.audit.rejected
agent.run.*
agent.run.startedagent.run.step_completedagent.run.escalation_requiredagent.run.escalation_resolvedagent.run.completedagent.run.failedagent.run.cancelled
Versioning and Compatibility Policy
Canonical version constants are maintained insrc/shared/events/canonicalEventVersion.ts:
- Current:
1.0.0 - Minimum supported:
1.0.0
- Accept only the current major (
1.x.x). - Reject versions lower than minimum supported.
- Reject future major versions (
2.x.x).
- Breaking changes require a major version bump and migration plan.
- Minor additions are backward-compatible and can be introduced in
1.x. - Contract tests must pass for all supported versions before release.
Governance
Contract change checklist:- Update
canonicalEventMap.tsandcanonicalEventSchema.ts. - Add/adjust tests in
canonicalEventSchema.test.ts,canonicalEventVersion.test.ts, and integration flow tests. - Update this document and
event-catalog.mdif taxonomy scope changes. - Announce migration guidance in release notes for any compatibility-impacting change.
Sign-off Record (Epic 1)
| Role | Owner | Status |
|---|---|---|
| Platform Architecture | TBD | Pending |
| Grants Domain Lead | TBD | Pending |
| Compliance Domain Lead | TBD | Pending |
| Billing Domain Lead | TBD | Pending |
| AI/Agents Lead | TBD | Pending |
docs/engineering/architecture/canonical-rollout-status.md.