<commit_before>TODOs of various priorities:
- Hone sampling process for JJLattice
    - currently get random sample random number of times, which is an improvement
- Why keep count in supracontext instead of storing it elsewhere?
- stop JohnsenJohansson experiments when confidence level is reached (instead of always running 1000)
- further parallelize DistributedLattice- divide combinations into groups of 1000
- progress tracker for large problems; then we can know if what we're trying to do is just too hard.
- Which lattice implementation to use should be configurable.
- Concept probably shouldn't implement Supracontext.
- write tests for Concept
- write test for LatticeFactory
- write test for LabelerFactory
- implement the usage of m_removeTestExemplar in AnalogicalModeling.java
	- perhaps an option sent to SubcontextList?
- experiment with sorting the subcontext list before lattice filling
	- most to least mismatches (1's)? Or is random better?
	- non-deterministic or rare outcomes first should be better everywhere.<commit_msg>update todo<commit_after>TODOs of various priorities:
- Investigate proper sampling method and experiment convergence for JJLattice
- Iterables.partition in DistributedLattice is probably a little slow
- Need to do design review
    - Why keep count in supracontext instead of storing it elsewhere?
    - Why save supracontexts in constructor of lattices?
- further parallelize DistributedLattice- divide combinations into groups of 1000
- progress tracker for large problems; then we can know if what we're trying to do is just too hard.
- Which lattice implementation to use should be configurable.
- Concept probably shouldn't implement Supracontext.
- write tests for Concept
- write test for LatticeFactory
- write test for LabelerFactory
- implement the usage of m_removeTestExemplar in AnalogicalModeling.java
	- perhaps an option sent to SubcontextList?
- experiment with sorting the subcontext list before lattice filling
	- most to least mismatches (1's)? Or is random better?
	- non-deterministic or rare outcomes first should be better everywhere.
{'fraction_non_alphanumeric': 0.03798670465337132, 'fraction_numerical': 0.006647673314339981, 'mean_word_length': 4.663978494623656, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1803492', 'n_tokens_mistral': 531, 'n_tokens_neox': 483, 'n_words': 273}