Arxo population impact report 0.1
Report of the population-impact comparison. reportCore is deterministic and reproducible: reportCoreHash is the sha256 of its canonical bytes; receipt is the execution receipt outside the core and the hash. Row classes are a mechanical projection of closed evaluation documents by a fixed classification matrix, not a legal answer; changing the matrix requires a new schemaVersion.
Versions
Section titled “Versions”No accepted version marker is declared.
Top-level fields
Section titled “Top-level fields”| name | type-or-$ref | required | description |
|---|---|---|---|
reportCore | #/$defs/ReportCore | yes | — |
reportCoreHash | #/$defs/Digest | yes | — |
receipt | #/$defs/Receipt | yes | — |
Enumerations
Section titled “Enumerations”| location | values |
|---|---|
$defs/RowClass | "VALUE_ON_BOTH", "VALUE_BEFORE_ONLY", "VALUE_AFTER_ONLY", "NO_COMPARABLE_VALUE", "EXCLUDED", "FAILED" |
$defs/ReportCore/properties/schemaVersion | "law.population.impact-report/0.1", "law.population.impact-report/0.2" |
$defs/ReportCore/properties/proofMode | "omitted" |
$defs/ReportCore/allOf/0/if/properties/schemaVersion | "law.population.impact-report/0.2" |
$defs/ReportCore/if/properties/verdict/properties/verdict | "INCOMPLETE" |
$defs/Row/properties/unrankedReason | "RANK_NO_VALUE", "RANK_SIZE", "RANK_FAILED" |
$defs/Row/allOf/0/if/properties/class | "EXCLUDED" |
$defs/Row/allOf/1/if/properties/class | "VALUE_ON_BOTH" |
$defs/Side/properties/state | "VALUE", "NO_VALUE", "EXCLUDED", "FAILED" |
$defs/Side/allOf/0/if/properties/state | "FAILED" |
$defs/Side/allOf/1/if/properties/state | "VALUE" |
$defs/Side/allOf/2/if/properties/state | "EXCLUDED" |
$defs/Verdict/properties/verdict | "INCOMPLETE", "CHANGE", "NO_COMPARABLE_WEIGHT", "NO_WEIGHTED_CHANGE" |
$defs/Verdict/properties/exitCode | 4, 1, 3, 0 |
$defs/Verdict/allOf/0/if/properties/verdict | "INCOMPLETE" |
$defs/Verdict/allOf/0/then/properties/exitCode | 4 |
$defs/Verdict/allOf/1/if/properties/verdict | "CHANGE" |
$defs/Verdict/allOf/1/then/properties/exitCode | 1 |
$defs/Verdict/allOf/2/if/properties/verdict | "NO_COMPARABLE_WEIGHT" |
$defs/Verdict/allOf/2/then/properties/exitCode | 3 |
$defs/Verdict/allOf/3/if/properties/verdict | "NO_WEIGHTED_CHANGE" |
$defs/Verdict/allOf/3/then/properties/exitCode | 0 |
$defs/SemanticDiff/properties/entries/items/properties/kind | "added", "removed", "changed", "renamed", "presentation" |
$defs/Receipt/properties/implementation | "lawref", "lawc" |
$defs/Receipt/properties/schemaVersions/properties/bank | "law.population.bank/0.1", "law.population.bank/0.2" |
$defs/Receipt/properties/schemaVersions/properties/report | "law.population.impact-report/0.1", "law.population.impact-report/0.2" |
$defs/Receipt/properties/storeMode | "full", "none" |
$defs/Receipt/properties/failures/items/properties/side | "before", "after" |
$defs/AuxState | "VALUE", "NO_VALUE", "EXCLUDED", "FAILED" |
$defs/Distribution/properties/basis | "before" |
Raw schema
Section titled “Raw schema”https://law.arxo.io/schema/population-impact-report.schema.json
Digest
Section titled “Digest”Type: string.
Decimal
Section titled “Decimal”Canonical decimal string, not less than zero.
Type: string.
SignedDecimal
Section titled “SignedDecimal”Canonical signed decimal string, without negative zero.
Type: string.
Type: object.
Required: rows, weight.
| name | type-or-$ref | description |
|---|---|---|
rows | integer | — |
weight | #/$defs/Decimal | — |
RowClass
Section titled “RowClass”Values: "VALUE_ON_BOTH", "VALUE_BEFORE_ONLY", "VALUE_AFTER_ONLY", "NO_COMPARABLE_VALUE", "EXCLUDED", "FAILED".
ReportCore
Section titled “ReportCore”Type: object.
Required: schemaVersion, bank, worlds, measure, rows, coverage, verdict, semdiff.
| name | type-or-$ref | description |
|---|---|---|
schemaVersion | enum (2) | — |
proofMode | "omitted" | Proof-omitted mode (--no-proof): the documents’ proof graph was neither encoded nor hashed; sides have no documentRef, the record address is outcomeHash. The field is absent in full mode. |
bank | #/$defs/BankSection | — |
worlds | object | — |
measure | population-bank.schema.json#/$defs/Measure | — |
rows | array | Rows in the byte order of rowId of the canonical form. |
coverage | #/$defs/Coverage | — |
aggregate | #/$defs/Aggregate | — |
verdict | #/$defs/Verdict | — |
semdiff | #/$defs/SemanticDiff | — |
distribution | #/$defs/Distribution | — |
BankSection
Section titled “BankSection”Type: object.
Required: bankId, contentHash, rows, weightTotal, legalTime.
| name | type-or-$ref | description |
|---|---|---|
bankId | population-bank.schema.json#/$defs/Name | — |
contentHash | #/$defs/Digest | — |
rows | integer | — |
weightTotal | #/$defs/Decimal | — |
legalTime | object | Distribution of legalTime across row cases: minimum, maximum, and the number of distinct values; null means no row supplied a date. |
Type: object.
Required: rowId, case, weight, legalTime, class, parameterGap, before, after.
| name | type-or-$ref | description |
|---|---|---|
rowId | population-bank.schema.json#/$defs/Name | — |
case | population-bank.schema.json#/$defs/CaseName | — |
weight | #/$defs/Decimal | — |
legalTime | string or null | — |
class | #/$defs/RowClass | — |
excludedKey | string | Key of the EXCLUDED class: side and state (when both sides are excluded — before). |
parameterGap | boolean | MISSING_PARAMETER_VALUE in the document of at least one side. |
outcomeUnchanged | boolean | The sides’ outcomeHash matched; present only when both sides have a document. Not the same as the aggregate unchanged tally. |
rank | #/$defs/Side | State of the auxiliary rank query on the basis side: a separate ask document with its own documentRef, classified by the same row matrix, value is Money in the currency of distribution.rank. |
size | object | — |
group | integer | Group number from 1 to the group count for a rankable row; absent for an unrankable one. |
unrankedReason | enum (3) | — |
delta | #/$defs/SignedDecimal | after − before; present only for VALUE_ON_BOTH. |
before | #/$defs/Side | — |
after | #/$defs/Side | — |
Type: object.
Required: state.
| name | type-or-$ref | description |
|---|---|---|
state | enum (4) | — |
excluded | string | ], COMPUTED/ |
evaluationStatus | evaluation.schema.json#/$defs/EvaluationStatus | — |
elements | integer | Number of quantity elements in the result (0 or 1 for a term). |
value | #/$defs/SignedDecimal | Sum of the side’s Money in the measure’s currency. |
blockingIssues | array | Codes of the document’s error- and fatal-level issues, in document order. |
outcomeHash | #/$defs/Digest | — |
documentRef | #/$defs/Digest | — |
error | object | — |
Coverage
Section titled “Coverage”Type: object.
Required: rows, weight, classes, excluded, parameterGap.
| name | type-or-$ref | description |
|---|---|---|
rows | integer | — |
weight | #/$defs/Decimal | — |
classes | #/$defs/ClassTallies | — |
excluded | object | EXCLUDED rows keyed by excludedKey. |
parameterGap | #/$defs/Tally | — |
Aggregate
Section titled “Aggregate”Sums over VALUE_ON_BOTH rows; winners/losers/unchanged are by the sign of the delta, unchanged being VALUE_ON_BOTH rows with a zero delta (not the same as the row’s outcomeUnchanged flag); comparableWeight is the weight of VALUE_ON_BOTH.
Type: object.
Required: comparableWeight, weightedSignedDelta, weightedAbsoluteDelta, winners, losers, unchanged.
| name | type-or-$ref | description |
|---|---|---|
comparableWeight | #/$defs/Decimal | — |
weightedSignedDelta | #/$defs/SignedDecimal | — |
weightedAbsoluteDelta | #/$defs/Decimal | — |
winners | #/$defs/Tally | — |
losers | #/$defs/Tally | — |
unchanged | #/$defs/Tally | — |
Verdict
Section titled “Verdict”Verdict precedence: 4, then 1, then 3, then 0 (refusal 2 is not printed in the report).
Type: object.
Required: verdict, exitCode.
| name | type-or-$ref | description |
|---|---|---|
verdict | enum (4) | — |
exitCode | enum (4) | — |
SemanticDiff
Section titled “SemanticDiff”Semantic difference of the sides’ linked worlds: which rules, norms, and texts were added, removed, changed, or renamed.
Type: object.
Required: entries, semanticChange.
| name | type-or-$ref | description |
|---|---|---|
entries | array | — |
semanticChange | boolean | — |
Receipt
Section titled “Receipt”Execution receipt: outside the core and the hash, mandatory. Completion order, chunk size, and worker count do not affect the core.
Type: object.
Required: implementation, build, schemaVersions, workers, startedAt, finishedAt.
| name | type-or-$ref | description |
|---|---|---|
implementation | enum (2) | — |
build | string | — |
schemaVersions | object | — |
workers | integer | — |
storeMode | enum (2) | Run storage mode: full means documents are recorded by documentRef; none means only addresses are kept, and the document is reproduced by replaying the population from the bank’s pins. Outside the core and the hash. |
startedAt | evaluation.schema.json#/$defs/Instant | — |
failures | array | Details of FAILED sides, outside the core: compiler diagnostic text, system error, or crash. In reportCore, a FAILED side carries only code and a fixed message keyed by the code. The field is present only when a FAILED occurred. |
finishedAt | evaluation.schema.json#/$defs/Instant | — |
ClassTallies
Section titled “ClassTallies”Type: object.
Required: VALUE_ON_BOTH, VALUE_BEFORE_ONLY, VALUE_AFTER_ONLY, NO_COMPARABLE_VALUE, EXCLUDED, FAILED.
| name | type-or-$ref | description |
|---|---|---|
VALUE_ON_BOTH | #/$defs/Tally | — |
VALUE_BEFORE_ONLY | #/$defs/Tally | — |
VALUE_AFTER_ONLY | #/$defs/Tally | — |
NO_COMPARABLE_VALUE | #/$defs/Tally | — |
EXCLUDED | #/$defs/Tally | — |
FAILED | #/$defs/Tally | — |
AuxState
Section titled “AuxState”Values: "VALUE", "NO_VALUE", "EXCLUDED", "FAILED".
SizeSide
Section titled “SizeSide”State of the size.adults / size.children query: the same document projection as Side, but value is an integer of zero or more.
Type: object.
Required: state.
| name | type-or-$ref | description |
|---|---|---|
state | #/$defs/AuxState | — |
evaluationStatus | evaluation.schema.json#/$defs/EvaluationStatus | — |
blockingIssues | array | — |
outcomeHash | #/$defs/Digest | — |
excluded | string | — |
value | integer | — |
documentRef | #/$defs/Digest | — |
error | object | — |
Rational
Section titled “Rational”Exact rational pair of reduced integers: denominator above zero.
Type: object.
Required: numerator, denominator.
| name | type-or-$ref | description |
|---|---|---|
numerator | string | — |
denominator | string | — |
Distribution group: aggregate sums run over the group’s VALUE_ON_BOTH rows; no sums when INCOMPLETE.
Type: object.
Required: index, rows, weight, bounds, classes.
| name | type-or-$ref | description |
|---|---|---|
index | integer | — |
rows | integer | — |
weight | #/$defs/Decimal | — |
bounds | object | — |
classes | #/$defs/ClassTallies | — |
comparableWeight | #/$defs/Decimal | — |
weightedSignedDelta | #/$defs/SignedDecimal | — |
weightedAbsoluteDelta | #/$defs/Decimal | — |
winners | #/$defs/Tally | — |
losers | #/$defs/Tally | — |
unchanged | #/$defs/Tally | — |
meanSignedDelta | oneOf (2) | — |
Distribution
Section titled “Distribution”Income-group distribution section of form 0.2 of the impact comparison.
Type: object.
Required: basis, groups, scale, rankMeasure, byGroup, unranked, ties.
| name | type-or-$ref | description |
|---|---|---|
basis | "before" | — |
groups | integer | — |
scale | population-bank.schema.json#/$defs/ScalePin | — |
rankMeasure | object | — |
byGroup | array | — |
unranked | object | — |
ties | object | — |
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.