fix(chat): restrict grounding to public summaries#5106
Conversation
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5106 +/- ##
==========================================
- Coverage 94.20% 94.20% -0.01%
==========================================
Files 470 470
Lines 39736 39734 -2
Branches 14501 14501
==========================================
- Hits 37435 37433 -2
Misses 1645 1645
Partials 656 656
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-11 17:27:12 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 5 non-blocking
Concerns raised — review before merging
Review context
Contributor next steps
Signal definitions
[BETA] Chat with GittensoryAsk Gittensory a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://gittensory.aethereal.dev/docs/gittensory-commands 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Motivation
@gittensory chatprompts from including private agent decision-pack details (e.g.why/blockedBy) that could leak confidential readiness/credibility signals when a PR author is authorized to run chat.publicSafeSummarypath for useful contributor guidance.Description
compactChatSignalBundleto include onlyactionType,status, and a redactedpublicSafeSummary, removing the rawwhyandblockedByarrays from the serialized prompt payload insrc/services/ai-chat-qa.ts.ChatGroundingAction/bundle types and the prompt construction so the model never receiveswhy/blockedByfields.test/unit/ai-chat-qa.test.tsasserting that private rationale/blocker examples are omitted from the compacted grounding and that provider prompts no longer serialize"why"or"blockedBy".Testing
npm test -- --run test/unit/ai-chat-qa.test.ts, and all tests in that file passed.npm run typecheck, which passed without errors.npm run test:coverage -- --run test/unit/ai-chat-qa.test.ts; the targeted tests passed but the repository-wide coverage threshold caused the coverage command to fail due to global thresholds (this is expected when running a single-file scope in this repository).Codex Task