Skip to content

chore: capture uncommitted VM production work before reconciling with… - #1

Open
rusthp wants to merge 2 commits into
mainfrom
vm-uncommitted-work-2026-07-27
Open

chore: capture uncommitted VM production work before reconciling with…#1
rusthp wants to merge 2 commits into
mainfrom
vm-uncommitted-work-2026-07-27

Conversation

@rusthp

@rusthp rusthp commented Jul 28, 2026

Copy link
Copy Markdown
Owner

… 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.

root and others added 2 commits July 27, 2026 22:32
… 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>
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