#!/usr/bin/env python3
import sys
sys.path.insert(0, 'c:/MONIKA')
from salience_os_seed.proto_lm._torch_impl import ProtoLanguageModel, TrainingConfig
from salience_os_seed.proto_lm.vocab import Vocabulary

m = ProtoLanguageModel(TrainingConfig(checkpoint_path=None))
m.vocab = Vocabulary()  # Fresh
m.vocab._refresh_index()
m._ensure_capacity(m.vocab.size())

print(f"Before training:")
print(f"  Vocab size: {m.vocab.size()}")
print(f"  Merges: {len(m.vocab.merges)}")

# Train once
m.training_step("Hello I am Monika")

print(f"\nAfter 1 training step:")
print(f"  Vocab size: {m.vocab.size()}")
print(f"  Merges: {len(m.vocab.merges)}")
if m.vocab.merges:
    print(f"  First 5 merges: {m.vocab.merges[:5]}")

# Check step
print(f"  Model step: {m.step}")
print(f"  Vocab growth interval: {m._vocab_growth_interval}")
