Community · Slack
Bring the case the format handles badly.
Questions, criticism, implementation work, and testing feedback are welcome. The most useful contribution at this stage is a concrete failure or a second implementation.
Open, vendor-neutral specification
Judgment Pack is an open specification for representing the evidence, rules, exceptions, uncertainty, escalation criteria, and evaluations behind an AI agent's decisions.
What this draft can test
It never proves truth, authority, safety, or fitness.
Open tools, demos, and research
The specification stays independent. Companion repositories let you run it, inspect the implementation, and challenge the research without turning any tool into the standard.
Community · Slack
Questions, criticism, implementation work, and testing feedback are welcome. The most useful contribution at this stage is a concrete failure or a second implementation.
Reference runtime · CLI + MCP
jpack validates documents, runs project-owned matrices, evaluates Core inputs,
and exposes offline tools and method prompts over stdio MCP. Project configuration, graph
composition, evaluation records, and reviewed-set locks are non-normative runtime features.
Cloneable demo · Synthetic scenarios
The browser sandbox and self-serve Slack-app source demonstrate authoring, deterministic evaluation, experimental composition, attested inputs, and replayable evaluation records. The runtime computes every disposition; the model may gather inputs, draft, and narrate, but it cannot change the runtime result. Use synthetic, non-sensitive material only.
Input lineage · Research gateway
The open reference gateway signs acquired results and seals sessions. A verifier with a separately pinned public key can check the store against the registry obtained from the key holder and detect tampering, replay, and rollback after sealing. It proves byte-lineage, never truth, source identity, authorization, or production readiness.
Open evidence · Experiments
Clean-room implementations, agreement harnesses, and preregistered studies test where the prose is precise and where the format or surrounding trust model still fails.
Status boundary: only the tagged Core prose, schemas, and named conformance artifacts define JPS. Every runtime workflow, graph, gateway, demo, and research format above is separately governed and non-normative.
AI systems increasingly participate in business decisions, but prompts, retrieval configurations, and application code do not provide a stable interchange format for the judgment behind those decisions. The Judgment Pack Specification (JPS) explores a portable, vendor-neutral way to represent reusable organizational judgment so that it can be inspected, tested, and moved between independent tools.
A Judgment Pack is a JSON document that declares a single decision: what decision is being made, what evidence it requires, where its claims came from, when it applies, how exceptions and uncertainty are handled, which outcomes are possible, and when a human must take over. It captures the reasoning an organization wants applied to a decision, in a form that is separate from any one runtime, model, or user interface.
A new specification is necessary because existing artifacts each capture only part of this and none of them are portable:
JPS aims to make that reasoning a first-class, interchangeable document, without standardizing any one product, model, or workflow.
This research preview exists to test whether a small declarative core can support independent tools and runtimes without standardizing any one product, model, or workflow.
The specification is successful only if independent implementations can exchange the same pack and
agree on its document structure and declared field and reference semantics — and, for the class added
in 0.2.0-draft, on the result of applying it.
Core 0.2.0-draft supports testing carrier, structural, and semantic document conformance, and
defines a fourth class: evaluator conformance (§3.4), with normative condition and resolution
semantics, one portable result (the §8.3 disposition), an error contract (§8.4), and a seed evaluation
corpus. Document conformance is unchanged, and exactly one form of evaluator-conformance claim is
definable — against the class and the corpus, for one exact specVersion (§3.4.1). The first such
claim now exists: the reference runtime states one in its own repository, in a single file of its
own choosing —
§3.4.1 fixes the one form a claim may take, not where it is published. This project does not issue,
verify, or certify it. A claim attaches to its claimant, so this site points at that file rather than
reproducing its corpus version, its results, or its every-row statement.
0.x material may change incompatibly.| Path | Purpose |
|---|---|
spec/judgment-pack-core.md |
Normative prose for document conformance |
schema/judgment-pack-core.schema.json |
Normative Draft 2020-12 structural schema |
examples/ |
Synthetic examples from unrelated domains |
conformance/ |
47 non-normative document-conformance test cases |
conformance/evaluation/ |
20-case seed evaluation corpus (normative for §3.4) |
TESTING.md |
A 10–15 minute external testing exercise |
VERSIONING.md |
Release and compatibility policy |
CHANGELOG.md |
Draft and published change history |
docs/design-principles.md |
Design principles, non-goals, and origin and scope |
FAQ.md |
Answers to common and hard architectural questions |
rfcs/ |
Open change proposals (RFCs), including the process |
ROADMAP.md |
Evidence-gated path toward a specification |
web/ |
Static documentation site and deployment guide |
.vscode/tasks.json |
One-command local documentation preview |
The docs/ directory records the specification's design constraints, its explicit non-goals, and
how the spec stays independent of any implementation. The specification defines documents only and
contains no end-user tooling. Conforming implementations may be open-source or proprietary and
consume immutable specification releases like any other implementation; see the Implementations page
for the current landscape.
{
"specVersion": "0.2.0-draft",
"id": "https://example.com/judgment-packs/expense-approval",
"version": "0.1.0",
"title": "Expense approval",
"decision": {
"intent": "Determine whether an expense may be automatically approved.",
"question": "May this expense be approved without human review?"
},
"outcomes": [
{ "id": "approve", "label": "Approve" },
{ "id": "manual-review", "label": "Manual review" }
],
"rules": [
{
"id": "large-expense",
"description": "Large expenses require a human decision.",
"when": {
"op": "fact",
"path": "/expense/amount",
"operator": "greater-than",
"value": "5000"
},
"outcome": "manual-review",
"onUnknown": "escalate"
}
],
"fallbackOutcome": "approve"
}
See the complete example before relying on this abbreviated shape.
These are deliberately separate claims:
specVersion.This research preview specifies the first four claims. The fourth is new in 0.2.0-draft and is
claimed only as §3.4.1 permits: it says that the implementation complies with the whole evaluator
contract of §§7–10 for every input it admits, and every row of the named corpus version must have
passed for the claim to be made at all. Corpus results are required evidence of that compliance, not
the boundary of it, and passing a seed corpus is no evidence about inputs it does not contain. A
validator or evaluator must never imply factual grounding, organizational authorization, or operational
fitness.
The core specification defines the
normative artifact roles and precedence.
Follow TESTING.md to validate the supplied examples, observe the schema/semantics
boundary, make a small synthetic authoring change, and report reproducible feedback. In addition to
the minimal example, the repository includes deliberately non-operational examples for software
change readiness and records disposition review.
The repository also includes a minimal static documentation site. Build it locally with:
python3 -m pip install -r requirements-dev.txt
python3 web/build.py
python3 -m http.server 8000 --bind 127.0.0.1 --directory public
Then open http://localhost:8000. The generated public/ directory contains only static HTML,
CSS, and raw artifacts; no pack is executed and no source locator is fetched. See
web/DEPLOYMENT.md for preview-first hosting guidance.
Open the repository in WSL with VS Code, then select Terminal → Run Task → JPS: Preview site.
The task creates the ignored .venv/, installs the pinned dependencies, rebuilds public/, and
serves it at http://localhost:8000. Follow the link in the task terminal and
press Ctrl+C there to stop the server.
Use Terminal → Run Build Task or Ctrl+Shift+B to install dependencies and rebuild the site
without starting the server. The task definitions are in .vscode/tasks.json.
These exercises test documents, not decisions. Do not infer or automate a real outcome from a pack,
and do not present agreement between evaluators as JPS conformance: an evaluator-conformance claim is
made against the evaluation corpus for one exact specVersion, on the terms in §3.4.1, and nothing
else counts.
Start with TESTING.md for a short exercise or
CONTRIBUTING.md to propose a change. Material changes should begin as a
Request for Comments (RFC), include compatibility and security analysis, and add positive
and negative examples.
The specification is developed in public — today by a single maintainer; there are no independent contributors yet (see GOVERNANCE.md). Participate via GitHub and the project Slack. The specification is not controlled by any required commercial runtime; the long-term goal is reproducible behavior across independent implementations, which may be open-source or proprietary.
Licensed under the Apache License 2.0. See LICENSE.