Topic

Code Quality

All digests tagged Code Quality

· 19:18

Harness Engineering is not Enough: Why Software Factories Fail — Dex Horthy, HumanLayer

The video argues that current efforts in 'harness engineering' and increasing tokens are insufficient for building reliable AI software factories because they fail to address fundamental model training shortcomings. The core problem is maintaining codebase quality over time (maintainability), which current reward functions do not penalize. To move forward safely, the speaker advocates returning to rigorous human-led upfront planning: Product Review $\rightarrow$ System Architecture $\rightarrow$ Program Design (down to types and call graphs) $\rightarrow$ Vertical Slices.

Key takeaways

  1. The Failure of 'Lights Off' Factories 12:10

    Attempting to run a software factory with no human code review ('lights off') leads to failures, even for advanced agents. The issue is not scale or prompting, but a fundamental model training limitation.

  2. Model Training Flaw (The Maintainability Gap) 17:12

    Current coding models are primarily trained on passing tests and solving one-off problems. Their reward signal does not penalize poor program design or the erosion of codebase maintainability, meaning they get better at passing tests but worse at keeping large systems stable.

  3. The Path Forward: Structured Planning

    To move faster safely, engineers must re-emphasize upfront planning steps: Product Review (desired behavior/mockups), System Architecture (component contracts/data models), Program Design (types and call graphs), and Vertical Slices (implementation order).

Watch on YouTube Full article

· 58:11

Responsibly Abandoning Open Source Projects - Jason Turner - NDC Copenhagen 2026

This talk outlines best practices for developing and maintaining open-source projects to ensure they can be responsibly abandoned or handed off years later without becoming 'legacy' or 'abandoned.' The core focus is on achieving a state of 'completeness' by implementing rigorous automation across the entire development lifecycle—from static analysis and comprehensive testing (including path coverage, fuzzing, and mutation testing) to simplified build processes. Key recommendations include automating all quality gates within CI/CD pipelines and minimizing technical debt related to tooling complexity.

Key takeaways

  1. Achieve 'Completed,' Not 'Abandoned' 20:30

    When concluding work on a project, aim for the status of 'completed' rather than 'abandoned.' This requires proactive measures like maintaining clear documentation and ensuring continuous automation.

  2. Automate All Quality Gates 29:55

    Implement automated checks for every possible tool (static analysis, dynamic analysis, formatting) to ensure consistency and reduce friction for future maintainers. This should be fully integrated into the build process.

  3. Prioritize Strong Typing 34:45

    Adopting strongly typed systems (e.g., using type hints in Python or dedicated types like `Point` and `Color`) makes code less prone to order-of-operations errors, significantly improving robustness.

  4. Minimize Build Setup Friction 32:10

    A new contributor should be able to set up the development environment and run all tests/analysis in a minimal number of steps (ideally five lines or less).

Watch on YouTube Full article