Skip to content

[lenny] integrate REG-27: age out stale mention-path agent liveness via relay presence - #29

Merged
mfethe1 merged 3 commits into
product/mainfrom
integration/reg27-liveness-run98
Sep 11, 2026
Merged

mfethe1 merged 3 commits into
product/mainfrom
integration/reg27-liveness-run98

Conversation

@mfethe1

@mfethe1 mfethe1 commented Sep 10, 2026

Copy link
Copy Markdown
Owner

What changed

  • The kind:10100 agent directory's replaceable, unexpiring status let crashed relay agents advertise "online" forever and win the mentionRanking active boost (mention suggestions + task-owner suggestions).
  • REG-27 collapses the two independent liveness predicates (useActiveAgentPubkeys, buildMentionCandidates) into one decision point — the pure isRelayAgentActive — and joins the TTL'd relay presence the rest of the desktop already consumes (useAgentAvailabilityLookup).
  • Presence is authority only when the read succeeded; an undefined availability falls back to the directory so a relay blip cannot empty the mention picker. Managed-agent running/deployed classification untouched.

Validation (run 98, 2026-09-10; all gates re-run independently, Loop-3 handoff not trusted)

  • Gate 1 integrity: conflict markers, diff --check, duplicate-migration scan all clean on candidate and merged tree; no AI-attribution trailers.
  • Gate 2: targeted 19/19 green (E1–E9 + behavior); desktop typecheck + check:file-sizes/px-text/pubkey-truncation/pubkey-normalization/agent-identity + lint all rc=0; cargo buzz-db 126/0, buzz-core 262/0, buzz-acp 968/0, buzz-relay 1057 pass (7 known failures identical to baseline name-set; 3 candidate-only flakes re-run green in isolation on both trees); full desktop suite 6594 tests, failure name-set identical to untouched origin/main baseline (1 provenance-cache failure both trees); flutter analyze 7 vs 7, signatures identical; full flutter test 2427 tests, regression name-set diff EMPTY (15 pre-existing failures identical; baseline had 2 extra flakes).
  • Gate 3 baseline comparison: comm -23 empty across all suites (desktop, mobile, 4 crates).
  • Gate 4 combined tree: merged into product/main and re-run — all quick gates rc=0, full desktop suite 6593/6594 with only the same baseline failure, targeted 19/19 green.
  • DCO fix: 5aa17e3 was missing Signed-off-by at handoff; re-added at integration as cc20732 with Signed-off-by: Michael Feth michael@jira-flow.com, original authorship (lenny) preserved.
  • Sensitive paths: none (desktop/src/features/messages/lib only; zero crates/, zero mobile/ delta).
  • Evidence gap: visual evidence NOT produced — REG-27 changes data flow with zero rendering-surface changes; no screenshot artifacts exist for this item.
  • Upstream collab: rival PR fix(desktop): dedupe personas backed by remote agents block/buzz#7465 (open, blocked) touches buildMentionCandidates.ts/.test.mjs; per gate, no duplicate upstream PR opened; external posting requires Michael's approval.

Review-then-merge by Michael per fork ruleset 22462580 (19/19 status checks). Loop 4 does not self-merge.

lenny and others added 3 commits September 10, 2026 09:31
The kind:10100 agent directory carries a replaceable, unexpiring status, so a
crashed relay agent advertises "online" forever. Two independent predicates
(useActiveAgentPubkeys and buildMentionCandidates) read it directly, which let
dead agents win the mentionRanking active boost and get suggested as task
owners via ownerSuggestion.

Collapse both into one decision point and join the TTL'd relay presence the
rest of the desktop already consumes via useAgentAvailabilityLookup. Presence
is authority only when the read succeeded; an undefined availability falls back
to the directory so a relay blip cannot empty the mention picker.

- useActiveAgentPubkeys: new pure isRelayAgentActive + optional reader param
- buildMentionCandidates: relay row now reads the injected set, like the member row
- useMentions: query presence over the directory pubkey list (stable key, no churn)

Managed-agent running/deployed classification is deliberately untouched.

Signed-off-by: Michael Feth <michael@jira-flow.com>
…ntActive

Adversarial hardening review of the feat/REG-27 diff against designing §5
edge-case enumeration E1-E9. Found gaps: E1 (empty inputs) and E7
(concurrent writer / mid-render presence update) had no explicit tests.
Added both — E1 confirms no-throw on empty-string directory status, E7
confirms re-derivation correctness when a live 20001 event demotes a
previously-undefined availability to offline. All 9 edge cases E1-E9 now
have explicit test coverage.

Gates: 19/19 tests pass; desktop-check rc=0 (4 warnings + 5 infos,
identical to baseline; 2726 files; no REG-27 file in diagnostics).

Signed-off-by: Hermes Agent <agents@protelynx.ai>
…ia relay presence

The kind:10100 agent directory carries a replaceable, unexpiring status, so a
crashed relay agent advertises 'online' forever and wins the mentionRanking
active boost. REG-27 collapses two independent liveness predicates into one
decision point (isRelayAgentActive) and joins the TTL'd relay presence the rest
of the desktop already consumes (useAgentAvailabilityLookup). Presence is
authority only when the read succeeded; undefined availability falls back to
the directory so a relay blip cannot empty the mention picker. Managed-agent
running/deployed classification untouched.

Validation run 98 (2026-09-10, Gate-2 under owner-resolved analyzer ceiling 7):
targeted 19/19; typecheck + 6 check:* guards rc=0; full desktop suite failure
name-set identical to baseline (1 known provenance-cache failure both trees);
flutter analyze 7 vs 7 identical signatures; mobile flutter-test name-set diff
empty vs baseline; cargo buzz-db/core/acp/relay --lib failure name-sets match
known_baseline_failures. DCO: 5aa17e3 gap closed by re-adding the commit at
integration with Signed-off-by: Michael Feth (cc20732), original authorship
preserved. No upstream PR opened (rival block#7465 open on buildMentionCandidates;
external posting needs approval).
Evidence: registry/work/REG-27/verifying.md + digests/2026-09-10-integration-run98.md
@coderabbitai

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: b486d49d-391f-48bf-b4d8-cff5f4a18048

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mfethe1
mfethe1 merged commit 695648f into product/main Sep 11, 2026
40 of 49 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.

1 participant