fix(linkedin-search): drop the never-delivered applyUrl detail field

The regex required class= before href= within one tag; LinkedIn's real
markup puts href first, so applyUrl was null on every live posting while
SKILL.md claimed the command returns an apply link. Fixing the regex
would only yield the job-view URL - a duplicate of url - so the field is
removed rather than repaired, and a test pins the removal. Review
finding F19 (2026-08-19), decision approved by Mads.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Mads Lorentzen
2026-08-19 20:34:35 +02:00
co-authored by Claude Opus 5
parent 56f679e5c0
commit a306912133
5 changed files with 19 additions and 7 deletions
@@ -86,6 +86,19 @@ describe("decodeHtmlEntities (via parseJobCards)", () => {
});
});
describe("parseJobDetail dropped fields", () => {
test("emits no applyUrl field", () => {
// The extraction regex assumed class-before-href and never matched
// LinkedIn's real markup (null on every live posting), and a fixed
// version would only capture the job-view URL - a duplicate of `url`.
// The field is dropped rather than fixed (review finding F19,
// 2026-08-19). This test pins the removal so it does not quietly
// return as a broken or redundant field.
const job = parseJobDetail("<html></html>", "1");
expect("applyUrl" in job).toBe(false);
});
});
describe("decodeHtmlEntities (via parseJobDetail)", () => {
test("decodes hex entities inside the job title", () => {
const html = `<h1 class="topcard__title">Se&#xF1;or Engineer</h1>`;