File size: 1,485 Bytes
5850885
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
"""Self-improvement library — pre-seeded playbook + on-disk learned store."""

from skill_library.entries import (
    DriftAdaptationCard,
    PlaybookEntry,
    RetrievalResult,
)
from skill_library.retrieval import (
    JACCARD_MIN,
    jaccard,
    retrieve,
    top_k_drift_cards,
    top_k_playbook,
)
from skill_library.seeds import PRESEED_DRIFT_CARDS, PRESEED_PLAYBOOK
from skill_library.store import DEFAULT_STORE_DIR, Store, cleanup_stale_session_dirs


def load_all(
    store: Store | None = None,
) -> tuple[
    tuple[PlaybookEntry, ...],
    tuple[DriftAdaptationCard, ...],
]:
    """Union of pre-seeds and any entries persisted on disk.

    Returns ``(playbook, drift_cards)``. Order: pre-seeds first, then
    learned entries, so deterministic retrieval tie-breaks prefer
    the hand-authored pre-seeds when tags and speedup match exactly.
    """
    learned_pb: tuple[PlaybookEntry, ...] = ()
    learned_dc: tuple[DriftAdaptationCard, ...] = ()
    if store is not None:
        learned_pb = store.read_playbook()
        learned_dc = store.read_drift_cards()
    return PRESEED_PLAYBOOK + learned_pb, PRESEED_DRIFT_CARDS + learned_dc


__all__ = [
    "DEFAULT_STORE_DIR",
    "DriftAdaptationCard",
    "JACCARD_MIN",
    "PRESEED_DRIFT_CARDS",
    "PRESEED_PLAYBOOK",
    "PlaybookEntry",
    "RetrievalResult",
    "Store",
    "cleanup_stale_session_dirs",
    "jaccard",
    "load_all",
    "retrieve",
    "top_k_drift_cards",
    "top_k_playbook",
]