{"id":50512959,"url":"https://github.com/avidrucker/fulcro-statecharts-talks","last_synced_at":"2026-06-02T21:32:58.103Z","repository":{"id":360503586,"uuid":"1250408322","full_name":"avidrucker/fulcro-statecharts-talks","owner":"avidrucker","description":"Captured Tony Kay talks on Fulcrologic statecharts, distilled into executive summaries and key-takeaways indices. Main branch is lean; talks branch carries the raw SRTs and transcripts.","archived":false,"fork":false,"pushed_at":"2026-05-26T16:54:56.000Z","size":348,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-26T18:26:30.911Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/avidrucker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-26T15:46:49.000Z","updated_at":"2026-05-26T16:54:31.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/avidrucker/fulcro-statecharts-talks","commit_stats":null,"previous_names":["avidrucker/fulcro-statecharts-talks"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/avidrucker/fulcro-statecharts-talks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avidrucker%2Ffulcro-statecharts-talks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avidrucker%2Ffulcro-statecharts-talks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avidrucker%2Ffulcro-statecharts-talks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avidrucker%2Ffulcro-statecharts-talks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/avidrucker","download_url":"https://codeload.github.com/avidrucker/fulcro-statecharts-talks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avidrucker%2Ffulcro-statecharts-talks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33838216,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-02T21:32:57.379Z","updated_at":"2026-06-02T21:32:58.095Z","avatar_url":"https://github.com/avidrucker.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# fulcro-statecharts-talks\n\nCaptured talks by [Tony Kay](https://github.com/awkay) on the\n[Fulcrologic statecharts library](https://github.com/fulcrologic/statecharts),\ndistilled into executive summaries + key-takeaways indices for personal\nstudy and citation.\n\nSister project to [`warmed-skills`](https://github.com/avidrucker/warmed-skills)\n(captures Casey Muratori's \"Where Does Bad Code Come From?\" talk) and\n[`yegor-pm-skills`](https://github.com/avidrucker/yegor-pm-skills)\n(captures Yegor Bugayenko's XDSD talk): same shape — one subdir per\ntalk, with both an executive summary (TL;DR + Salient Points + Outline)\nand a key-takeaways index (timestamped emoji bullets). Applied here to\nTony Kay's Fulcro statecharts content.\n\nThe pipeline that produced the transcripts and summaries lives in the\nsister repo [`talk-distill-skills`](https://github.com/avidrucker/talk-distill-skills).\nThis repo holds the *outputs*; that one holds the *pipeline*.\n\n## What's captured\n\n| Talk | Length | YouTube | Subdir |\n|---|---|---|---|\n| **Statecharts** (basics walkthrough — Q\u0026A-driven team talk) | 1h 16m | [`RMONaWbgnA8`](https://www.youtube.com/watch?v=RMONaWbgnA8) | [`fulcro_statecharts_talk/`](fulcro_statecharts_talk/) |\n| **Statecharts Marathon** (advanced topics — assumes basics, deep dive on SCXML semantics + async parking processor) | 3h 28m | [`06-DMDXxSDM`](https://www.youtube.com/watch?v=06-DMDXxSDM) | [`fulcro_statecharts_marathon/`](fulcro_statecharts_marathon/) |\n\nEach subdir has:\n\n- **`executive_summary.md`** — TL;DR + Salient Points + Outline. First-read friendly. (File shape originated in `warmed-skills/bad_code_talk/talk_summary.md`.)\n- **`key_takeaways.md`** — timestamped bullet index. Re-navigation friendly, jump-into-the-video friendly. (File shape originated in `yegor-pm-skills/XDSD_YouTube_Talk/key_takeaways.md`.)\n- **`captions.SRT`** (`talks` branch only) — raw `en-orig` auto-captions from YouTube.\n- **`transcript.txt`** (`talks` branch only) — light-edit, near-literal, speaker-labelled (`Tony Kay:` / `Host:`) paragraph transcript produced by [`talk-distill-skills`](https://github.com/avidrucker/talk-distill-skills).\n\n## Branch layout (main vs. talks)\n\nThis repo uses two long-lived branches so a default clone stays lean:\n\n| Branch | Contents |\n|---|---|\n| `main` | README, LICENSE, .gitignore, and each subdir's `executive_summary.md` + `key_takeaways.md`. Bytes count: tens of KB. |\n| `talks` | Everything on `main` **plus** `captions.SRT` + `transcript.txt` in each subdir. Bytes count: ~1.2 MB. |\n\nThe summaries are hand-curated and small, so they live on `main` and are\nversioned with the rest of the repo. The SRTs and transcripts are bulky\nand trivially regenerable from YouTube via\n[`yt-dlp`](https://github.com/yt-dlp/yt-dlp) — so they live on a side\nbranch to keep clones lean while still making the cite-and-quote source\nmaterial one branch-switch away.\n\n### Clone just the lean main branch\n\n```bash\ngit clone --single-branch --branch main https://github.com/avidrucker/fulcro-statecharts-talks.git\n```\n\n### Clone and check out the talks branch instead\n\n```bash\ngit clone https://github.com/avidrucker/fulcro-statecharts-talks.git\ncd fulcro-statecharts-talks\ngit checkout talks\n```\n\n### Already cloned? Switch between them\n\n```bash\ngit fetch origin\ngit checkout talks   # captions.SRT + transcript.txt appear\ngit checkout main    # captions.SRT + transcript.txt disappear\n```\n\nGit itself manages the raw files appearing/disappearing as you switch.\n\n## Reading order\n\nIf you're new to statecharts in general, read\n[`fulcro_statecharts_talk/executive_summary.md`](fulcro_statecharts_talk/executive_summary.md)\nfirst — it explains the formalism, the protocol architecture, and the\nhard-won SQL-transaction design for the backend's exactly-once event\ndelivery.\n\nThen read\n[`fulcro_statecharts_marathon/executive_summary.md`](fulcro_statecharts_marathon/executive_summary.md)\nfor the deep semantic dive: enabled-transition algorithm, conflict\nresolution, history nodes, invocations, local-data discipline, and the\n**async parking processor** Tony added recently — a major engine swap\nthat landed without breaking any existing chart, which validates the\nprotocol architecture in retrospect.\n\n## Reproducing the distillation\n\nThe transcripts and summaries here weren't hand-typed — they came out of\n[`talk-distill-skills`](https://github.com/avidrucker/talk-distill-skills)'s\npipeline. To regenerate (or to apply it to a third Tony Kay talk):\n\n```bash\n# In a clone of talk-distill-skills:\nyt-dlp --skip-download --write-auto-subs --sub-langs en-orig \\\n       --convert-subs srt \\\n       --output \"captions.%(ext)s\" \\\n       \"https://www.youtube.com/watch?v=\u003cVIDEO_ID\u003e\"\npython3 scripts/srt_to_transcript.py captions.srt transcript.txt \\\n        --speakers \"Tony Kay,Host\" \\\n        --preamble-skip 27\n```\n\nThe summaries themselves are written by reading the transcript closely —\nnot (yet) automated. See the\n[`talk-summarize` / `talk-takeaways`](https://github.com/avidrucker/talk-distill-skills#current-state)\nsub-skills (planned) for that step.\n\n## License\n\nMIT for this repo's structure, scripts, and curated summaries — see\n[LICENSE](LICENSE).\n\nTalk content (the captions and transcript on the `talks` branch, and the\nsummaries which paraphrase the talks closely) is derivative of Tony Kay's\nrecordings and remains his intellectual property. It is included here for\npersonal study and citation, not redistribution. If you want to share or\nre-host any of this, ask Tony first.\n\n## Credits\n\n- All talk content © [Tony Kay](https://github.com/awkay) /\n  [Fulcrologic](https://github.com/fulcrologic).\n- Distillation pipeline:\n  [`talk-distill-skills`](https://github.com/avidrucker/talk-distill-skills).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favidrucker%2Ffulcro-statecharts-talks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favidrucker%2Ffulcro-statecharts-talks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favidrucker%2Ffulcro-statecharts-talks/lists"}