awclassify
Aither World Classify — classify any document: what it is, who may read it, who it is for, what it is about. A standalone, zero-dependency CLI + client, public and pip-installable, for the Aither World stack.
pip install awclassify
awclassify classify report.md
# doc_type report
# visibility internal
# audience other
# topics -
# engine rules classified=False
#
# NOT VERIFIED: rules-only classification. Pass --server for the full
# engine. Per the fail-closed contract, do not publish on this alone.
What it answers
| field | meaning | vocabulary |
|---|---|---|
doc_type |
what it is | deck, blog, prd, transcript, report, memo, decision, spec, docs, guide, code, data, email, social, minutes, contract, research, other |
visibility |
who may read it | public, internal, confidential |
audience |
who it is for | customers, investors, partners, general_public, internal, agents, regulatory, other |
topics |
what it is about | 1–5 free-form tags |
The fail-closed contract
A classification you cannot verify is NOT public.
classified: Falsemeans the output is heuristic only — do not publish the document on it.- The rules path never asserts
publicfrom a filename alone; an explicit marker (public/,.public.) is required. - When the server cannot be reached, the client returns
classified: False, visibility: internalwith the reason — never a fabricated answer.
To publish a document you need the server-verified answer:
awclassify classify deck.json --server https://your-platform/doc-classify \
--token "$PLATFORM_BEARER" --json | jq .visibility
# "public" ← only now may a stranger read it
Modes
- Local rules (default, offline): deterministic classification from the filename, title and source type. Zero network, zero dependencies.
- Server:
--server URLposts the document to any classify-shaped surface — the AitherOS platform's/classify, or anything implementing the same contract — for the full LLM-powered classification with confidence scores.--require-servermakes an unreachable surface an error instead of a downgrade.
awclassify taxonomy # the fixed vocabulary, offline
awclassify taxonomy --server URL # ...and diff it against the server's
Why it exists
A $35K revenue figure shipped in a public slide deck because nothing asked
what the document was or who could see it. awclassify makes that answer
exist as data before anything ships — one command, no credentials required
for the local tier.
Relationship to the platform
awclassify is the client brick. The service half — the engine
(lib.knowledge.DocClassifier), the genesis /doc-classify router, and the
Nexus-ingest integration — lives in the AitherOS platform as
aitherclassify. The taxonomy parity between the two copies is asserted by
the platform's check_classify_taxonomy_parity gate.
Development
python -m pytest tests/
Metadata
Release files for awclassify 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| awclassify-0.1.0.tar.gz | 14.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| awclassify-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.1 kB
Release files / awclassify-0.1.0.tar.gz
| Download URL | awclassify-0.1.0.tar.gz |
|---|---|
| Size | 14.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
95d46d10fa65355207798f0ece087157e9b6256f10ee5c3b7175330249455f5e
|
|
BLAKE2b-256 checksum How to use checksums |
13ab2ece8566a0f0374f4aa7f61da58e06589afbc1f75b90f0916bacdb43b3a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / awclassify-0.1.0-py3-none-any.whl
| Download URL | awclassify-0.1.0-py3-none-any.whl |
|---|---|
| Size | 14.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c9c2d09b325c83e76477a781cfea7f23e82031848d94434a95160c6211f7014a
|
|
BLAKE2b-256 checksum How to use checksums |
ddee49387e0c98e53d9b260968e48a80b14658094f4c2ca812e2cb22e8557b8a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|