Skip to content

Growth research loop: fix Windows demo crash, add example coverage, outreach package - #39

Open
tishachawla-jg wants to merge 8 commits into
mainfrom
growth/aug9
Open

Growth research loop: fix Windows demo crash, add example coverage, outreach package#39
tishachawla-jg wants to merge 8 commits into
mainfrom
growth/aug9

Conversation

@tishachawla-jg

Copy link
Copy Markdown
Contributor

Summary

An autoresearch-style (karpathy/autoresearch) growth loop for adoption, scoped to
docs/README/examples/packaging only -- never chronicle/ core behavior. Full
mechanics in program.md / prepare.md / train.md.

  • Fixed a real onboarding bug: the exact command the README's Demos table
    advertises (python examples/financial_incidents/run.py refund test) crashed on
    a fresh Windows install (UnicodeEncodeError, cp1252 console codepage vs a
    box-drawing character). Forced UTF-8 stdout/stderr in that entry point.
  • Closed a test-coverage gap: examples/langgraph_demo was the one example
    with no matching test; added a deterministic layer1 test for it.
  • Adoption-readiness score: 0.0 -> 128.0 -> 133.0 (scripts/growth_eval.py;
    see prepare.md for the fixed, non-subjective formula). Saturated after two real
    fixes -- the remaining gap is real README content, not padding, so the loop
    stopped there instead of manufacturing more diffs. Reasoning in train.md.
  • Ground truth baseline logged (docs/growth/stars.tsv, scripts/growth_snapshot.py):
    10 stars, 2 forks, 44 unique visitors/14d, 712 PyPI downloads/month.
  • Outreach package drafted, nothing sent (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 layer1 green (64 passed)
  • Full suite green (136 passed)
  • scripts/growth_eval.py --json run end-to-end (fresh venv + install + demo)
  • Dry-run merge against main confirmed clean, no conflicts

🤖 Generated with Claude Code

Tisha Chawla 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).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant