# PFABC Clarification Lab

Public experimental website: v0.4.2 candidate (pending local verification and deployment).
Canonical origin: https://pfabc.xn--arkh-eva.org

PFABC helps people and agents separate an AI exchange, an interpretation drawn
from it, and the evidence needed to connect them. It evaluates supplied
declarations under explicit rules. It does not authenticate transcripts, inspect
hidden model state, call a provider, or determine consciousness.

Start with the fictional worked records at the public root. Review the input,
then edit or import record JSON and inspect the outcome, evidence and limits.
Downloading a result or copying agent instructions is optional. No private chat
dump, provider login or model account is required.

## Entry points

- [Guided explore](explore.html): start from a worked record, review or import
  editable JSON, inspect a bounded claim and evaluate it on this service.
- [Overview and notebook](index.html): browser-local conversation notebook for
  quotations, claims, reviews, questions and replayable exports.
- [Practice](practice.html): a fictional, bounded exercise.
- [Engine](engine.html): hosted same-origin evaluator when served by the Python
  Worker, with a preserved local Python download path.
- [Reader's guide](guide.html): static-readable human and AI orientation.
- [Hosted API](docs/HOSTED_API.md): primary typed-record evaluation, advanced
  evaluation and explicit shared workspace contracts.
- [Record contract](docs/RECORD_CONTRACT.md): `pfabc-typed-record/0.1` input and
  `pfabc-record-evaluation/0.1` output rules.
- [Privacy](docs/PRIVACY.md): hosted processing, workspace retention, and browser
  storage distinctions.
- [Agent guide](docs/AGENT_GUIDE.md): human-controlled workflow and proposal shape.
- [Engine guide](docs/ENGINE_GUIDE.md): hosted HTTP and local CLI/HTTP details.
- [Readiness](STATUS.md): current release and publication state.

## Primary typed-record evaluation

An HTTP-capable client can send a typed record as exact UTF-8 JSON to
`POST /api/records/evaluate`. The route is stateless and does not persist the
record. It returns `pfabc-record-evaluation/0.1`, HTTP 200 for `EVALUATED`, and
HTTP 422 for a rejected record; every result includes the raw `record_sha256`.
Health exposes `record_contract_version: 0.1.2` and
`record_evaluate_path: /api/records/evaluate`. The contract wraps the unchanged
engine `0.5.3+review1` and keeps assumptions, evidence qualifications and
limits adjacent to the status.

`record_ref` is an opaque declared identifier, not a resolved artifact. An
observation without an explicit subject inherits the record scope. `origin` and
`accepted` are submitter declarations: they do not authenticate identity or
human review. Imports preserve those declarations. An accepted agent declaration
remains an unauthenticated declaration. The contract does not authenticate a
transcript, provider, author, timestamp or measurement.

Raw engine heuristic annotations may fire on typed bridge identifiers or on the
presence of a quotation. They are disclosed engine output, not observed evidence.
Thresholds and custom-threshold qualifications are disclosed in the result. A
pre-parse depth guard and bounded quote-prefix search reject hostile inputs in a
controlled way.

## Hosted engine

An HTTP-capable agent can send the exact UTF-8 JSON packet to the same origin:
`POST /api/evaluate` returns the unchanged `pfabc-native-evaluation/1` envelope.
This advanced route retains its original raw, declared semantics and is
stateless at the application layer. A person may explicitly create
an isolated shared workspace for up to 30 minutes, then copy only the agent
capability, workspace ID, expiry and exact-origin endpoints. Both capabilities
read and evaluate; only the owner can delete. Capabilities belong in bearer
headers, never URLs.

Direct HTTP clients may omit `Origin`; cross-site browser requests are disabled.
Hosted limits are 131072 UTF-8 bytes for stateless packets and 65536 bytes for
shared packets. No provider login is needed. An agent that cannot send HTTP can
prepare a packet for the person to inspect and paste.

## Local engine

The downloaded Python 3.10+ runtime has no third-party dependencies or provider
login. Its loopback server preserves the local capability token, global latest
result slot and `/api/latest` follow path. It is an offline alternative to the
hosted evaluator, not a public endpoint.

## Claim boundary

`WARRANTED` is conditional on packet declarations and selected assumptions. It is
not a general factual certificate. `UNRESOLVED`, `UNWARRANTED`, `CONTESTED`, and
`BLOCKED` preserve different evidential states. Missing evidence is not proof of
absence. Software checks and fictional examples do not establish empirical
validity or improved human reasoning.

This file is a navigation aid, not an integration standard or a promise that an
AI service will crawl every page.

Known access limit: Cloudflare currently rejects some automated client signatures
with HTTP 403 / error 1010. Browser and bounded direct-client trials passed;
universal agent access is not claimed. An HTTP error is not a PFABC judgment.
