How can I check why a job appeared in a pipeline

Is it possible to try and debug why a job appeared ?
I have just migrated a load of jobs from only/except to rules:. A pipeline has appeared with all jobs in it, when I dont think any of them should have appeared at all. Is it possible to debug which rule clause caused a job to appear?

Here is some context. The affected jobs all appear after a rebase. Here are the rules clauses for context:

    changes: &sources
       # Only check when changes to actual sources have occured
      - hw/some_folder/**/src/**/*

# Use as a useful set of Anchors for easy understanding
.fw.rules job:
    - if: &run_all_checks           '$RUN_ALL_CHECKS != null'
    - if: &merge_request            '$CI_MERGE_REQUEST_ID != null'   
    - changes: &new_branch_created
      - hw/readme.txt

    - if: *run_all_checks   # User Forced the checks to run    

    # This change should only be detected when a branch is created. Dont run (pointless)
    - changes: *new_branch_created
      when: never
    - if: *merge_request
      changes: *sources    
    # Runs in any branch when a change in hw/ folder detected
    - changes: *sources

Turns out because its a rebase, the changed history contains changes that would create the job. But this isnt clear from the diff.