/** * @fileoverview Heuristic change classifier for skill content diffs * @module @skillsmith/core/versioning/change-classifier * @see SMI-skill-version-tracking Wave 2 * * Compares old and new SKILL.md content to produce a semantic change type: * 'major' — structural regression (headings removed, large risk delta) * 'minor' — new structure added (headings added only, dep added) * 'patch' — body edits with no structural changes * 'unknown' — could not classify * * When the author provides a semver field in SKILL.md frontmatter the * caller should pass that through; this module trusts the semver bump * over heuristics when it is present and parseable. */ export type ChangeType = 'major' | 'minor' | 'patch' | 'unknown'; /** * Classify the change between two versions of a SKILL.md. * * Order of precedence: * 1. Author-provided semver in frontmatter (trusted over heuristics) * 2. Removed headings → 'major' * 3. Risk score delta > 20 → upgrade to 'major' * 4. Removed dependencies → 'major' * 5. Added headings only → 'minor' * 6. Added dependencies → 'minor' * 7. Body edits with no structural changes → 'patch' * 8. No detectable change → 'patch' * 9. Error during classification → 'unknown' * * @param oldContent Previous SKILL.md content * @param newContent Updated SKILL.md content * @param oldRiskScore Risk score of the old version (0–100, optional) * @param newRiskScore Risk score of the new version (0–100, optional) * @returns Semantic change type */ export declare function classifyChange(oldContent: string, newContent: string, oldRiskScore?: number, newRiskScore?: number): ChangeType; //# sourceMappingURL=change-classifier.d.ts.map