liveness primer report - tool: vulture
schema: 2.2.0; created: 2026-07-28T12:00:00+00:00
detector: https://github.com/jendrikseipp/vulture
  base: main @ 111111111111 (cached)
  head: pr-branch @ 222222222222 (rebuilt)
comparable: yes
isolation: NOT ENFORCED - build/analysis ran without a network sandbox
installer: pip 26.0
environment delta - non-detector dependencies differ between the sides:
  tomli: 2.4.0 -> 2.5.0
base findings 13, head findings 15
totals: 4 new, 4 dropped, 8 changed (1 confidence-only, 6 message-only, 0 severity-only, 1 multiple)
new 4: kind:function 2, SKY-U001 1, SKY-U003 1
dropped 4: kind:function 3, SKY-U001 1
changed 8: kind:function 8
cost: 1.67s
errors: 1
corpus-integrity warnings: 1
source warnings: 1
note: some project diffs were truncated by --max-results; totals reflect the full comparison
legend: + new; - dropped; ~ changed

project alpha - base 12 findings, head 13; 3 new, 4 dropped, 7 changed (1 confidence-only, 5 message-only, 0 severity-only, 1 multiple); cost 1.25s
  corpus: https://github.com/example/alpha/tree/3333333333333333333333333333333333333333
  new 3: SKY-U001 1, SKY-U003 1, kind:function 1
  dropped 4: kind:function 3, SKY-U001 1
  changed 7: kind:function 7
  error[head]: stderr said  something  odd
  warning[corpus-integrity]: expected-clean base side reported 12 finding(s) and exit code 3
  warning[source]: pkg/gone.py: not a regular non-symlink file
  showing 13 of 14 finding diffs (truncated by --max-results)
   rule      %         kind      location           symbol              message                                      fields
-  -         60%       function  pkg/mod.py:L5      goner               unused function 'goner'                      -
  5 | def goner():

+  SKY-U001  100%      function  pkg/mod.py:L9      fresh | pipe`tick`  unused function with a very hostile excerpt  -
   9 | def fresh(request):
  10 |     return request

-  -         60%       function  pkg/mod.py:L10     mover               unused function 'mover'                      -
  10 | def mover():

+  -         60%       function  pkg/mod.py:L14     mover               unused function 'mover'                      -
  14 | def mover():  # moved

~  -         60%->90%  function  pkg/mod.py:L21     flaky               unused function 'flaky'                      %
  %: 60% -> 90%
  21 | def flaky():

~  -         60%       function  pkg/mod.py:L30     reworded-1          old wording for reworded-1                   message
  message: old wording for reworded-1 -> new wording for reworded-1

~  -         60%       function  pkg/mod.py:L30     reworded-2          old wording for reworded-2                   message
  message: old wording for reworded-2 -> new wording for reworded-2

~  -         60%       function  pkg/mod.py:L30     reworded-3          old wording for reworded-3                   message
  message: old wording for reworded-3 -> new wording for reworded-3

-  SKY-U001  60%       function  pkg/mod.py:L40     renumbered          renumbered rule                              -
  40 | def renumbered():

+  SKY-U003  60%       function  pkg/mod.py:L40     renumbered          renumbered rule                              -
-  -         NA        function  pkg/mod.py:L50-57  span                multi-line span with an omitted tail         -
  50 | class Span:
  51 |     a = 1
  (6 reported-span line(s) omitted)

  (2 more message-only change(s) not shown; the JSON report retains full detail)

project beta - base 1 findings, head 2; 1 new, 0 dropped, 1 changed (0 confidence-only, 1 message-only, 0 severity-only); cost 0.42s
  corpus: ssh://git@internal.invalid/beta.git @ 444444444444
  new 1: kind:function 1
  changed 1: kind:function 1
   rule  %   kind      location        symbol    message                          fields
+  -     NA  function  lib/util.py:L3  unlinked  no permalink for ad-hoc hosts    -
  3 | x = 1

~  -     NA  function  lib/move.py:L7  wanderer  old wording without a permalink  message
  message: old wording without a permalink -> new wording without a permalink
  7 | old = 7

project gamma - base 0 findings, head 0; 0 new, 0 dropped, 0 changed (0 confidence-only, 0 message-only, 0 severity-only); cost n/a

summary
base findings 13, head findings 15
totals: 4 new, 4 dropped, 8 changed (1 confidence-only, 6 message-only, 0 severity-only, 1 multiple)
new 4: kind:function 2, SKY-U001 1, SKY-U003 1
dropped 4: kind:function 3, SKY-U001 1
changed 8: kind:function 8
cost: 1.67s
errors: 1
corpus-integrity warnings: 1
source warnings: 1

  project  base -> head  delta  ratio  new  dropped  changed   cost  warnings
  alpha    12 -> 13         +1  1.08x    3        4        7  1.25s         3
  beta     1 -> 2           +1  2.00x    1        0        1  0.42s         0
  gamma    0 -> 0           +0      -    0        0        0    n/a         0
