Research impact and growth tracking — implements Wilson’s validity criterion: “If research doesn’t change you, you haven’t done it right.” Tracks transformative impact on researchers, communities, and relational networks.
Version: 0.1.0
Package: medicine-wheel-transformation-tracker
Document ID: rispec-transformation-tracker-v1
Last Updated: 2026-03-15
Users create transformation-aware research systems where:
What this enables: A research system that measures success not by publication count or citation index, but by transformation — of the researcher, the community, and the relational web. Wilson’s validity criterion becomes computable.
Structural Tension: Between Western research validity (replicability, generalizability, peer approval) and Indigenous research validity (transformation of researcher, community benefit, relational strengthening, reciprocity balance). The transformation-tracker resolves this by making transformation measurable alongside — not instead of — traditional metrics.
type CeremonyPhaseExtended = 'gathering' | 'kindling' | 'tending' | 'harvesting' | 'resting';
interface TransformationLog {
id: string;
researchCycleId: string;
snapshots: GrowthSnapshot[];
reflections: Reflection[];
communityImpacts: CommunityImpact[];
relationalShifts: RelationalShift[];
reciprocityLedger: ReciprocityEntry[];
sevenGenerationScore: number; // 0–1
overallTransformation: number; // 0–1 composite score
}
interface GrowthSnapshot {
timestamp: string;
direction: DirectionName;
ceremonyPhase: CeremonyPhaseExtended;
understanding: string; // Free-text description
relationsCount: number;
wilsonAlignment: number;
keyInsights: string[];
openQuestions: string[];
}
interface Reflection {
id: string;
timestamp: string;
direction: DirectionName;
prompt: string; // What prompted this reflection
content: string; // The reflection itself
catalysts: string[]; // What caused the reflection
}
interface CommunityImpact {
id: string;
description: string;
community: string;
direction: DirectionName;
benefitType: 'knowledge' | 'healing' | 'capacity' | 'connection' | 'sovereignty';
timestamp: string;
voicedBy?: string; // Who reported this impact
}
interface RelationalShift {
relationId: string;
before: { strength: number; description: string };
after: { strength: number; description: string };
catalyst: string;
direction: DirectionName;
timestamp: string;
}
interface ReciprocityEntry {
type: 'giving' | 'receiving';
description: string;
relatedTo: string;
category: ObligationCategory; // human, land, spirit, future
timestamp: string;
}
interface WilsonValidity {
researcherTransformed: boolean;
communityBenefited: boolean;
relationsStrengthened: boolean;
reciprocityBalanced: boolean;
sevenGenerationsConsidered: boolean;
overallValid: boolean;
score: number; // 0–1
recommendations: string[];
}
researcher.ts)logReflection(log, reflection)
// Records a researcher self-reflection entry
snapshotUnderstanding(log, snapshot)
// Takes a periodic understanding snapshot
compareSnapshots(earlier, later)
// Compares two snapshots, identifies growth dimensions
detectGrowth(log)
// Analyzes snapshot sequence for genuine growth vs. stagnation
community.ts)logCommunityImpact(log, impact)
// Records a community impact
reciprocityBalance(log)
// Computes giving/receiving balance across all categories
communityVoice(log, voicedBy, description)
// Records community-voiced impact (not self-reported)
impactTimeline(log)
// Returns chronological timeline of all impacts
relational-shift.ts)trackRelationalChange(log, shift)
// Records a before/after relational shift
beforeAfter(log, relationId)
// Returns the full shift history for a relation
strengthDelta(log)
// Computes net relational strength change across all tracked relations
newRelationsFormed(log)
// Identifies relations that didn't exist at the start
seven-generations.ts)sevenGenScore(log)
// Computes seven-generation impact score (0–1)
futureImpact(log)
// Assesses impact on future generations based on current trajectory
sustainabilityCheck(log)
// Returns whether the research creates sustainable benefit
reciprocity-ledger.ts)logGiving(log, entry)
// Records a giving action
logReceiving(log, entry)
// Records a receiving action
balanceCheck(log)
// Returns: { giving, receiving, balanced, categories }
reciprocityDebt(log)
// Identifies categories where receiving exceeds giving
reciprocityGrowth(log)
// Tracks how reciprocity balance has changed over time
prompts.ts)reflectionPrompts(phase)
// Returns ceremony-phase-appropriate reflection prompts
phaseTransitionPrompts(fromPhase, toPhase)
// Returns prompts for the transition between phases
milestonePrompts(milestone)
// Returns prompts for specific relational milestones
validity.ts)wilsonValidityCheck(log)
// Returns WilsonValidity — has the research transformed?
// Checks: researcher transformed, community benefited, relations strengthened,
// reciprocity balanced, seven generations considered
medicine-wheel-ontology-core ^0.1.1, medicine-wheel-ceremony-protocol ^0.1.0, zod ^3.23.0DirectionName, ObligationCategory, AccountabilityTracking from ontology-coreThis is Wilson’s validity criterion for Indigenous research: