FIXED — same day (2026-08-03 evening). All defects below were repaired and re-verified live: the ~27 bare-link targets now point at real pages on this site (new fix_links.py sweeper, wired into both pull scripts so re-pulls stay clean); the 21 stale footers and the /#contact anchor were retargeted; the double nav on the funnel pages is gone; forgot-password now works end-to-end on this site (/forgot + /reset pages live, API answering); the address-card "What is it worth?" link, relo-concierge.js, the cost-seg PDF, and a local copy of the listing page (/ng_re_listing.html) all serve 200. Leftover-bad-link re-grep across the webroot: zero hits outside the planning pages. Not done (cosmetic): old neumangroupre.com URLs inside JSON-LD on 6 pages.

Prestige (Neuman Group preview) — Site Walk

Run date: 2026-08-03  ·  Site: prestigen.letaibuildit.com  ·  Server: Contabo 209.126.85.12, /opt/apps/prestige-neuman/web  ·  Persona: first-time visitor / tool user  ·  Viewports: 1280×800 desktop, 375×667 mobile
Scope: visitor-facing pages only. Excluded per instructions: audience-map.html, tools-map.html, tool-plan.html, tool-locations.html, everything under /review/. Also excluded 3 more root files that turned out to be internal planning workspaces, not tools — appraisal-buyer.html, appraisal-seller.html, compare.html all load with the banner "Workspace · nothing here is live · type notes under any block" and post to /notes/api, not a real tool. 173 visitor-facing pages audited.

Three jobs, in one line each

JobResult
1. JS API-call audit — every tool stays on prestigen.letaibuildit.comPASS — 0 off-site API calls found, static + live
2. Prove "copied not moved" — originals still live on reminedPASS — 18/18 sampled routes still registered (remined is login-gated site-wide, so we saw 302→login, not 404)
3. Click-crawl — every link goes somewhere, no dead pagesDEFECT — 0 page-level 404s, but 34 pages carry internal links to paths that don't exist

Counts

176
HTML pages in scope
173
audited as visitor-facing
0
page-level 404s / 500s
0
off-site API calls
0
tools that failed to return data
0 / 18
originals missing on remined
34
pages with a broken internal link
~27
distinct broken internal targets

Bottom line

The data layer is clean. The internal plumbing between pages is not.
  1. Every tool actually works and stays on-domain. Address search, the MLS grid, the POI map, rent-vs-buy calc, and the home-worth funnel all returned real data from prestigen.letaibuildit.com/api/... — zero calls to remined/neuman/analysis hosts, checked both by reading every fetch() in every .js/.html file and by watching the network tab live.
  2. 34 pages still link to the OLD remined flat-URL scheme (e.g. /dealfinder.html, /lowball.html, /rent_check.html) instead of the real prestigen filenames. This is the exact bug your own WORKLOG.md RULE 3 already named ("A bare /dealfinder.html resolves against prestigen and 404s") — it's still live on 34 pages, not just the one it was written about.
  3. 9 of those targets already have a working local copy sitting right there (/ng_dealfinder.html, /ng_lowball.html, /ng_appraisal_order.html, /ng_value-explainer.html, /ng_rent_check.html, all pulled local by pull_tools_local.py and confirmed working) — those just need the link target fixed. The rest have no local copy at all yet, so per RULE 3 they need a full https://remined.letaibuildit.com/... origin, not a bare path.
  4. 21 pages also carry the original site's stale footer (dead links to /blog/, /faq, /boca-raton-property-management) and a "Talk to us" link pointing at /#contact, an anchor that doesn't exist anywhere on the site (the real one is #talk).
  5. ng_home-worth.html renders two separate navigation bars stacked on top of each other — the new prestigen nav, and the old remined nav underneath it, both live at once. Sitewide "Forgot password" (_auth.js) also 404s everywhere.
Per project WORKLOG.md RULE 1: every .html in web/ is generated — a hand-edit survives until the next python3 build_*.py run, then gets silently wiped. All fixes below belong in the generator scripts (pull_tools_local.py / whichever build_*.py emits each ng_ page), not as direct edits to the HTML files.

Job 1 — JS API-call audit

Checked every fetch() in every .js and .html file on the server (no absolute hosts anywhere, no API_BASE-style host prefixes), then actually used the tools in a real browser and read the network tab.

PASSAddress search — /ng_listings.html
Did typed "100 Las Olas" into the address box, got live autocomplete, clicked a result.
Saw real property card: 5 bed / 7 bath / 5,281 sqft, last sold $5,000,000 (2023-05-18), asked $5,989,000.
Network /api/addr-suggest?q=... → 200, /api/addr-card?key=... → 200. Both on prestigen.letaibuildit.com. 0 console errors.
PASSMLS listings grid + rent-vs-buy calculator — /ng_listings.html
Saw "83,663 active listings, refreshed every 2 hours." Calculator sliders recompute equity/rent numbers live client-side.
Network /api/listings, /api/listings/db, /api/listings/counts, /api/listings/cities, /api/geo/coverage, /api/data-freshness — all 200, all on prestigen.letaibuildit.com.
PASSPOI finder — /ng_points-of-interest.html
Did loaded default "Houses of worship" category.
Saw 204 real markers on the Leaflet map, dropdown populated with named synagogues/churches across Miami-Dade/Broward/Palm Beach.
Network /api/geo/pois?cat=worship&bbox=... → 200, on-domain. 0 console errors.
PASSHome-worth (appraisal seller) funnel step 1→2 — /ng_home-worth.html
Did typed an address, clicked Continue.
Saw form advanced to "Tell us about the home" (property type / beds / baths / sqft) with no errors.
Network all on-domain telemetry/auth calls. Stopped before the final lead-submit step to avoid sending a real lead — see "not verified."
DEFECT"What is it worth?" link inside a working tool is broken — /ng_listings.html → addr-card
Where after an address search, the result card's "What is it worth? →" link points to /home-worth?address=...
Actual /home-worth → 404. The real page is /ng_home-worth.html, which is 200.
Why it matters found by actually clicking through the tool, not by reading code — a user who searches an address and wants a valuation hits a dead end.
DEFECTForgot-password is broken sitewide — _auth.js
Where _auth.js lines 209 and 240, loaded on every page that has the login modal.
Actual sends the user to /forgot?email=..., which 404s (also confirmed the same dead link on login.html, pointing off-site instead to https://neumangroupre.com/forgot.html).
Why it matters anyone who forgets their password on the preview site cannot reset it.
NOTEFacebook Pixel fires from the preview domain
Where every ng_ tool page loads connect.facebook.net/.../fbevents.js and posts PageView/VisitorIntent/SubscribedButtonClick events to facebook.com/tr with pixel id 1568377504745301.
Why it matters not an app-API leak (it's a standard ad pixel, so it's not counted in the "off-site API calls" tally), but if that's the same pixel ID the live production site uses, every test click on this preview build is being counted in Dan's real Meta ad analytics.

Job 2 — Prove "copied not moved"

remined.letaibuildit.com requires login on every route, including the homepage (302 → /login). No credentials were given, and none were guessed. Instead of logging in, checked whether each route is still registered on the server — a 302-to-login means the route still exists; a 404 would mean it was deleted. (Per WORKLOG RULE 2b, a bare 200 wouldn't be proof either way on this site — noting for the record that this check used the raw status code, not a signed-out render, so it proves "not deleted," not "renders correctly for a stranger.")

Prestige copyremined originalResult
ng_listings.htmllistings.htmlEXISTS 302→login
ng_appraisal.htmlappraisal.htmlEXISTS 302→login
ng_appraisal_order.htmlappraisal_order.htmlEXISTS 302→login
ng_points-of-interest.htmlpoints-of-interest.htmlEXISTS 302→login
ng_home-worth.htmlhome-worth.htmlEXISTS 302→login
ng_dealfinder.htmldealfinder.htmlEXISTS 302→login
ng_zoning-map.htmlzoning-map.htmlEXISTS 302→login
ng_rent_check.htmlrent_check.htmlEXISTS 302→login
ng_moneymakers.htmlmoneymakers.htmlEXISTS 302→login
ng_broker_cave.htmlbroker_cave.htmlEXISTS 302→login
ng_upside_map.htmlupside_map.htmlEXISTS 302→login
ng_migration_map.htmlmigration_map.htmlEXISTS 302→login
ng_tax-walk.htmltax-walk.htmlEXISTS 302→login
ng_cost-segregation.htmlcost-segregation.htmlEXISTS 302→login
ng_find.htmlfind.htmlEXISTS 302→login
ng_area.htmlarea.htmlEXISTS 302→login
ng_value-explainer.htmlvalue-explainer.htmlEXISTS 302→login
ng_lowball.htmllowball.htmlEXISTS 302→login

18/18 sampled — none missing, none deleted. This backs up the "Prestige preview" banner's claim that "the live site is untouched," and also confirms these particular ng_ pages really are copies of live remined tools (matches the pull_tools_local.py header comment found in each file: "Pulled into the Prestige webroot ... Original tool lives on REmined and is untouched.").

Job 3 — Click-crawl

PASSPage-level integrity
All 176 in-scope HTML files return 200 hit directly. Clean URLs used in nav (/listings /buy /sell /invest /taxes /manage /agents /relocate /research /about /how-we-get-paid /privacy /terms) all 200. A nonsense URL returns a real 404 (not a silent 200).
DEFECT34 pages link to paths that don't exist — the RULE 3 bug, unswept
Pattern internal links keep the flat, non-prefixed remined filenames instead of pointing at either (a) the real prestigen file if it's already been pulled local, or (b) the full https://remined.letaibuildit.com/... origin if it hasn't.
Already has a working local copy — just needs the link target fixed:
  • /dealfinder.html 404 → real page is /ng_dealfinder.html (200, confirmed pulled-local + has 11 local fetch() calls) — linked from ng_appraisal.html
  • /lowball.html 404 → real page is /ng_lowball.html (200) — linked from ng_commercial_deals.html, ng_dealfinder.html
  • /appraisal_order.html 404 → real page is /ng_appraisal_order.html (200) — linked from ng_appraisal.html
  • /value-explainer.html 404 → real page is /ng_value-explainer.html (200) — linked from ng_premium.html
  • /rent_check.html?address=... 404 → real page is /ng_rent_check.html (200) — built at runtime by ng_moneymakers.html
  • /commercial.html?q=... 404 → real page is /invest/commercial.html (200) — built at runtime by ng_commercial_deals.html, ng_area.html
  • /relocation/for-employers, /relocation/concierge, /relocation/corporate-housing 404 → folder is actually /relocate/ not /relocation/ (/relocate/for-employers.html is 200) — linked from ng_relocation.html, ng_relocation-for-employers.html
No local copy exists yet — per RULE 3 these need the full remined/neumangroupre origin, not a bare path:
  • /dialer.html, /re_listing.html?key=... — built at runtime by ng_moneymakers.html, ng_zoning_deals.html, ng_dealfinder.html
  • /hub.html, /maps.html — linked from ng_appraisal.html, ng_deal-map.html, ng_zoning-map.html
  • /resources, /resources.html, /sellers, /for-buyers, /for-investors, /how-it-works, /property-management — scattered across ng_mortgage.html, ng_your-path.html, ng_the-flip.html, ng_best-value.html, ng_prices.html, ng_find.html, ng_tax-walk.html, ng_boca-raton-luxury-homes.html
  • /relocation/relo-concierge.js — a whole script file is missing on ng_relocation.html, so whatever it powered doesn't run at all
  • /data/cost-segregation-audit-risk.pdf — missing download referenced on ng_cost-segregation-audit-risk.html
DEFECT21 pages carry the original site's stale footer
Where ng_best-value.html, ng_boca-raton-luxury-homes.html, ng_closings.html, ng_coral-gables-luxury-homes.html, ng_cost-segregation-audit-risk.html, ng_cost-segregation.html, ng_find.html, ng_fort-lauderdale-waterfront-homes.html, ng_listings.html, ng_mortgage.html, ng_my-homes.html, ng_palm-beach-luxury-real-estate.html, ng_prices.html, ng_tax-plan.html, ng_tax-snapshot.html, ng_tax-target.html, ng_tax-walk.html, ng_the-flip.html, ng_why-florida.html, ng_your-path.html, and the door page manage.html.
Actual footer links to /blog/, /boca-raton-property-management, /faq, /sell-your-south-florida-home — all 404. "Talk to us" points to /#contact, which has no matching id="contact" anywhere on the site (the real anchor is id="talk" on the homepage).
Why it matters this is the ORIGINAL remined/neumangroupre footer, structurally different from the prestigen shared footer used on the door pages (index, listings, buy, sell, etc.) — two footer/nav systems live on one site.
DEFECTTwo navigation bars stacked on one page
Where /ng_home-worth.html
Actual the prestigen top nav (Listings/Buy/Sell/Invest/Mitigate My Taxes/Manage/Agents + Account menu) renders, then directly below it a second, separate banner with its own "THE NEUMAN GROUP" logo and phone numbers — a leftover from the original page template.
Evidence assets/dual-nav-home-worth.png (saved to the walkthrough folder, not this server)
PASSMobile pass (375×667)
Homepage and ng_listings.html: no horizontal scroll, nav and CTAs reachable, 0 console errors on either.
MinorOrphaned duplicate file
danN.html and dann.html are byte-identical and not linked from anywhere else in the crawl — both are generated by build_appraisal_partner.py per WORKLOG (intentional, a partner's separate notes copy), so this is by design, not a bug — flagging only the case-only filename risk if this ever lands on a case-insensitive filesystem.
MinorStructured data (JSON-LD) still points at neumangroupre.com
Where ng_boca-raton-luxury-homes.html, ng_coral-gables-luxury-homes.html, ng_fort-lauderdale-waterfront-homes.html, ng_market-pulse.html, ng_moving-to-miami.html, ng_palm-beach-luxury-real-estate.htmlog:url / mainEntityOfPage in the ld+json still say https://neumangroupre.com/... instead of the prestigen URL. Not a functional break (pages carry noindex,nofollow per RULE 5, so no crawler will act on it), but flagging as another "copied, metadata not updated" spot for whenever this goes live for real.

What I did NOT verify

Recommended fix order

  1. In the generator(s) that emit the ~30 affected ng_ pages, fix the ~27 broken href targets: point the 9 that already have a local copy at their /ng_*.html path; make the rest full https://remined.letaibuildit.com/... URLs per RULE 3. Do not hand-edit the HTML — it will get wiped on next build (RULE 1).
  2. Fix sitewide /forgot in _auth.js (2 lines) and the off-site forgot-password link on login.html.
  3. Swap the 21 stale remined footers for the shared prestigen footer, and fix the /#contact#talk anchor.
  4. Strip the duplicate nav bar off ng_home-worth.html (and audit sibling pages using the same template).
  5. Fix the "What is it worth?" link generated by the address-search result card (/home-worth/ng_home-worth.html).
  6. Cosmetic, when convenient: update the leftover neumangroupre.com URLs in JSON-LD on the 6 pages listed above.