feat(company-monitoring): classify and admit material impacts - #6470
Open
koala73 wants to merge 7 commits into
Open
feat(company-monitoring): classify and admit material impacts#6470koala73 wants to merge 7 commits into
koala73 wants to merge 7 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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
Company Monitoring can now turn normalized evidence candidates into deterministic publish, hold, reject, or expiry decisions. The model proposes structured facts only. Versioned policy owns the confidence floors, source authority, retry schedule, and final decision.
This is the admission slice after normalized evidence. Downstream impact publication remains a separate slice and is not part of this PR.
This PR does not close the target issue. The frozen admission scorer gate is not available, and its tracking issue remains open. Also, the current exact-content candidate contract cannot place two independently worded reports in one persisted candidate. That production path needs a separately approved event-level grouping contract before two-origin corroboration can clear end to end.
Design decisions
Type of change
Affected areas
/api/*)Validation
npm run test:datavitest run --config vitest.config.mts --maxWorkers=1— full Convex suitenpm run typechecknpm run typecheck:apitsc --noEmit -p convex/tsconfig.jsonThe checks cover all nine required fixtures, confidence boundaries, malformed and contradictory output, authority and syndication rules, held admission and expiry, replay conflicts, stale revisions, expired leases, purge safety, bounded provider responses, and transport-failure health. No credentialed live OpenRouter request was made.
Checklist
api/rss-proxy.jsallowlist (N/A: no feed added)npm run typecheck)expiresAtbounded to the first scheduled cron window (N/A: no health probe changed)Documentation Alignment Checklist
Rollout and rollback
Admission stays disabled unless both the OpenRouter key and classifier model are configured. After activation, monitor Company Monitoring worker outcomes and the admission decision ledger for claim or finalize errors, repeated lease expiry, a growing pending backlog, or a malformed-output reject spike. Disable the classifier configuration or revert this PR if those signals appear. Observe the first 72-hour hold window before treating the retry path as operationally accepted.
Related
Related: #6011, #6010, #6006, and #6012.
Screenshots
N/A. This PR changes backend policy and worker behavior only.