Project Little Weirdo

Machine contract — free beta

Little Weirdo watches lawful public web pages and reports, deterministically, whether the content changed. For pricing and commercial-offer pages only, it can then interpret what a proven change means commercially — with every claim quoted from observed text.

Two layers, never mixed

Observation is deterministic evidence: bounded text extraction, a content fingerprint, and arithmetic comparison against the previous observation (BASELINE_CREATED, NO_CHANGE, CONTENT_CHANGED). It never claims meaning.

Interpretation is derived inference over already-persisted observations. It never refetches a page and never decides whether a change occurred. Claims that cannot be traced verbatim to observed before/after text are discarded.

Authentication

A founder-issued machine credential is required on every call. There is no public signup and no customer account system. Send it as a bearer token:

Authorization: Bearer wdo_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# or
X-Weirdo-Api-Key: wdo_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Missing, malformed, unknown or revoked credentials are refused with HTTP 401. Credentials are stored only as hashes and are shown exactly once, at issuance.

Request beta access

Access is founder-reviewed during the beta. There is no self-service credential issuance and no automatic approval. A machine without a credential can ask for one here:

GET  /api/public/weirdo/v1/access-request   # machine-readable request contract
POST /api/public/weirdo/v1/access-request
{"consumerName":"…","contact":"…","intendedUse":"…","agentOrSystem":"… optional"}

200 {
  "ok": true,
  "requestId": "…uuid…",
  "status": "pending",
  "message": "Access request received for founder review.",
  "credentialIssued": false
}

Provide who is asking, a reachable contact, and what you intend to observe or interpret. Do not include secrets, API keys, existing credentials or payment details in the request.

Submitting does not guarantee approval, and no credential is ever returned by this endpoint. If access is granted, the credential is delivered out of band to the contact supplied. There is no response-time commitment.

MCP connection

Streamable HTTP MCP endpoint (protocol revision 2025-06-18), with two tools: observe_public_page and interpret_commercial_change.

POST https://weirdo-genesis-watch.lovable.app/api/public/weirdo/v1/mcp
Accept: application/json, text/event-stream
Content-Type: application/json
Authorization: Bearer wdo_...

{"jsonrpc":"2.0","id":1,"method":"tools/list"}

A GET on the same URL returns a machine-readable discovery manifest (endpoints, auth scheme, protocol version, tool contract).

Observe a public page (REST)

POST /api/public/weirdo/v1/observe
Authorization: Bearer wdo_...
{"url":"https://example.com/pricing"}

200 {
  "ok": true,
  "targetId": "…uuid…",
  "changed": true,
  "changeType": "CONTENT_CHANGED",
  "current": { "textLength": 1841, "fingerprint": "781b92bd…" },
  "previous": { "exists": true, "textLength": 1841, "fingerprint": "027da80c…" },
  "gateway": { "transport": "REST", "posture": "FREE_BETA", "payment": false }
}

Interpret a proven commercial change (REST)

POST /api/public/weirdo/v1/interpret
Authorization: Bearer wdo_...
{"targetId":"…uuid…"}

200 {
  "ok": true,
  "interpretation": {
    "domain": "commercial_offer",
    "interpretationStatus": "SUPPORTED" | "INSUFFICIENT_EVIDENCE",
    "changes": [ { "type": "PRICE_INCREASE", "before": "$20", "after": "$25", "confidence": 0.82 } ],
    "rejectedClaims": [ { "reason": "UNSUPPORTED_EVIDENCE" } ]
  }
}

Requires two persisted observations for the target with a deterministic CONTENT_CHANGED verdict. Otherwise: OBSERVATION_PAIR_UNAVAILABLE or INTERPRETATION_NOT_AUTHORIZED, with no model call and no cost.

Uncertainty semantics

A CONTENT_CHANGED verdict proves the content differs — not that the difference matters. When evidence does not support a commercial claim, the response is INSUFFICIENT_EVIDENCE with an empty changes array. That is a truthful answer, not a failure. There is no guarantee that any page contains commercial intelligence.

Lawful use and limits

  • Public, non-credentialed http/https pages only.
  • Private, loopback, link-local and internal addresses are refused.
  • Redirects, response size and request timeouts are bounded.
  • Do not use this to circumvent access controls, paywalls or terms of service.

Beta limitations

  • Free beta. No payment, metering, subscription or billing capability exists.
  • Per-credential daily call ceiling, separate interpretation ceiling, bounded concurrency.
  • Commercial interpretation covers pricing / commercial-offer pages only.
  • No SLA, no uptime guarantee, no historical export, no notifications.
  • Interfaces may change while the beta lasts.