Growth research loop: fix Windows demo crash, add example coverage, outreach package - #39
Open
tishachawla-jg wants to merge 8 commits into
Open
Growth research loop: fix Windows demo crash, add example coverage, outreach package#39tishachawla-jg wants to merge 8 commits into
tishachawla-jg wants to merge 8 commits into
Conversation
added 8 commits
August 9, 2026 20:37
program.md (goals/scope/constraints), prepare.md (fixed, documents the deterministic adoption-readiness score), train.md (editable strategy log), and scripts/growth_eval.py (the actual eval: fresh-venv TTFSR check against the README's advertised demo command, existing test suite gate, broken-link count, version consistency, doc-section checklist, example test coverage). Ground truth (real stars/forks/traffic/downloads) is tracked separately and slowly in docs/growth/stars.tsv, not optimized per-iteration -- it's too slow and noisy for a tight loop, same reason autoresearch uses val_bpb instead of anything external.
The exact command the README's Demos table advertises, "python examples/financial_incidents/run.py refund test", crashed on a fresh Windows install with UnicodeEncodeError: the console's default cp1252 codepage can't encode the box-drawing character _line() prints, and nothing upstream configures UTF-8. Growth-loop iteration 1 (see train.md): adoption-readiness score 0.0 -> 128.0.
Flat chronological "what shipped" ledger, separate from train.md's strategy/reasoning narrative -- easier to scan at a glance across a run.
scripts/growth_snapshot.py pulls real stars/forks/watchers/traffic (gh api) and PyPI downloads (pypistats) into docs/growth/stars.tsv. Run weekly, by hand, to check the fast per-iteration proxy score actually correlates with real growth -- not part of the loop itself (prepare.md explains why). Baseline (2026-08-09): 10 stars, 2 forks, 1 watcher, 44 unique visitors / 14d, 712 PyPI downloads/month.
Drafts only -- nothing here gets sent/posted without Tisha's explicit per-venue approval (program.md). Target list favors community venues and awesome-list PRs (verifiable, low-risk) plus one confidently-verified individual (Hamel Husain) over a padded list of guessed contacts; the AIE WF 2026 talk gives a genuine warm lead into the Latent Space community. All template numbers pulled from docs/benchmark-results.json and the README's own "How Chronicle compares" positioning, no invented stats.
Was the one examples/ integration with no matching test file (growth_eval.py example_coverage). Deterministic, no live model calls: asserts both graph nodes get recorded as Envelopes with the expected tool call and completion.
Hygiene, not a score-driven change: a PyPI badge/version that's accurate but a CHANGELOG that's silent about a real fix is its own small trust gap for anyone diffing releases.
Scored surface saturated after two real fixes (Windows crash, untested example); the one remaining gap (lines-before-first-code-block) is real README content, not padding, and chasing it would be optimizing the proxy at the product's expense -- program.md rules that out. train.md has the full reasoning, including a named limitation in the metric itself (doesn't discount collapsed <details> blocks).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
An autoresearch-style (karpathy/autoresearch) growth loop for adoption, scoped to
docs/README/examples/packaging only -- never
chronicle/core behavior. Fullmechanics in
program.md/prepare.md/train.md.advertises (
python examples/financial_incidents/run.py refund test) crashed ona fresh Windows install (
UnicodeEncodeError, cp1252 console codepage vs abox-drawing character). Forced UTF-8 stdout/stderr in that entry point.
examples/langgraph_demowas the one examplewith no matching test; added a deterministic
layer1test for it.scripts/growth_eval.py;see
prepare.mdfor the fixed, non-subjective formula). Saturated after two realfixes -- the remaining gap is real README content, not padding, so the loop
stopped there instead of manufacturing more diffs. Reasoning in
train.md.docs/growth/stars.tsv,scripts/growth_snapshot.py):10 stars, 2 forks, 44 unique visitors/14d, 712 PyPI downloads/month.
docs/growth/target-list.md,outreach-templates.md): 5 awesome-list PRs, 6 community venues, one warm lead(AIE WF 2026 talk -> Latent Space), one verified individual contact. All template
numbers pulled from
docs/benchmark-results.json, no invented stats.Test plan
pytest -m layer1green (64 passed)scripts/growth_eval.py --jsonrun end-to-end (fresh venv + install + demo)mainconfirmed clean, no conflicts🤖 Generated with Claude Code