Skip to content

fix(core): read only page dates in lastmod verifiability - #89

Closed
k2kirov wants to merge 1 commit into
mainfrom
fix/lastmod-verifiability-page-signals
Closed

k2kirov wants to merge 1 commit into
mainfrom
fix/lastmod-verifiability-page-signals

Conversation

@k2kirov

@k2kirov k2kirov commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Two false readings in machine-discovery/sitemap-lastmod-verifiability, found on a large retail site.

1. Review dates counted as page dates. The audit read dateModified/datePublished from every JSON-LD node, nested ones included. the site product pages publish no page date but nest customer reviews ("review":[{"@type":"Review","datePublished":...}]). Five pages were reported 26–55 days "divergent" from review dates. The audit now reads top-level nodes, @graph members and what they nest, minus nested Review, Comment, Answer and Question. A top-level Review keeps its dates.

2. Build stamps written seconds apart were missed. The modal test compared lastmod strings exactly. the site stamped 2451 product URLs between 09:57:16 and 09:57:33 on one day; exact matching saw 2451 distinct dates. The audit now counts the largest group of sampled values inside a one-hour window. The 90% share and 3-day recency rules are unchanged.

Also corrects a code comment that said the modal test counts only compared URLs; it counts the whole sample, as the dossier specifies.

Verification

  • 5 new tests. The two review-date tests fail on the old code and pass with the fix.
  • build, test (AL_SKIP_NETWORK=1), typecheck, lint, check:dossiers, check:requires, check:audit-map, format:check all pass.
  • Rescan of a large retail site: fail (0 corroborated, 5 divergent, 1 unverifiable) -> warn (6 unverifiable, "add dateModified"). The build stamp does not fire there: the run is 4 days old, past the 3-day recency rule.

Dossier: two implementation deviations added. Patch changeset.

Independent of #88.

Nested Review, Comment, Answer and Question dates record when someone
else wrote, not when the page changed. Reading them as page signals
reported product pages that publish no page date as divergent instead
of unverifiable.

Count lastmods within one hour as one build stamp. A generator that
writes the clock per URL spreads one run over seconds, and exact
string matching missed it.
@k2kirov
k2kirov force-pushed the fix/lastmod-verifiability-page-signals branch from 8b0eef5 to 8b2e2c3 Compare October 6, 2026 09:17
@k2kirov

k2kirov commented Oct 6, 2026

Copy link
Copy Markdown
Contributor Author

Consolidated into #109. This branch's commits were merged into staging/false-positive-fixes, which ships to main through #109.

@k2kirov k2kirov closed this Oct 6, 2026
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