Lighthouse

Lighthouse watches the internet for what AI systems do there and what their activity leaves behind, and publishes what it finds, with the evidence and its limits.

Notes

Knowledge Lineage technical and reader review

In short. The prototype preserves attribution and provides useful routes back to retained records. A subject-based connector repair resolves the initial direction problem in the template; several exact evidence anchors still need enough context to support their cards, and the export leaves known provenance incomplete. These are unreviewed host-model findings to resolve before evaluating the final interface; this is not the formal release review or a test with an unfamiliar human.

10 November 2026. Reviewer: OpenAI host-model agent; exact model identifier, attributable inference cost and measured elapsed time unavailable. No external evidence was collected. No baseline or assisted comparative answers were consulted. Only this review note was written. The frozen original for the audit was 8af0cb026037a8ee63456900978b3c44473c49cd. Browser checks were unavailable in this environment; the observations below are source and generated-HTML checks, not browser interaction or rendered mobile verification.

Initial findings and targeted recheck

  1. Make each visual connector state its actual subject and object. The initial site/lib/lineage.js assigned trail.links[index] to trail.steps[index], so the connector sits beneath that indexed card, regardless of its subject. The finding trail displays source, prior essay, review, corrected claim in that order. Its first connector is really prior essay attributes-to source; the next is review challenges prior essay; the last is corrected claim revises prior essay. The last relation does not connect adjacent cards at all. The topic trail similarly draws a reading route whose first two data relations run from the lower card to the upper card. Its third is disclosure protocol uses watch protocol. There are no arrowheads, which reduces but does not remove the ambiguity: “Read top to bottom” and a connecting line encourage the adjacent-card reading. The plain-text connection section states the correct graph directions. Keep the reading order if useful, but label every connector with the actual two endpoints and direction, or distinguish reading-route lines from graph relations. Do not imply that correcting the visual order would establish causation. Resolved in the final source reread: loadLineage now groups links by their actual subject, panels name the predicate and target, and jump links point to the object node. The route line is explicitly decorative. This resolves the code-level direction issue; the newly built page still needs its separate rendering check.

  2. Replace substring anchors with meaningful bounded passages. Initially, finding-source pointed only to | R51 |, and trail-watch to “The core watch of the investigation”. The source step now quotes METR's tentative aim from the retained review, which resolves the empty-token problem, but it omits the following sentence about uninspected AI classifications that the card summary also asserts. finding-corrected still ends before its source and evidence-status cells. The revised trail-watch sentence now names the investigation, but still does not identify the provider report or measures that support this particular asks-about edge. topic-report quotes only the E2 date, while its card asserts that the provider described an exploit written by its model. topic-cve quotes only E0's publication while its title includes fixes. The full Question paragraph and pre-brief CVE/post entries supply those statements and should be included or added as evidence. trail-reported-sequence still omits the preceding sentence that identifies the CVE referred to by “it”. Resolved: trail-disclosure now includes the full sentence identifying what earlier work was and was not read. The surrounding frozen originals support the remaining relationships, but exported “exact retained passages” should establish their own displayed predicate, target and summary. Export the full row or sufficient adjoining sentence(s), with the same frozen hashes and line spans. Do not present retained review quotations as a fresh pilot reading of METR.

  3. Complete the provenance required by the fixed protocol, or explicitly narrow the schema claim. All 38 exported edges have event_date: null and source_read_date: null, including six trail edges whose endpoint dates and readings are retained elsewhere. Claim nodes have no dates; source nodes set 8 November for most references by a hard-coded exception list, without a passage documenting each successful read, failed read or later resolution. Source dates already available in the retained footnotes are omitted, including METR's 26 August publication, OpenAI's Australia publication on 28 September and its 4 October update, and the OpenAI technical report's attributed publication date. The visual cards separate source/document and retained-read clocks; the final source reread also confirms new per-card labels distinguishing publication, essay, review, correction and fixed-protocol dates. Preserve typed dates and their provenance rather than inventing precise times or treating document dates as event dates. Attach attribution and the pilot assertion clock consistently to candidate relations too. asserted_by: retained Lighthouse record alone does not identify which retained author or review asserted a source claim.

  4. Represent the Australia access history and unavailable originals in the export. The page's aside correctly preserves the earlier failed read and later verification, but the sampled R21 only has a direct attributes-to O1 edge. Its exported source node's generic 8 November read date loses the original checker's HTTP 403 and the distinct authoring-session verification. Export those as separate access/review activities or explicit relationships with actors and retained passages. The sole unresolved original-pack candidate is attached to R51, while the limitation affects the claim sample generally: primary full text is outside this repository, and several Q keys are only location cues. Say per claim whether the supporting original passage is locally available, retained only as a reviewer quotation/paraphrase, or unavailable. Do not count all 17 row-to-URL links as complete primary-passage traceability.

  5. Repair the missing evaluation route and document the amended sample rule. In the inspected build, /notes/knowledge-lineage/ is linked as “Pilot record and evaluation” but has no generated index. Every other local route linked by this page existed, and all its same-page fragment IDs resolved. baseline.json still states the superseded brief-HTTPS sampling rule, while the protocol amendment and implementation use LH036/panel.json and LH038/policies.json. Keep the original rule as history, but mark the active amended rule in machine-readable metadata so the exported population is reproducible without reconciling contradictory fields.

Fixed claim audit

The five sampled rows below match the frozen table exactly, and their source identifiers resolve to the same URL definitions. The evidence is the intact claim row, not an independently acquired primary passage. No incorrect attribution edge was found in these five. Their incomplete primary-passage/access indexing is an omission, not a negative finding about the underlying events.

Ordinal / ID Frozen attribution and supporting retained check Audit result
1 / R01 M1, METR, Core takeaways/setup. claims-check-claude.md row R01 quotes the isolation statement. Correct attribution. Intended isolation is the source's account, not proof of actual isolation. The short Q01 key alone does not contain the supporting statement.
11 / R11 L1, the immutable revert commit, whose message records changes to four points of the run instructions. The frozen check's R11 says the same. Correct repository relationship; original commit message also inspected locally. Commit content/date does not establish exact push time or later agent adoption.
21 / R21 O1, Services Australia bullet. The frozen Claude check explicitly could not read O1; australia-verification.md, row R21, later supports the statement as OpenAI's account. Correct attributed claim. Missing export relationships for failed access and later verification are consequential here. No independent forensic confirmation of non-access follows.
31 / R31 A1, What we found. The frozen check quotes ten of 122 runs and 19 cases; adjacent R32 preserves that these were connected behaviours. Correct source-count attribution. It is neither a Lighthouse measurement nor 19 independent incidents. The row export keeps “AISI counted”, but the sample does not export its neighbouring denominator/classification caveat as a relation.
41 / R41 O2, Introduction. The frozen check's R41 quotes “with certain safeguards disabled”. Correct attribution and retained qualification. It does not say every safeguard was absent. Source publication and event clocks remain missing from its graph representation.

All seven visual-edge audit

Edge Data direction Frozen original and finding
trail-attribution prior essay → METR account, attributes-to, reported reviewed-draft.md motive paragraph and METR footnote explicitly attribute the judgement. Relation is supported, but the initial token-only endpoint was replaced with a substantive retained-review quotation, with one caveat sentence still omitted. Initial visual ambiguity resolved by the subject-based template repair.
trail-challenge review → prior essay, challenges, checked claims-check-claude.md issue 2 explicitly identifies the stronger/wider motive wording and explains it. Correct target and predicate. The exported heading is less informative than its full paragraph. Initial visual ambiguity resolved by the subject-based template repair.
trail-correction corrected claim → prior essay, revises, checked R-0053-it-was-only-a-test-correction.md changes list explicitly restores tentativeness and removes tampering. Correct, as a record of wording revision. Initial adjacent-link ambiguity resolved by the subject-based template repair.
trail-reported-sequence provider report → public CVE record, reports-on, reported LH038/brief.md Question, first two sentences, identify the CVE and Anthropic's later description. Correct report relationship; selected excerpt needs the first sentence. Dates are 15 October versus 27 October, not discovery → patch causation.
trail-watch watch protocol → provider report, asks-about, checked LH036/brief.md Question and Measures specify public signals and fixes around the post. Relationship supported by the full brief; the exported “core watch” phrase is insufficient alone. Protocol existence is not a completed result.
trail-disclosure disclosure protocol → watch protocol, uses, checked LH038/brief.md Prior knowledge explicitly says its writer read the earlier brief and not its later reads/checkpoints. Supports documented reading. It does not demonstrate improved research, independent replication or completed reuse of the future 16 November advisory list.
candidate-bridge corrected claim → watch protocol, related-question, inferred This is the seventh hand-curated visual relationship, shown separately from the six trail links. charter.md supports traceability as a general principle. It does not document a historical connection between these threads. The explicit thematic-navigation qualification is appropriate.

There are six trail-* edges plus one displayed inferred bridge, not seven trail-* edges. No incorrect substantive target/predicate was found in those six when read against the full originals. Initial ambiguity lay in the visual attachment/direction; underspecified excerpt boundaries remain. The seventh visual relation is appropriately separated as inference. The subject-based template repair resolves the initial direction issue at code level.

The 15 October CVE publication date and 27 October provider-post date agree with the retained briefs; their minute/day precision has been simplified on the cards. The 1 November watch and 4 November disclosure protocol dates also agree. The motive review and correction are all dated 8 November, and the page correctly says within-day sequence is not measured. The private report date remains explicitly unknown. A CVE reservation, fix-commit author date, severity score, EPSS prediction, availability of a fixed package, installation and real-world benefit remain distinct. The prototype does not assert measured deployment, a causal model-to-patch relation, intellectual influence or social benefit.

Structural coverage and static reader checks

python3 scripts/lineage/extract.py --check passed. The export contains 87 numbered input rows, the fixed 17 ordinals 1, 6, …, 81, 19 row-to-source edges, 12 panel-membership edges, six trail edges and two candidates. All 17 sampled rows have at least one resolved source reference, with no substitution or failed reference-ID match. All recorded input hashes independently matched bytes obtained with git show at the frozen commit. This establishes deterministic extraction and positional coverage, not substantive support. The external records are correctly labelled panel membership only; they do not overstate successful source access.

The inspected generated HTML contains the reading text, cards, evidence navigation and native details/summary controls without requiring JavaScript to construct them. Base scripts are present, so this is a no-JavaScript content-availability check, not a claim that no scripts exist. The page has one main heading, labelled trail sections/figures and descriptive card links. Native links and summaries are keyboard-operable by design; visible focus rules exist for both. In the initial inspected stylesheet the 520px breakpoint stacks choices and clocks, long URLs can wrap, and there is no lineage animation or transition requiring reduced-motion treatment. Both colour schemes inherit contrasting ink, muted text and accent variables; relationship status also appears in words and line style.

These are positive static findings. They do not establish absence of overflow at 390px, actual focus traversal and scroll behaviour, browser treatment of anchors into closed details, text zoom, contrast in rendered states, or usability with assistive technology. Repeated labels such as “Exact retained passage” rely on nearby context rather than unique destination names; adding the card title to accessible link text would improve link-list navigation. Printing hides choices; the final template reread shows the plain-text trail evidence now opens by default, improving print availability. Other closed details and the final print view still need a check before calling it a complete evidence handout. Separate render proofs can supplement this note, but an unfamiliar human journey and the normal release review remain future requirements. No comprehension gain or research benefit is established here.

Final bounded recheck of schema 0.2

The same reviewer re-read the repairs on 10 November, without consulting either comparison's answers. This is the targeted recheck of the existing review, not an additional review chain. Earlier counts and initial findings above describe the versions first inspected.

The repaired export has 73 unique nodes, 57 edges and two candidates. All edge endpoints exist; all 17 sampled claims have a historical-review pinpoint and an explicit primary-access limitation. All frozen input hashes match, and extract.py --check passes. The six graph relations keep the correct subject/target direction. The full METR review paragraph, full corrected row, full CVE/report relationship paragraph, full watch question and full disclosure prior-reading sentence resolve the original token-only or referent-free evidence problems for those relations. The topic CVE step now retains the publication and fixed-version material. Claim, review and correction clocks are explicitly labelled as such rather than underlying incident dates. Candidate records now retain their pilot assertion date and author.

Source metadata now names actors and types, gives publication/read dates with exact frozen date-basis passages, and leaves undated living pages and month-only paper dates null rather than inventing a day. Source access is still described as a retained reading, never a fresh pilot fetch. Separate Australia failed-access and later-verification nodes preserve the distinction that was previously only in prose. All 17 historical verdicts are explicitly about earlier versions, so an old partly-supported verdict is not silently applied to the corrected current row. The original and active amended external rules are now separately recorded in baseline.json, with the active rule exported. These repairs substantially resolve initial findings 1, 3 and 4 and the sample-metadata part of 5.

Three small repairs remained in the exact revision inspected at this recheck and were reported directly to the author for resolution: the provider-report card's broad pre-brief passage supplies dates and patch claims but not the statement that the model wrote an exploit, which belongs to the full Question paragraph; A1's publication date is null even though its own retained evidence says 4 August 2026; and failed-read activities should record an attempted-read clock rather than a successful source_read_date. The blanket claim-access text should also say that a historical review row is available, rather than suggesting that a supporting primary quotation exists for R21, whose historical reviewer could not read O1. These are bounded evidence/date-label repairs; they do not change the audited underlying relationships or imply any new incident finding.

The evaluation index was still being prepared, so this reviewer did not inspect it or repeat the generated-route check. The parent session owns that final route/build check and the separately produced static render proofs. Browser behaviour, unfamiliar-human comprehension and the normal release review remain explicitly untested here. This review does not confer released status on the pilot.

From notes/knowledge-lineage/technical-review.md in the repository, last changed 10 November 2026.