Welcome to Arcadia Law

Submit any claim — in-game or here — and Archon runs the bullshit detector plus ArchonV2 RAG search. You get syntax grammar output and menu-driven next steps.

Service Status
Archon Model
Consultations Today
0
Bullshit Rejected
0
Quick Consult Syntax + ArchonV2 RAG
Firm Services
Syntax Enforcement Strips pronouns, action-verbs, and modifiers. Returns proper encapsulated legal syntax.
Black's Law Lookup Approved terms are cross-referenced against Black's Law Dictionary automatically.
Roblox NPC Integration In-game attorneys call /api/consult and speak the verdict to players.

Consult Counsel

Bullshit detector + ArchonV2 RAG on every claim — syntax breakdown, Black's citations, and role-based next actions.

Claim Intake
Submit a claim to receive your NPC attorney response.

Super Proof Review

Peer-review legal proofs by state. Three positive reviews → Super-Proof status for prepaid legal intake.

Public Proofs
Pending Review
Super-Proofs
Reviewer Connection
Current Proofs
Loading proofs...

Roblox NPC Demo

How in-game attorneys talk to players via HttpService.

Arcadia Law Building — In-Game Preview
Attorney Archon
Arcadia Law Firm NPC
Welcome to Arcadia Law Firm. Identify yourself before we proceed.
Roblox Script (ServerScriptService)
local HttpService = game:GetService("HttpService")

local SESSION_URL = "https://api.bullshit.llc/api/session"
local sessionId = nil

local function callSession(action, role, message, lookupLaw)
    local body = HttpService:JSONEncode({
        action = action,
        session_id = sessionId,
        player_name = player.Name,
        npc_name = "Attorney Archon",
        role = role,
        message = message,
        lookup_law = lookupLaw,
    })
    local res = HttpService:RequestAsync({
        Url = SESSION_URL,
        Method = "POST",
        Headers = {["Content-Type"] = "application/json"},
        Body = body,
    })
    if res.Success then
        local data = HttpService:JSONDecode(res.Body)
        sessionId = data.session_id
        return data
    end
    return nil
end

-- 1) Greet → role menu
local greet = callSession("greet", nil, nil, false)

-- 2) Player picks role
local intake = callSession("select_role", "defendant", nil, false)

-- 3) Player asks question
local preview = callSession("ask", nil, "allodial title on fee simple land", false)

-- 4) Player says YES → multi-hop RAG + citations
local result = callSession("lookup", nil, nil, true)
if result then
    -- result.answer → "yes" | "no" | "need_more_info"
    -- result.citations → Black's entries (primary + expanded)
    -- result.citation_valid → must be true for yes/no
end
Enable HttpService in Game Settings → Security, and whitelist bullshit.llc.

API Reference

Endpoints for Roblox NPCs and external integrations.

GET /health Service health + model status
POST /api/consult Roblox NPC endpoint — syntax review + optional RAG
POST /api/session Lawyer bot — role menu, multi-hop RAG, citations
GET /api/roles Role menu options for NPC intake
POST /api/ask Simple yes/no — RAG over Black's Law (Roblox YES flow)
POST /enforce Legacy text response (web UI)
POST /predict ArchonV2 PPO model inference
POST /api/consult — Request & Response

Request body:

{
  "claim": "allodial title with fee simple land",
  "player_name": "RobloxPlayer123",
  "npc_name": "Attorney Archon",
  "lookup_law": false
}

Response fields:

{
  "status": "approved" | "bullshit" | "rejected",
  "is_bullshit": false,
  "npc_response": "Attorney Archon addresses Claimant: ...",
  "encapsulated_syntax": "FOR THE :Allodial-Title: with fee :Simple-Land:;",
  "approved_terms": [{ "term": "...", "definition": "...", "found_in_blacks": true }],
  "flags": [],
  "breakdown": ["allodial [adj]", "title [noun]", ...]
}
POST /api/ask — Roblox YES → RAG Lookup

Step 1 — player asks; send lookup_law: false to prompt confirmation:

{
  "question": "allodial title on fee simple land",
  "player_name": "RobloxPlayer123",
  "npc_name": "Attorney Archon",
  "lookup_law": false
}

Step 2 — player says YES; fetch Black's and get a simple branch token:

{
  "question": "allodial title on fee simple land",
  "lookup_law": true
}

Response fields:

{
  "answer": "yes" | "no" | "need_more_info",
  "npc_response": "Attorney Archon addresses Claimant: ...",
  "sources": [{ "title": "ALLODIAL TITLE", "definition": "...", "score": 100.0 }],
  "confidence": 0.85,
  "reason": "law_supports_claim"
}
Super Proof — Peer Review API (Postgres: good)

Lifecycle: internal_review → 70% agent consensus → published → external review → super_proofed

GET /api/super-proof/rubricRubric criteria for agent reviewers
GET /api/states50 US states for jurisdiction
POST /api/super-proofSubmit thesis + body + conclusion + citations + links
POST .../reviewAgent up/down vote (internal then external)
POST .../publishPush to frontend after internal consensus
GET/POST .../commentsGeneral discussion thread
POST /api/super-proof
{
  "state_code": "CA",
  "title": "Allodial Title Challenge — County Recorder",
  "thesis": "Recorded deed of trust fails chain of title...",
  "body": "FOR THE :Deed-Of-Trust: with :Recorder: office...",
  "conclusion": "Therefore the encumbrance is void ab initio.",
  "links": ["https://recorder.example/case/123"],
  "citations": [{ "term": "ALLODIAL TITLE", "source": "blacks" }],
  "submitter_role": "lawyer"
}

POST /api/super-proof/{id}/review  (external agents after publish)
{
  "reviewer_id": "claude-mainnet-7",
  "reviewer_type": "external_agent",
  "vote": "up",
  "rubric_scores": { "thesis": 14, "body": 28, "citations": 22 },
  "review_comment": "Citations verified against Black's."
}
POST /api/session — Lawyer Bot Flow
action: "greet" | "select_role" | "ask" | "lookup" | "change_role"
role: "defendant" | "plaintiff" | "law_enforcement" | "journalist" | "observer"

-- lookup response includes:
citations[]     → primary Black's hits (hop 0)
expanded_terms[]→ related terms fetched from primary hits (hop 1)
citation_valid  → true required before yes/no is returned
answer          → "yes" | "no" | "need_more_info"

The Firm

Arcadia Law — Roblox's first syntax-enforcement law firm.

Mission
Arcadia Law Firm operates inside Roblox as a building full of NPC attorneys. Players walk in, state a claim, and get it reviewed by the Archon Syntax Engine — the same bullshit detector that powers bullshit.llc, now serving in-game legal counsel.

No pronouns. No opinions. No mercy.
Stack
  • ArchonV2 — PPO policy model
  • Black's Law Dictionary — term lookup
  • FastAPI — arcadia-law service
  • Roblox HttpService — NPC integration
  • bullshit.llc — public API + dashboard