Skip to content

Preserve human mentions without waking a Runtime - #948

Draft
Y1fe1Zh0u wants to merge 1 commit into
dataelement:mainfrom
Y1fe1Zh0u:agent/preserve-human-mentions
Draft

Preserve human mentions without waking a Runtime#948
Y1fe1Zh0u wants to merge 1 commit into
dataelement:mainfrom
Y1fe1Zh0u:agent/preserve-human-mentions

Conversation

@Y1fe1Zh0u

@Y1fe1Zh0u Y1fe1Zh0u commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

What changed

  • Keep structured mentions for human group participants in the public reply.
  • Validate wakeable Agent targets separately from visible mention targets.
  • Start child Runs only for Agent participants while preserving mixed human and Agent mentions atomically.

Why

The group handoff preflight treated every mentioned participant as a Runtime target. A valid human mention therefore caused the entire mixed mention set to be rejected, even though native group replies already persist human mentions without dispatching work.

Impact

Human mentions remain visible in the final group message without waking a Runtime. Agent mentions continue to create child Runs, including when both participant types appear in the same response.

Validation

  • 115 scoped group/Runtime tests passed.
  • Ruff fatal rules passed on all changed files.
  • Architecture Guard P0 passed.

Remaining validation

  • Live mixed-mention E2E on the deployed 3010 environment has not been run.

CI baseline dependency

Drone #490 reaches the fresh database migration step and then fails on the existing f061_enterprise_info_tenant_id duplicate-column defect in main. This PR does not touch migrations. PR #945 contains the independent idempotence repair and passed the same fresh PostgreSQL lane in Drone #489; once that repair reaches main, this branch must be refreshed and CI rerun.

Native group replies already persist human mentions without dispatching work, but the Runtime at preflight rejected every non-Agent participant. Split public mention validation from Agent handoff validation so mixed human and Agent targets remain atomic while child Runs are created only for wakeable Agents.

Constraint: Human mentions must remain visible without creating child Runs.

Rejected: Strip human IDs during model repair | loses structured mention metadata and contradicts group message behavior.

Confidence: high

Scope-risk: narrow

Directive: Keep public mention targets distinct from wakeable Agent targets.

Tested: 232 scoped Runtime and group delivery tests; Ruff check on changed files.

Not-tested: Browser rendering and live 3010 mixed-mention E2E pending deployment.
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