Skip to content

feat(automation): ball-board v7 -- a mailbox provider's matter is not one client - #5450

Merged
gHashTag merged 2 commits into
masterfrom
feat/ball-board-v7-pooled
Oct 1, 2026
Merged

gHashTag merged 2 commits into
masterfrom
feat/ball-board-v7-pooled

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 1, 2026

Copy link
Copy Markdown
Owner

Closes #5449

Why

The owner asked for one "where is the ball" status per client, with the CRM and the mail joined by client. Before writing a join I measured it.

  • CRM to mail overlap: 0. I compared 200 CRM clients and 1505 Telegram contacts against 128 mail matters and 127 senders, by full name, username and domain stem. crm_people has no email column. The join stays the explicit ball_link that v2 added; an automatic join would only invent pairs.
  • The real break runs the other way. jcrm keys a matter by domain, so gmail.com is one matter of 14 people under one terminal stage ("rejected", so nobody's move), while 3 of them wrote last within a day.

What

  • pooled_matter(matter_is_shared, people): a matter named by a shared domain with more than one person is a mailbox, not a client.
  • POOLED_IS_COUNTED: the board reports the number and names it on the card. The ball stays jcrm's, because the board has no per-person stage to put in its place.
  • POOLED_SEEN = 2 (gmail.com, groups.io) and CRM_MAIL_OVERLAP_SEEN = 0 record the measurement.
  • New test: "a mailbox provider's matter is not one client". VERSION is now 7.

Checks

  • t27c check: Typecheck OK.
  • tri hooks commit-msg and tri hooks pre-push: PASSED, run by hand with ~/t27-ball's tri, because the worktree hooks look only in this worktree's target/.

The host change is in 999-multibots-telegraf. The source fix (split shared-domain matters by address) belongs in jcrm classify().

🤖 Generated with Claude Code

gHashTag and others added 2 commits October 1, 2026 22:06
… one client

The CRM-mail join was measured, not guessed: no CRM person matches a mail
matter by name, username or address (crm_people has no email), so the join
stays the explicit ball_link. The defect runs the other way: jcrm keys a
matter by domain, so gmail.com is one matter of 14 people under one terminal
stage while 3 of them wrote last. pooled_matter names such a matter; the
board counts it and says so on the card, the ball stays jcrm's.

Closes #5449

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Closes #5449

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-01 15:08:33 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 46
PRs with All Checks Green 4
READY 3
FAILING 46
PENDING 0
NO CHECKS YET 0

These columns do not partition: 3 + 46 + 0 + 0 = 49, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=403499176a5d != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@gHashTag
gHashTag merged commit 224eb84 into master Oct 1, 2026
26 of 32 checks passed
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.

ball-board v7: a mailbox provider is not one client (pooled mail matters), and the CRM-mail overlap is measured

1 participant