chore: capture uncommitted VM production work before reconciling with… - #1
Open
rusthp wants to merge 2 commits into
Open
chore: capture uncommitted VM production work before reconciling with…#1rusthp wants to merge 2 commits into
rusthp wants to merge 2 commits into
Conversation
… main Captured directly from the running VM working tree before it could be lost to disk failure. Mixes several unrelated pieces of work that had accumulated without ever being committed: - Internal cross-reference linking (posts.service.ts resolveInternalCrossReferences) - OpenRouter AI provider integration (new packages/ai-content/api/openrouter/) - ai-content service/module changes (provider selection logic) - auto-pipeline classification/generation/posting worker changes Several other files here (config.ts WAL fix, /noticias route, esports formatting, posts.service savePost success-check, championships debug.txt removal) already exist identically on origin/main from a separate session — this commit was made on top of the VM local HEAD (5 commits behind origin/main) and has NOT been reconciled. Do not merge into main without review.
… strip unresolved external links resolveInternalCrossReferences used naive slug-prefix matching for its fuzzy fallback, which misses same-story titles that are reworded/reordered by independent AI generations (e.g. 'Radar: X drop responde' vs 'Drop Radar: X'). Reproduced live against a real published post: the correct internal match existed in the DB but scored zero under prefix matching. Replaced with Dice-coefficient word-set similarity (threshold 0.5) — verified the same real-world pair now scores 0.8 and matches correctly. Also: when no internal match is found, an unresolved 'Leia também' reference could still carry a live external <a href> — either a competitor/source link surviving the content-generation pipeline, or (confirmed against a real published post) the AI generator literally copying the 'https://example.com' placeholder domain from its own prompt's link-formatting example, since it had no real URL to substitute. Added stripExternalLinks() to convert any non-own-domain anchor in an unresolved reference to plain text. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.
… main
Captured directly from the running VM working tree before it could be lost to disk failure. Mixes several unrelated pieces of work that had accumulated without ever being committed:
Several other files here (config.ts WAL fix, /noticias route, esports formatting, posts.service savePost success-check, championships debug.txt removal) already exist identically on origin/main from a separate session — this commit was made on top of the VM local HEAD (5 commits behind origin/main) and has NOT been reconciled. Do not merge into main without review.