Clarifications on Core-related PRs and issues

On Thursday June 27th, @mont29 @sergey and @FoxGlove met to discuss the tasks and priorities of Bastien and the overall Core module.
Please refer to the last section for actions and process info.

Current assessment

  • Issue with overwhelming backlog, poor code quality
  • Bastien doesn’t have time for Projects
  • Urgency sometimes to fix something for a release, or for the studio
  • Core module itself doesn’t have regular meetings
    • Who is part of the effort?

Ideas

  • Make it a team effort: involve others clearly, like @jacqueslucke @filedescriptor or @sybren
    • Jacques and Falk could do 1st pass of code review, flag if there’s anything for Bastien
    • Bastien could focus more on design tasks and global overview
    • Jacques could work on longstanding topics like replacing raw ID property storage with a proper dynamic RNA one
  • Be more strict on design decisions > when it impacts core
    • Temporary solutions need to be tackled faster after the temp solution landed
  • Improve testing phase and tools, see with @Bart_van_der_Braak

Goals: Bastien should be able to focus on

  • Dispatching issues to the modules
  • Supporting and reviewing other people’s code and designs
  • High priority / critical bug fixing when all else has failed
  • In the future: features, legacy code…

In practice

  • Clarifying LTS role: those releases are about predictability, not necessarily quality
  • Developers should not think in terms of release > pushed to main, it’s good

How to work between modules:

  • When a design impacts Core: Core should be pinged to review design, involving Bastien
  • Implementation (PRs): Core should be pinged, Jacques and Falk can do 1st pass
  • Too late, another project brings issues/regressions to Core:
    → Projects / modules should be responsible for fixing the mess.
    → You make new stuff, a change? Plan for follow ups.
    • Urgency: Is it needed for next release?
    • Importance/value: Does regression add value for users?
    • Quality: Does it need to be a clean fix? Can it be a rough fix?
    • Aftermath: How much time do we need to get a clean fix?
      → Core module then reviews changes

In case there’s a doubt or confusion: @mont29 is the go-to person for Core issues, and @sergey @ThomasDinges @FoxGlove are here to support commuincation and help redirect tasks or questions.

3 Likes