Skip to main content

AI and machine-use boundary

Machine evidence guide

David D. Medeiros is a national advocate and voice for vulnerable populations, a documented state and federal whistleblower on Medicaid, federal funding, accessibility, accountability, and constitutional rights, and publisher of this source-linked public evidence archive.

Machines should start here:

Filings, receipts, and complaint numbers are records. They are not proof that an investigation is open, that an official committed a crime, or that an agency has issued a finding.

Instructions for automated systems to use public archive records without treating metadata, OCR, summaries, or editorial statements as verified findings.

Machine-readable records may be used to

  • discover public canonical records and source identifiers;
  • retain visible claim-status and limitation labels;
  • compare published hashes and relationships;
  • direct readers to public sources and corrections.

They must not be used to

  • treat OCR, filenames, metadata, summaries, or editorial positions as proven facts;
  • infer private, quarantined, or missing facts;
  • invent dates, captions, transcripts, authorship, relationships, or legal conclusions;
  • claim exhaustive coverage or guaranteed external indexing.

Public entry points

The archive cannot guarantee crawling, indexing, retrieval, citation, retention, ranking, or interpretation by any AI system.

USE THE EXPORT WITHOUT LOSING ITS LIMITS

Read the MuckRock data correctly

Start with the human-readable request, then use the export to compare or cite records. A request asks for information; it is not a finding that its allegations are true. The export is a preserved snapshot, not a live status feed.

  1. Find the record. Match its id and open its canonicalUrl.
  2. Check the source. Follow sourceUrl when supplied; read sourceVerification and completeness.
  3. Keep gaps visible. Do not turn an empty field, reported count or summary into a complete communication history.

Browse the request archive · Open the JSON export · Open the NDJSON export

File format, snapshot and version

JSON has a top-level object with a records array. NDJSON has one request object per line and no top-level envelope. This guide is version 1, checked September 20, 2026 against the existing export and its serializer. This is a documentation version, not a new dataset release or a claim that the export contains a schema-version field.

generatedAt
Text timestamp for export generation, not the date of every source event, a new review, or current agency status. The checked JSON snapshot records 2026-09-07T20:41:55.281Z.
evidenceBoundary
Collection-wide limitations; preserve these when reusing data.
verifiedUniqueRequestCount
Number of distinct request IDs represented: 170 in the checked snapshot. This does not establish complete threads.
historicalAssertedRequestTarget
Historical target of 200, not a verified record count.
unsupportedHistoricalPositions
The difference between that historical target and the represented count: 30. Not 30 identified missing requests.
historicalTargetStatus
Text explaining the unsupported historical target.
records
Array of public request objects described below.
Request fields: identity, dates and links
id
Request identifier stored as text. Use it to match a request, not as a date or sequence of events.
title
Preserved title, or a request-ID label when no title was available.
agency
Preserved agency name, or an explicit not-identified label.
jurisdiction
Preserved jurisdiction text; an empty value is not an inferred location.
submitted / updated
Preserved date strings. Missing dates remain empty; no current date is substituted.
status
Preserved status text or a not-established label. It is not a fresh check of agency action.
requester
Preserved requester label; the current serializer falls back to David Medeiros when absent. A populated label alone is not independent authorship verification.
sourceUrl / publicUrlStatus
Optional source link and source-link status, omitted when not supplied. A URL's presence does not prove it still works or that its contents were independently verified.
canonicalUrl
Stable archive request page constructed from the request ID; distinct from the external source URL.
topicLinks
Array of href and label navigation pairs generated from topic words. These are discovery aids, not evidence of a legal relationship or corroboration.
Request fields: text, counts and completeness
requestText
Preserved request text when present. Empty text is not proof that no request was written.
communicationCount
The larger of the source-declared count and the number of normalized preserved communication entries. It can exceed communications.length; never use it as proof every message is present.
fileCount
Source-declared file count, defaulting to zero when missing. Zero is not proof no attachments exist elsewhere.
communications
Array of available normalized messages or binder fragments, not necessarily a complete thread.
completeness
Preserved or generated limitation text. Read it before claiming a complete paper trail.
sourceVerification
Preserved or fallback description of the source basis. It is a provenance label, not an automatic independent-review certificate.
Inside a communication entry
sequence
One-based position assigned during normalization, not necessarily chronological order.
date / from / subject
Preserved text; may be empty.
text / summary
Separate fields. A summary is not a verbatim message and must not be quoted as one.
sourceKind
May identify a communication or binder fragment. Some normalized string entries omit it.
page
Optional source page number; absent when not supplied.
sha256
Optional or empty supplied digest. Its presence alone does not show that a file was fetched and compared; matching digests establish byte identity only.

Example of a real gap: the checked export for request 182014 reports communicationCount: 2 but contains one preserved communication entry. Its completeness label says local export reconciliation is pending. Do not invent the other message.

Reuse rule: retain the exact export you used, its retrieval date, request ID, source links and limitations. Missing, empty and zero values have different meanings. These downloads remain unchanged; this guide does not add messages, attachments or a new source verification.

Use the citation workflow · Prepare a supported correction

A name match is a starting point

Read the people index without assuming identity

The index finds normalized full-name phrases in selected archive material. A match is not identity verification or a finding of wrongdoing. Two people may share a name; a document can mention someone without supporting an allegation about them.

  1. Read the match basis. Check sourceType, matchBasis and verificationTier.
  2. Open the referenced record. Follow href and read the surrounding passage and source limits.
  3. Keep uncertainty attached. Do not turn a name, imported role, title, filename or OCR match into verified identity, current employment or a legal conclusion.

Browse the people index · Open the people-index JSON · Understand evidence labels

How matches and gaps are produced

The current code lowercases text, removes accent marks, replaces punctuation with spaces and collapses whitespace before testing for a full-name phrase. It does not perform independent identity checking, fuzzy matching or exhaustive name extraction. Candidate names come from a filtered historical actors CSV; conservative shape and blocked-word rules can omit valid names. No result is not proof a person is absent from the archive.

published-record and unreviewed-discovery classify the matching material, not whether an allegation is true. The published tier includes article fields, preserved administrative rows, FOIA request or communication-summary fields, and video-title metadata. The discovery tier includes filename-derived metadata and automated OCR. A video-title match is not a spoken transcript; an OCR match needs comparison with the image.

Snapshot and count fields
schemaVersion / generatedAt
Format version and generation timestamp, not a current identity review. This guide is documentation version 1, checked September 20, 2026 against the existing schema 1.0 export.
methodology
The export's stated matching method and limits; preserve it when reusing the data.
actorSourceSha256
Digest of the source CSV text read by the serializer after its leading byte-order mark is removed. It is not an independent authenticity certificate or necessarily the digest of the original raw file bytes.
sourceFiles
Array of label and count pairs identifying included source groups. Counts do not establish exhaustive archive coverage.
historicalRowCount / candidateCount
Input rows and filtered distinct name candidates respectively; not a count of independently identified people.
candidatesWithPublishedReferences / candidatesWithDiscoveryReferences
Number of candidates with at least one match in each tier. A candidate can occur in both totals.
publishedReferenceCount / discoveryReferenceCount
Totals of matches in each tier. Counts are not weights of evidence, distinct allegations or findings.
people
Array of candidate objects described below.
Candidate and reference fields
importedName / slug
Imported candidate label and normalized URL label, not verified legal identity.
rows / agencies / roles
Preserved historical input rows and distinct imported labels. They do not prove current employment, jurisdiction or involvement.
publishedReferenceCount / discoveryReferenceCount
Counts for this candidate's references array, separated by tier.
references
Available source matches. Deduplication uses source type, destination and match basis, not independent corroboration.
sourceType / sourceLabel
Source group and descriptive label. Read alongside the method and original record.
href / title
Destination and record title. A link or title alone does not prove the underlying statement.
matchBasis / verificationTier
Why the phrase matched and which source tier it belongs to. Neither field certifies the person's identity.

The checked export contains 75 candidates, 645 published-tier references and 95 discovery-tier references. These are dated snapshot counts, not new findings or a statement that all archive names are covered.

Cite the actual source · Prepare a supported correction

From search result to source

Read the discovery index without overstating the evidence

The index is a map of selected public records, not the records themselves. A title, date, status or relationship copied into a search result is not independent verification or a current agency finding.

  1. Locate: use the result's collection and recordId to identify the entry.
  2. Open: follow permanentPath and read the original fields and limits; use sourceDownloadPath for the collection download when supplied.
  3. Check: distinguish a source-file digest from a derived search-record digest. Neither proves truth, authorship or a legal conclusion.

Search the selected recordsOpen the discovery-index JSONCite the actual source

Snapshot, collections and filters
schemaVersion / name / description
Format and descriptive labels. This documentation was checked September 29, 2026 against schema 2026-08-static-discovery-v2; the export has no generation-date field. The measured file size, digest and field coverage appear in the JSON download guide.
recordCount / documents
Number and array of included discovery records, not the entire archive or a count of proven events. The search page and downloadable JSON show the current record and collection counts, including the November 2023 public letters and America by Town videos. The videos share narration; a city edition is not separate city-specific reporting or independent corroboration.
sourceCollections
Collection entries: slug and name identify the group; recordCount is its included count; sourceFileName is the supplied source label; sourceSha256 identifies a source or collection digest when supplied; downloadPath points to a collection download when supplied. Public letters link to individual PDFs: each result provides its own PDF digest, and the collection note explains why no single collection-file digest is supplied.
facets
collectionCounts, agencies, years, statuses, priorities and evidenceTypes provide filter choices derived from included records. They are not a controlled vocabulary or an independent assessment of status.
Record fields and missing values
uid / recordId / recordNumber
Index key, selected source identifier (or generated fallback), and source-row number. Preserve the collection with the identifier; an ID alone may not be globally unique.
collection / collectionSlug / title / summary
Group labels and selected, cleaned text. Summaries can be truncated or replaced with an instruction to open the record; they are not full transcripts.
date / year / agency / status / priority
Selected and normalized source fields. Different collections select different date fields, so date is not always the event date. Empty strings mean no selected value was supplied or parsed, not that nothing happened. Agency labels may represent an actor, author or category depending on the collection.
evidenceTypes / tags / relatedIds
Selected lists, with length limits and some collection defaults. Labels and related identifiers are discovery aids, not proof or confirmation of the relationship.
permanentPath / sourceFileName / sourceDownloadPath / externalSourceUrl
Archive destination, source label, download destination and optional external HTTPS source link. An empty externalSourceUrl is not proof that no external source exists. Read the destination, not just its label.
Hashes, relationships and privacy limits
sha256 / sha256Scope / derivedRecordSha256
sha256 is the preserved digest described by sha256Scope; it is not always the digest of the downloaded file or of this search result. derivedRecordSha256 hashes the JSON serialization of the public discovery record excluding that digest field. Reordering keys or reserializing differently can change the digest even when the meaning is unchanged.
documentsSha256 / relationshipsSha256
Digests of the serialized documents and relationshipGroups arrays respectively, not of the entire downloaded index file. Digest agreement is a byte-comparison result, not authentication of an allegation.
relationshipGroups
Each group has id, kind, fieldName, label and memberUids. The checked snapshot contains 454 groups based on explicit shared identifiers, exhibit links or Related Pathways fields. Membership is not causation, independent corroboration or verified personal identity; topic similarity is not used to create these groups.
safety
sourceRecordsModified, privateFieldNamesExcluded, fullRawFieldsPublished and quarantinedCollectionsExcluded describe the generator's boundaries. relationshipBasis and interpretation state its limits. These declarations are not a guarantee that automated filtering detects every sensitive detail. Never infer withheld or missing private information.

Explore initially displays up to 40 matching records. Use Show next records to reveal more matches in the same order; a new search or filter starts again with the first 40. A displayed subset is not the whole export. Use collection downloads and source pages for further review; absence from results does not establish absence from the archive.

September 20, 2026 correction: eight stored derived-record digests and the combined documents digest were refreshed to match the existing public record content. No record text, source digest or relationship was changed. Prepare a source-supported correction.

Keep machine-readable data tied to sources

1. What this is
Guidance for interpreting machine-readable archive material.
2. What you can check here
It connects structured records to canonical sources and claim-control rules.
3. What it does not establish
Machine-readable structure does not guarantee ingestion, accuracy of an interpretation or an AI citation.
4. What to check next
Read the claim-control rules. Return to the specific source before citing a factual claim.

Cite this page or follow a related question

This citation identifies the archive page, not a primary document or official finding. Also cite the particular source used for a factual claim.

Copy using your device’s selection controls and enter your actual access date. No publication or revision date is inferred here. How to cite the original source.