Lessons Learned
summary
Windows file semantics and tooling force concrete changes: process creation is about 25,000 μs vs 2,500 μs on Unix, so the build removes bash from critical functions and rewrites the test wrapper as a native executable to avoid dozens of short-lived processes. External dependency handling proves brittle, so the project deprecates the built-in workspace rules and opens the include scanner and build event protocol while migrating rules to Starlark migration to reduce API surface and provide multi-release migration windows for incompatible changes.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 3:19Why lessons learned
- 4:01Windows vs Unix differences
- 7:37Linux and Mac fanboy issues
- 12:40External dependencies and Hermeticity
- 14:32Dependency management challenges
- 17:24Blaze vs Basil differences
- 20:18Unifying Blaze and Basil
- 23:13API stability and Hyram's law
- 26:47Process for breaking changes
- 29:40Improving Basil
- 30:23Addressing feedback








