• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

bleedingdeacons / scrutiny / 33013484852
93%

Build:
DEFAULT BRANCH: main
Ran 26 Aug 2026 09:05PM UTC
Jobs 1
Files 28
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

26 Aug 2026 09:03PM UTC coverage: 92.796% (+0.3%) from 92.515%
33013484852

push

github

web-flow
feat: audit the remaining tracked member fields (#72)

unity/member_changing carries a before and an after, and Unity's change
tracker compares eighteen fields before firing it. Nine of them arrived at
onMemberChanged and were dropped. All nine are now logged.

Which ones record their value is a judgement about the field, not about how
interesting it is. Five describe a service arrangement or a setting rather
than the person, so they name what they became:

  position rotation      Changed to 2027-01-01, or Cleared when emptied
  12th stepper           Available for 12th-step calls
  telephone responder    Available as a telephone responder
  show anonymous name    Name shown publicly / Name hidden
  show member profile    Profile shown publicly / Profile hidden

The two visibility toggles are worth arguing for: their value is a yes or a
no and gives nothing away, while which way a privacy setting was moved, and
by whom, is the entire reason to audit one.

The other four record the bare "Value changed" the personal-data fields use:

  area                   coarse, but still where a named individual is
  accepts                Reach reads this selection for gender matching
  anonymous profile      prose the member wrote; may hold anything
  meeting PO             typed `mixed`, and marked for removal in TsmlMember

Accepts is an unordered checkbox set, so it is sorted before comparing and a
reordered-but-identical selection is not a change - the same normalisation
Unity's tracker does before firing the hook.

Two fields stay unlogged. The anonymous name is one: renaming a member is not
on its own an audit event, there is a test pinning that, and nothing about
this change makes the reasoning weaker. The updated timestamp is the other,
and it moves on every save - auditing it would put a second, empty row beside
every real one. Both now have a test saying so rather than only an absence.

A new test walks PersonalDataFields' constants and asserts each ha... (continued)

2151 of 2318 relevant lines covered (92.8%)

8.23 hits per line

Coverage Regressions

Lines Coverage ∆ File
2
73.33
0.0% scrutiny/scrutiny/src/Privacy/PersonalDataFields.php
Jobs
ID Job ID Ran Files Coverage
1 33013484852.1 26 Aug 2026 09:05PM UTC 28
92.8
GitHub Action Run
Source Files on build 33013484852
  • Tree
  • List 28
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #33013484852
  • 6800b6b3 on github
  • Prev Build on main (#33011417144)
  • Next Build on main (#33014340635)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc