<commit_before># [![Microcosm](http://code.viget.com/microcosm/images/microcosm.svg)](http://code.viget.com/microcosm/)

[![CircleCI](https://img.shields.io/circleci/project/vigetlabs/microcosm.svg?maxAge=2592000)](https://circleci.com/gh/vigetlabs/microcosm)
[![Coveralls](https://img.shields.io/coveralls/vigetlabs/microcosm.svg?maxAge=2592000)](https://coveralls.io/github/vigetlabs/microcosm)
[![npm](https://img.shields.io/npm/v/microcosm.svg?maxAge=2592000)](https://www.npmjs.com/package/microcosm)
[![npm](https://img.shields.io/npm/dm/microcosm.svg?maxAge=2592000)](https://www.npmjs.com/package/microcosm)

Microcosm is a state management library for real-world JavaScript
apps.

Drawing from [Flux](https://facebook.github.io/flux/) heritage,
Microcosm places actions at center state. It keeps a historical
account of all actions fired by your app. As they change, Microcosm
rolls back to the last "incomplete" action, recalculating state by
rolling forward through history.

Actions are a story, not a result. This makes optimistic updates,
cancellation, progress, and failure states a breeze. Actions always
execute in a consistent order, making it easier to reason about
intricate sequences of operations.
<commit_msg>Tighten up intro<commit_after># [![Microcosm](http://code.viget.com/microcosm/images/microcosm.svg)](http://code.viget.com/microcosm/)

[![CircleCI](https://img.shields.io/circleci/project/vigetlabs/microcosm.svg?maxAge=2592000)](https://circleci.com/gh/vigetlabs/microcosm)
[![Coveralls](https://img.shields.io/coveralls/vigetlabs/microcosm.svg?maxAge=2592000)](https://coveralls.io/github/vigetlabs/microcosm)
[![npm](https://img.shields.io/npm/v/microcosm.svg?maxAge=2592000)](https://www.npmjs.com/package/microcosm)
[![npm](https://img.shields.io/npm/dm/microcosm.svg?maxAge=2592000)](https://www.npmjs.com/package/microcosm)

Microcosm is a state management library for real-world JavaScript
apps.

Drawing from [Flux](https://facebook.github.io/flux/) heritage, it
places actions at center state. It keeps a historical account of all
actions fired by your app. As they change, Microcosm rolls back to the
last "incomplete" action, recalculating state by moving through a
consistent history.

This makes optimistic updates, cancellation, progress, and failure
states a breeze.

{'fraction_non_alphanumeric': 0.14254859611231102, 'fraction_numerical': 0.024190064794816415, 'mean_word_length': 5.85207100591716, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 18, 'lorem ipsum': 0, 'www.': 4, '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': '3325917', 'n_tokens_mistral': 886, 'n_tokens_neox': 772, 'n_words': 161}