Skip to content

meet: chat-opportunity detector with regex pre-filter + Haiku confirmation#25943

Merged
siddseethepalli merged 1 commit into
mainfrom
run-plan/meet-phase-2-chat/pr-5
Apr 15, 2026
Merged

meet: chat-opportunity detector with regex pre-filter + Haiku confirmation#25943
siddseethepalli merged 1 commit into
mainfrom
run-plan/meet-phase-2-chat/pr-5

Conversation

@siddseethepalli
Copy link
Copy Markdown
Contributor

@siddseethepalli siddseethepalli commented Apr 15, 2026

Summary

  • Add MeetChatOpportunityDetector (Tier 1 regex filter + Tier 2 LLM confirm)
  • Extend services.meet config with proactiveChat block
  • Debounce Tier 2 calls; cooldown between positive escalations
  • Detector is inert until PR 7 wires it into session manager

Part of plan: meet-phase-2-chat.md (PR 5 of 8)


Open with Devin

@siddseethepalli siddseethepalli merged commit 5d1a930 into main Apr 15, 2026
@siddseethepalli siddseethepalli deleted the run-plan/meet-phase-2-chat/pr-5 branch April 15, 2026 22:46
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2542f424c5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +458 to +460
try {
this.onOpportunity(decision.reason);
} catch (err) {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Guard onOpportunity against late Tier 2 completions

If a Tier 2 LLM call is in flight and dispose() is called (for example when a meeting is being torn down), the promise can still resolve and execute this callback because there is no active/disposed check after await this.callDetectorLLM(...). That allows stale escalations to fire after teardown, which can trigger proactive-chat actions for a meeting that has already ended once this detector is wired into session management.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

View 3 additional findings in Devin Review.

Open in Devin Review

.boolean({
error: "services.meet.proactiveChat.enabled must be a boolean",
})
.default(true)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚩 proactiveChat.enabled defaults to true — behavioral change for existing Meet users when wired

The proactiveChat.enabled field defaults to true (skills/meet-join/config-schema.ts:134). When PR 7 wires the detector into the session manager, existing users who have services.meet.enabled: true will have proactive chat automatically enabled without explicit opt-in. Currently this is inert (no production code instantiates MeetChatOpportunityDetector), so there's no immediate impact. However, the wiring PR should either: (a) keep this default and document it in UPDATES.md, or (b) change the default to false so proactive chat is opt-in. The choice depends on product intent — flagging for the wiring PR author to decide.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@siddseethepalli
Copy link
Copy Markdown
Contributor Author

Follow-up shipped in #26265 — addresses consolidated review feedback (chat concurrency mutex, dispose teardown, wake adapter timeout/ghost prevention, tokenEstimationProvider forwarding, E2E test flakiness).

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