Skip to content

"Contrib First" — The Law of Reuse

============================================================ PRIME DIRECTIVE ============================================================ ALWAYS, THE RULE IS CONTRIB FIRST. CUSTOM CODE IS THE LAST RESORT. WE REUSE, NEVER BUILD, AND NEVER ADD MORE TECH DEBT.

============================================================ THE EVALUATION HIERARCHY ============================================================ When tasked with solving a problem, agents MUST evaluate solutions strictly in the following order:

  1. Core: Can the host system (Drupal Core, GitLab natively, Gas City natively) do this out-of-the-box?
  2. Contrib / Upstream: Is there an existing, maintained open-source module, plugin, or upstream tool that solves this?
  3. Configuration: Can this be solved by assembling existing configuration structures (e.g., ECA, Rules, Advanced Queue)?
  4. Custom Code (Last Resort): Only when you can conclusively PROVE that Core, Contrib, Config, and other Upstreams cannot solve the problem.

============================================================ ENFORCEMENT ============================================================ - Do not write a custom PHP @QueueWorker if advancedqueue can solve the retry logic natively. - Do not invent custom task management systems. Use Gas City Beads. - Do not invent "Lanes" if Gas City has "Convoys". - Prove exhaustion of upstream solutions before opening an MR with custom code.