Repository navigation
Improve Vahter triage and configure licensed ImageSharp builds - #556
Merged
Merged
Conversation
Szer
enabled auto-merge (squash)
October 10, 2026 19:15
Szer
disabled auto-merge
October 10, 2026 19:16
Use the GitHub Actions license secret for host builds and container secret mounts. Upgrade ImageSharp and its barcode binding, remove temporary audit suppressions, and build test bot images through the container CLI to support secret mounts.
Szer
enabled auto-merge (squash)
October 10, 2026 19:54
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Message triage can mistake contextual replies for spam and overlook disguised promotion. Apply the pattern-aware moderation policy: judge the current message, allow on-topic community announcements, distinguish new-user probes from meaningful replies, and recognize document-service bait, vague paid-work offers, endorsements, profile advertising and obfuscated drug offers.
Supply the reply parent and the latest four retained sender messages inside the untrusted-data fence. Each context item is capped at 1,000 characters. Use the prior retained DB message count rather than the capped unique-text count used by ML. The indexed context lookup runs only on an uncached LLM escalation, has a two-second timeout, and excludes the current message. Keep the SPAM / NOT_SPAM / SKIP schema and model/request settings unchanged.
The migration clears text-verdict cache rows so the previous policy's decisions are not retained for their full TTL. Reaction-triage cache rows remain intact.
Validation
Licensed ImageSharp security update
Upgrade ImageSharp to 4.1.3 and its ZXing binding to the ImageSharp V4 package. Read the complete license from the
SIXLABORS_LICENSE_KEYGitHub Actions secret for host builds and pass it through a build secret mount for container publishing.Wire the secret into Coupon and MultiPod CI, Coupon deployment, and the manual Coupon test workflow. Bot test images use the Docker/Podman CLI because the Testcontainers build API does not provide build-secret mounts; retain process-wide image-build deduplication and captured build logs. The development Compose build uses the same secret. No license value is committed or passed as a build argument.
Scope
This implements the policy selected from the private moderation replay, with generic examples rather than identifiable review records. Live context uses the latest retained messages; the replay used historical snapshots, so its accuracy and latency figures are not an exact validation of this integration. No private dataset is included, no production setting has been changed, and no model switch is included.