Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions BURDEN_ASSIGNMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ Burden assignment must:
- identify the accountable counterparty
- state the exact burden being imposed
- remain subordinate to law, accepted epoch, execution, and verification inputs

The current recourse object of record is `claims/current/recourse-object-0001.json`.
2 changes: 2 additions & 0 deletions CLOSURE_STATES.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,5 @@ Minimum closure states:
- closed

Closure here does not redefine law, accepted epoch, recognition, execution, or verification.

The current recourse object of record is `claims/current/recourse-object-0001.json`.
2 changes: 2 additions & 0 deletions ESCALATION_FLOW.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ Escalation must:
- state next recourse posture
- preserve prior recourse history
- avoid redefining recognition or truth-of-record

The current recourse object of record is `claims/current/recourse-object-0001.json`.
9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ It does not replace adjacent sovereign boundaries.
- defines counterparty, burden, remedy, escalation, and closure rules
- publishes recourse-object structure
- publishes current and historical recourse indexes
- publishes the current recourse-object entry surface
- preserves recourse as a distinct sovereign function

## What it does not do
Expand All @@ -42,9 +43,15 @@ It does not replace adjacent sovereign boundaries.

## Public surface

The public surface of this repository is its repository identity, README boundary, recourse doctrine, recourse-object schema, and explicit current/historical recourse indexes.
The public surface of this repository is its repository identity, README boundary, recourse doctrine, recourse-object schema, the current recourse-object entry surface, and explicit current/historical recourse indexes.

Recourse here is not recognition.
Recourse here is not verification.
Recourse here is not execution.
Recourse here is not law.

## Recourse-object entry surface

- current active recourse-object entry surface: `claims/current/recourse-object-0001.json`
- current recourse index: `claims/current/index.json`
- historical recourse-object archive: `claims/history/`
2 changes: 2 additions & 0 deletions REMEDY_MATRIX.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,5 @@ A remedy path must identify:
- eligible remedy classes
- blocked remedy classes
- closure interaction

The current recourse object of record is `claims/current/recourse-object-0001.json`.
13 changes: 10 additions & 3 deletions claims/current/index.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
{
"object_type": "RecourseIndex",
"status": "current",
"items": [],
"rule": "Current recourse objects must bind to a recognition object and must not redefine recognized truth."
"status": "ACTIVE_TRUTH",
"current_recourse_object_ref": "claims/current/recourse-object-0001.json",
"entries": [
{
"recourse_object_id": "recourse-object-0001",
"path": "claims/current/recourse-object-0001.json",
"subject_ref": "https://github.com/Verifrax/VERIFRAX/blob/main/evidence/artifact-0005/artifact-0005.json",
"recourse_status": "OPEN_FOR_RECOURSE"
}
]
}
37 changes: 37 additions & 0 deletions claims/current/recourse-object-0001.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"object_type": "RecourseObject",
"recourse_object_id": "recourse-object-0001",
"status": "ACTIVE_TRUTH",
"claim_class_ref": "https://github.com/Verifrax/SYNTAGMARIUM/blob/main/claim-classes/recourse-object.json",
"recourse_index_ref": "claims/current/index.json",
"historical_archive_ref": "claims/history/",
"governing_law_version_ref": "https://github.com/Verifrax/SYNTAGMARIUM/blob/main/law/versions/current/law-version-0001.json",
"accepted_epoch_ref": "https://github.com/Verifrax/ORBISTIUM/blob/main/epochs/current/accepted-epoch-0001.json",
"authority_object_ref": "https://github.com/Verifrax/AUCTORISEAL/blob/main/authorities/current/authority-object-0001.json",
"execution_receipt_ref": "https://github.com/Verifrax/CORPIFORM/blob/main/receipts/current/execution-receipt-0001.json",
"verification_result_ref": "https://github.com/Verifrax/VERIFRAX/blob/main/verification/results/current/verification-result-0001.json",
"recognition_object_ref": "https://github.com/Verifrax/ANAGNORIUM/blob/main/recognitions/current/recognition-object-0001.json",
"subject_ref": "https://github.com/Verifrax/VERIFRAX/blob/main/evidence/artifact-0005/artifact-0005.json",
"counterparty_rule_ref": "COUNTERPARTY.md",
"burden_assignment_ref": "BURDEN_ASSIGNMENT.md",
"remedy_matrix_ref": "REMEDY_MATRIX.md",
"escalation_flow_ref": "ESCALATION_FLOW.md",
"closure_states_ref": "CLOSURE_STATES.md",
"recourse_status": "OPEN_FOR_RECOURSE",
"burden_assignment": "challenger bears burden to identify a bounded defect in the recognized artifact-0005 chain under already-published law, epoch, authority, execution, verification, and recognition objects",
"remedy_path": "challenge may seek bounded correction, re-evaluation, or explicit refusal of downstream consequence without redefining upstream truth surfaces directly",
"escalation_path": "if burden is met and bounded defect remains unresolved, matter escalates through explicit recourse handling rather than silent reinterpretation",
"closure_state": "OPEN",
"limits": [
"recourse does not redefine law",
"recourse does not redefine accepted epoch",
"recourse does not replace authority issuance",
"recourse does not replace execution",
"recourse does not replace verification",
"recourse does not replace recognition"
],
"notes": [
"Current machine-readable recourse object for the active recognized artifact-0005 boundary.",
"Historical recourse objects must not outrank this current recourse object."
]
}
7 changes: 7 additions & 0 deletions claims/history/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Historical recourse-object archive

This directory stores superseded or closed historical recourse objects.

Historical recourse objects remain auditable and reconstructable.

They must not outrank the current recourse object published under `claims/current/`.
30 changes: 30 additions & 0 deletions tests/test_recourse_object.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import json
from pathlib import Path

ROOT = Path(__file__).resolve().parents[1]


def test_recourse_object_minimum():
data = json.loads((ROOT / "claims/current/recourse-object-0001.json").read_text())
index = json.loads((ROOT / "claims/current/index.json").read_text())

assert data["object_type"] == "RecourseObject"
assert data["status"] == "ACTIVE_TRUTH"
assert data["recourse_object_id"] == "recourse-object-0001"
assert data["recourse_index_ref"] == "claims/current/index.json"
assert data["historical_archive_ref"] == "claims/history/"
assert data["claim_class_ref"].endswith("/claim-classes/recourse-object.json")
assert data["governing_law_version_ref"].endswith("/law/versions/current/law-version-0001.json")
assert data["accepted_epoch_ref"].endswith("/epochs/current/accepted-epoch-0001.json")
assert data["authority_object_ref"].endswith("/authorities/current/authority-object-0001.json")
assert data["execution_receipt_ref"].endswith("/receipts/current/execution-receipt-0001.json")
assert data["verification_result_ref"].endswith("/verification/results/current/verification-result-0001.json")
assert data["recognition_object_ref"].endswith("/recognitions/current/recognition-object-0001.json")
assert data["recourse_status"] == "OPEN_FOR_RECOURSE"
assert data["closure_state"] == "OPEN"

assert index["object_type"] == "RecourseIndex"
assert index["status"] == "ACTIVE_TRUTH"
assert index["current_recourse_object_ref"] == "claims/current/recourse-object-0001.json"
assert index["entries"][0]["recourse_object_id"] == data["recourse_object_id"]
assert index["entries"][0]["path"] == "claims/current/recourse-object-0001.json"
Loading