Skip to content

Document what a refs_changed event actually means - #68

Merged
trick77 merged 2 commits into
masterfrom
worktree-event-semantics
Sep 8, 2026
Merged

trick77 merged 2 commits into
masterfrom
worktree-event-semantics

Conversation

@trick77

@trick77 trick77 commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Reading repo:refs_changed as developer activity is wrong, and the numbers are stark. Of 16 295 master-ref events in 3.5 months of production data:

  • ~15 000 are release tooling — [maven-release-plugin] prepare for next development iteration, [gradle-release] …, a component-version job (6 468 alone), and Renovate landing updates
  • 1 210 carry a human name, and every one is a merge commit (Pull request #NNN: …) already counted on the PR side as pr:merged

Nobody is pushing to master; the events are bookkeeping. Any per-author or per-repo activity view built on them is ~93 % release automation.

change_type inherits the problem: it is parsed from branch_name, so a push to master has no prefix to classify. Computed over all events it reads 83 % other, which was easy to misread as "the team doesn't use branch prefixes" when in fact feature/ and bugfix/ are used consistently on PRs.

README gets a "Reading the event tables" section with the mechanism and the numbers; AGENTS.md gets the rule, since that is what an agent reads before querying. The change-mix row now says to restrict the distribution to PR events.

Docs only, no code. Tests: 235 pass.

Reading `repo:refs_changed` as developer activity is wrong: of 16 295
master-ref events in production data, ~15 000 were release tooling and the
1 210 human-authored ones were merge commits already counted as pr:merged.
`change_type` inherits the problem - a master push has no branch prefix, so
change mix over all events reads 83 percent "other" and says nothing.

README gets a "Reading the event tables" section with the numbers; AGENTS.md
gets the rule, since that is what steers a reader before they query.
Prose to terse rules: 11.5k to 8.2k chars, every rule kept. Dropped what the
code already states - router signatures, sample-file contents, what
riptide.json declares field by field - and kept the invariants, the measured
facts behind them, and the naming and layering constraints.

Merged the automation bullets into one that states the detection order, and
added the empty-string convention for optional fields that came out of the
last review.
@trick77
trick77 merged commit 5a9aa72 into master Sep 8, 2026
3 checks passed
@trick77
trick77 deleted the worktree-event-semantics branch September 8, 2026 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant