← back to Rentv 2026
pr-intelligence: full HTML-entity decode in extraction paths (ndash/mdash/8217); yoloforever c1 data-quality pass
8ed15735ef684b53dde0cb94245b26ab0029de9f · 2026-07-30 15:38:28 -0700 · Steve Abrams
Files touched
M src/pr/adapters/index.jsM src/pr/adapters/website.js
Diff
commit 8ed15735ef684b53dde0cb94245b26ab0029de9f
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Thu Jul 30 15:38:28 2026 -0700
pr-intelligence: full HTML-entity decode in extraction paths (ndash/mdash/8217); yoloforever c1 data-quality pass
---
src/pr/adapters/index.js | 3 ++-
src/pr/adapters/website.js | 4 +++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/pr/adapters/index.js b/src/pr/adapters/index.js
index ea9da462..fd1adc24 100644
--- a/src/pr/adapters/index.js
+++ b/src/pr/adapters/index.js
@@ -86,7 +86,8 @@ function stripTags(html) {
return String(html || '')
.replace(/<script[\s\S]*?<\/script>/gi, ' ').replace(/<style[\s\S]*?<\/style>/gi, ' ')
.replace(/<[^>]+>/g, ' ').replace(/ /g, ' ').replace(/&/g, '&')
- .replace(/�?39;|’|‘/g, "'").replace(/"|“|”/g, '"')
+ .replace(/�?39;|’|‘|’/g, "'").replace(/"|“|”/g, '"')
+ .replace(/–|–/g, '\u2013').replace(/—|—/g, '\u2014')
.replace(/\s+/g, ' ').trim();
}
diff --git a/src/pr/adapters/website.js b/src/pr/adapters/website.js
index a352bfd2..aa62bb79 100644
--- a/src/pr/adapters/website.js
+++ b/src/pr/adapters/website.js
@@ -38,7 +38,9 @@ function extractPeople(html) {
const text = String(html)
.replace(/<script[\s\S]*?<\/script>/gi, ' ').replace(/<style[\s\S]*?<\/style>/gi, ' ')
.replace(/<(h[1-6]|p|div|li|td|span|strong|em|a|br)[^>]*>/gi, '\n').replace(/<[^>]+>/g, ' ')
- .replace(/ /g, ' ').replace(/&/g, '&');
+ .replace(/ /g, ' ').replace(/&/g, '&')
+ .replace(/–|–/g, '\u2013').replace(/—|—/g, '\u2014')
+ .replace(/�?39;|’|‘|’/g, "'").replace(/"|“|”/g, '"');
const lines = text.split('\n').map((l) => l.replace(/\s+/g, ' ').trim()).filter(Boolean);
const people = [];
const NAME_RE = /^([A-Z][a-z]+(?:\s+[A-Z]\.?)?(?:\s+[A-Z][a-z'’-]+){1,2})$/;
← 1bcdcd8d pr-intelligence: alias-qualify all whole-row reads (fleet pr
·
back to Rentv 2026
·
pr-intelligence: Cody-gate fixes — hard search-query budget a52862d9 →