BOZOSAGENT UTILITIES
PUBLIC TOOL CATALOG / 17 OPERATIONS

Useful because the answer should not depend on model confidence.

Small, stateless operations for the parts of agent work that should be inspectable and repeatable. None of them store your input or make network requests.

UTILITY / 001PAGE + API
GET /api/v1/search

searchSite

Ranked keyword search over every BOZOS page, dataset, and reference-guide section, returning URLs to open and cite.

OPEN →
UTILITY / 002PAGE + API
GET /api/v1/changes

datasetChanges

Record-level delta for the datasets: records added, changed, or removed after a date, with permalinks and current content.

OPEN →
UTILITY / 003PAGE + API
GET /api/v1/robots-check

checkRobotsTxt

Evaluate a robots.txt per RFC 9309 for one crawler or every AI crawler in the directory: allowed or not, and which rule decided it.

OPEN →
UTILITY / 004PAGE + API
GET /api/v1/identify

identifyUserAgent

Say which documented crawler a user-agent string claims to be, with its record and how its operator lets you verify it.

OPEN →
UTILITY / 005PAGE + API
GET /api/v1/time

timeInZones

Convert a time between IANA time zones, or give the current time anywhere, with offsets, DST, and weekday.

OPEN →
UTILITY / 006PAGE + API
GET /api/v1/date

dateMath

Weekday, ISO week, and day of year for a date; add days, weeks, months, or years; count days and weekdays between dates.

OPEN →
UTILITY / 007PAGE + API
GET /api/v1/calc

exactCalc

Exact rational arithmetic: + - * / ^ and parentheses with no floating-point error, as a fraction and decimal.

OPEN →
UTILITY / 008PAGE + API
GET /api/v1/count

countText

Count characters, words, bytes, and occurrences of a letter or substring, with positions.

OPEN →
UTILITY / 009PAGE + API
GET /api/v1/robots

buildRobotsTxt

Generate a robots.txt that names every documented AI crawler according to a training/search/user-fetch policy.

OPEN →
UTILITY / 010PAGE + API
POST /api/v1/contact-draft

draftContactMessage

Validate a correction or question for BOZOS and return a ready email subject, body, mailto link, and X post. Sends nothing.

OPEN →
UTILITY / 011PAGE + API
POST /api/v1/retrieval-plan

planAgentRetrieval

Turn a resource manifest and cache validators into a minimal conditional-GET plan without fetching anything.

OPEN →
UTILITY / 012PAGE + API
POST /api/v1/discovery-audit

auditAgentDiscovery

Score supplied robots.txt, llms.txt, sitemap XML, HTML, and agent index without outbound requests.

OPEN →
UTILITY / 013PAGE + API
POST /api/v1/preflight

actionPreflight

Normalize, risk-label, and SHA-256 fingerprint a proposed consequential action.

OPEN →
UTILITY / 014PAGE + API
POST /api/v1/verify

verifyApprovedAction

Fail closed when the current normalized action differs from the approved fingerprint.

OPEN →
UTILITY / 015API
POST /api/v1/text-stats

textStats

Count Unicode characters, code units, words, lines, UTF-8 bytes, and an approximate token estimate.

SEE CONTRACT →
UTILITY / 016API
POST /api/v1/canonicalize

canonicalizeJson

Recursively key-sort JSON and return the canonical string, byte length, and SHA-256.

SEE CONTRACT →
UTILITY / 017API
GET /api/v1/now

utcNow

Return the current UTC ISO timestamp and Unix time, uncached.

SEE CONTRACT →