;; youth-mentor -- youth mentorship matching
(define-data-var pair-count uint u0)
(define-map pairs uint { mentor: principal, mentee: principal, topic: (string-ascii 30), sessions: uint, active: bool })
(define-public (create-pair (mentee principal) (topic (string-ascii 30)))
(let ((id (+ (var-get pair-count) u1)))
(var-set pair-count id)
(map-set pairs id { mentor: tx-sender, mentee: mentee, topic: topic, sessions: u0, active: true }) (ok id)))
(define-public (log-session (id uint))
(let ((p (unwrap! (map-get? pairs id) (err u404))))
(map-set pairs id (merge p { sessions: (+ (get sessions p) u1) })) (ok true)))
(define-public (end-pair (id uint))
(let ((p (unwrap! (map-get? pairs id) (err u404))))
(map-set pairs id (merge p { active: false })) (ok true)))
(define-read-only (get-pair (id uint)) (map-get? pairs id))