Spaces:
Running
Running
dboa9 commited on
Commit ·
f32aa40
1
Parent(s): fb5c4f8
updates
Browse files- app.py +16 -1
- openclaw.json +14 -0
- prompts/full_evidence_reference.txt +186 -162
- skills/legal-cross-verify/SKILL.md +71 -0
- skills/legal-exhibit-verify/SKILL.md +63 -0
app.py
CHANGED
|
@@ -304,6 +304,7 @@ def security_info():
|
|
| 304 |
class GatewayVerifyRequest(BaseModel):
|
| 305 |
edit_text: str
|
| 306 |
local_cov_results: Optional[Dict[str, Any]] = None
|
|
|
|
| 307 |
|
| 308 |
class GatewayVerifyResponse(BaseModel):
|
| 309 |
verdict: str # "pass", "flag", "block"
|
|
@@ -332,6 +333,17 @@ async def gateway_verify(request: GatewayVerifyRequest, x_api_key: str = Header(
|
|
| 332 |
# Build verification prompt with legal exhibit instruction + evidence context
|
| 333 |
legal_instruction = _get_legal_exhibit_instruction()
|
| 334 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 335 |
# Summarise local CoV results so the LLM has context
|
| 336 |
local_summary_parts = []
|
| 337 |
scores = local_results.get("scores", {})
|
|
@@ -348,6 +360,7 @@ async def gateway_verify(request: GatewayVerifyRequest, x_api_key: str = Header(
|
|
| 348 |
verify_prompt = f"""You are ClawdBot, a legal document verification agent.
|
| 349 |
|
| 350 |
{legal_instruction}
|
|
|
|
| 351 |
|
| 352 |
---
|
| 353 |
|
|
@@ -363,6 +376,8 @@ EDIT TEXT TO VERIFY:
|
|
| 363 |
|
| 364 |
TASK: Review the edit text above. Check:
|
| 365 |
1. Every evidence reference uses the format: Exhibit [Letter][Number] (DB-[N]) — [Filename]. Flag any bare DB-[N] or missing exhibit refs.
|
|
|
|
|
|
|
| 366 |
2. No sentences are cut off mid-word or mid-sentence (truncation).
|
| 367 |
3. Legal claims are supported by cited evidence. Flag unsupported assertions.
|
| 368 |
4. Dates, names, and case references are consistent.
|
|
@@ -373,7 +388,7 @@ Respond with EXACTLY this JSON (no markdown, no extra text):
|
|
| 373 |
|
| 374 |
If all checks pass, verdict is "pass" with empty issues list.
|
| 375 |
If minor issues found, verdict is "flag".
|
| 376 |
-
If critical issues (truncation, missing exhibit refs, unsupported claims), verdict is "block"."""
|
| 377 |
|
| 378 |
# Run through LLM (same dual backend as /api/generate)
|
| 379 |
response_text = None
|
|
|
|
| 304 |
class GatewayVerifyRequest(BaseModel):
|
| 305 |
edit_text: str
|
| 306 |
local_cov_results: Optional[Dict[str, Any]] = None
|
| 307 |
+
exhibit_schedule: Optional[str] = None # Authoritative exhibit schedule from build_exhibit_briefcase.py
|
| 308 |
|
| 309 |
class GatewayVerifyResponse(BaseModel):
|
| 310 |
verdict: str # "pass", "flag", "block"
|
|
|
|
| 333 |
# Build verification prompt with legal exhibit instruction + evidence context
|
| 334 |
legal_instruction = _get_legal_exhibit_instruction()
|
| 335 |
|
| 336 |
+
# Include exhibit schedule if provided (authoritative mapping from build_exhibit_briefcase.py)
|
| 337 |
+
exhibit_schedule_section = ""
|
| 338 |
+
if request.exhibit_schedule:
|
| 339 |
+
exhibit_schedule_section = f"""
|
| 340 |
+
|
| 341 |
+
---
|
| 342 |
+
|
| 343 |
+
AUTHORITATIVE EXHIBIT SCHEDULE (from actual bundle output — use this to resolve all references):
|
| 344 |
+
{request.exhibit_schedule[:6000]}
|
| 345 |
+
"""
|
| 346 |
+
|
| 347 |
# Summarise local CoV results so the LLM has context
|
| 348 |
local_summary_parts = []
|
| 349 |
scores = local_results.get("scores", {})
|
|
|
|
| 360 |
verify_prompt = f"""You are ClawdBot, a legal document verification agent.
|
| 361 |
|
| 362 |
{legal_instruction}
|
| 363 |
+
{exhibit_schedule_section}
|
| 364 |
|
| 365 |
---
|
| 366 |
|
|
|
|
| 376 |
|
| 377 |
TASK: Review the edit text above. Check:
|
| 378 |
1. Every evidence reference uses the format: Exhibit [Letter][Number] (DB-[N]) — [Filename]. Flag any bare DB-[N] or missing exhibit refs.
|
| 379 |
+
Use the EXHIBIT SCHEDULE above to verify that the Letter+Number matches the correct DB number and filename.
|
| 380 |
+
Flag any Exhibit [L][N] placeholders — these MUST be replaced with real letters from the schedule.
|
| 381 |
2. No sentences are cut off mid-word or mid-sentence (truncation).
|
| 382 |
3. Legal claims are supported by cited evidence. Flag unsupported assertions.
|
| 383 |
4. Dates, names, and case references are consistent.
|
|
|
|
| 388 |
|
| 389 |
If all checks pass, verdict is "pass" with empty issues list.
|
| 390 |
If minor issues found, verdict is "flag".
|
| 391 |
+
If critical issues (truncation, missing exhibit refs, unsupported claims, [L][N] placeholders), verdict is "block"."""
|
| 392 |
|
| 393 |
# Run through LLM (same dual backend as /api/generate)
|
| 394 |
response_text = None
|
openclaw.json
CHANGED
|
@@ -7,5 +7,19 @@
|
|
| 7 |
"defaults": {
|
| 8 |
"workspace": "~/.openclaw/workspace"
|
| 9 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
}
|
| 11 |
}
|
|
|
|
| 7 |
"defaults": {
|
| 8 |
"workspace": "~/.openclaw/workspace"
|
| 9 |
}
|
| 10 |
+
},
|
| 11 |
+
"skills": {
|
| 12 |
+
"load": {
|
| 13 |
+
"extraDirs": ["/home/appuser/app/skills"],
|
| 14 |
+
"watch": true
|
| 15 |
+
},
|
| 16 |
+
"entries": {
|
| 17 |
+
"legal-exhibit-verify": {
|
| 18 |
+
"enabled": true
|
| 19 |
+
},
|
| 20 |
+
"legal-cross-verify": {
|
| 21 |
+
"enabled": true
|
| 22 |
+
}
|
| 23 |
+
}
|
| 24 |
}
|
| 25 |
}
|
prompts/full_evidence_reference.txt
CHANGED
|
@@ -1,164 +1,188 @@
|
|
| 1 |
# Full evidence reference — Exhibit [Letter][Number] (DB-[N]) — [Filename]
|
| 2 |
-
#
|
|
|
|
| 3 |
|
| 4 |
-
Exhibit
|
| 5 |
-
Exhibit
|
| 6 |
-
Exhibit
|
| 7 |
-
Exhibit
|
| 8 |
-
Exhibit
|
| 9 |
-
Exhibit
|
| 10 |
-
Exhibit
|
| 11 |
-
Exhibit
|
| 12 |
-
Exhibit
|
| 13 |
-
Exhibit
|
| 14 |
-
Exhibit
|
| 15 |
-
Exhibit
|
| 16 |
-
Exhibit
|
| 17 |
-
Exhibit
|
| 18 |
-
Exhibit
|
| 19 |
-
Exhibit
|
| 20 |
-
Exhibit
|
| 21 |
-
Exhibit
|
| 22 |
-
Exhibit
|
| 23 |
-
Exhibit
|
| 24 |
-
Exhibit
|
| 25 |
-
Exhibit
|
| 26 |
-
Exhibit
|
| 27 |
-
Exhibit
|
| 28 |
-
Exhibit
|
| 29 |
-
Exhibit
|
| 30 |
-
Exhibit
|
| 31 |
-
Exhibit
|
| 32 |
-
Exhibit
|
| 33 |
-
Exhibit
|
| 34 |
-
Exhibit
|
| 35 |
-
Exhibit
|
| 36 |
-
Exhibit
|
| 37 |
-
Exhibit
|
| 38 |
-
Exhibit
|
| 39 |
-
Exhibit
|
| 40 |
-
Exhibit
|
| 41 |
-
Exhibit
|
| 42 |
-
Exhibit
|
| 43 |
-
Exhibit
|
| 44 |
-
Exhibit
|
| 45 |
-
Exhibit
|
| 46 |
-
Exhibit
|
| 47 |
-
Exhibit
|
| 48 |
-
Exhibit
|
| 49 |
-
Exhibit
|
| 50 |
-
Exhibit
|
| 51 |
-
Exhibit
|
| 52 |
-
Exhibit
|
| 53 |
-
Exhibit
|
| 54 |
-
Exhibit
|
| 55 |
-
Exhibit
|
| 56 |
-
Exhibit
|
| 57 |
-
Exhibit
|
| 58 |
-
Exhibit
|
| 59 |
-
Exhibit
|
| 60 |
-
Exhibit
|
| 61 |
-
Exhibit
|
| 62 |
-
Exhibit
|
| 63 |
-
Exhibit
|
| 64 |
-
Exhibit
|
| 65 |
-
Exhibit
|
| 66 |
-
Exhibit
|
| 67 |
-
Exhibit
|
| 68 |
-
Exhibit
|
| 69 |
-
Exhibit
|
| 70 |
-
Exhibit
|
| 71 |
-
Exhibit
|
| 72 |
-
Exhibit
|
| 73 |
-
Exhibit
|
| 74 |
-
Exhibit
|
| 75 |
-
Exhibit
|
| 76 |
-
Exhibit
|
| 77 |
-
Exhibit
|
| 78 |
-
Exhibit
|
| 79 |
-
Exhibit
|
| 80 |
-
Exhibit
|
| 81 |
-
Exhibit
|
| 82 |
-
Exhibit
|
| 83 |
-
Exhibit
|
| 84 |
-
Exhibit
|
| 85 |
-
Exhibit
|
| 86 |
-
Exhibit
|
| 87 |
-
Exhibit
|
| 88 |
-
Exhibit
|
| 89 |
-
Exhibit
|
| 90 |
-
Exhibit
|
| 91 |
-
Exhibit
|
| 92 |
-
Exhibit
|
| 93 |
-
Exhibit
|
| 94 |
-
Exhibit
|
| 95 |
-
Exhibit
|
| 96 |
-
Exhibit
|
| 97 |
-
Exhibit
|
| 98 |
-
Exhibit
|
| 99 |
-
Exhibit
|
| 100 |
-
Exhibit
|
| 101 |
-
Exhibit
|
| 102 |
-
Exhibit
|
| 103 |
-
Exhibit
|
| 104 |
-
Exhibit
|
| 105 |
-
Exhibit
|
| 106 |
-
Exhibit
|
| 107 |
-
Exhibit
|
| 108 |
-
Exhibit
|
| 109 |
-
Exhibit
|
| 110 |
-
Exhibit
|
| 111 |
-
Exhibit
|
| 112 |
-
Exhibit
|
| 113 |
-
Exhibit
|
| 114 |
-
Exhibit
|
| 115 |
-
Exhibit
|
| 116 |
-
Exhibit
|
| 117 |
-
Exhibit
|
| 118 |
-
Exhibit
|
| 119 |
-
Exhibit
|
| 120 |
-
Exhibit
|
| 121 |
-
Exhibit
|
| 122 |
-
Exhibit
|
| 123 |
-
Exhibit
|
| 124 |
-
Exhibit
|
| 125 |
-
Exhibit
|
| 126 |
-
Exhibit
|
| 127 |
-
Exhibit
|
| 128 |
-
Exhibit
|
| 129 |
-
Exhibit
|
| 130 |
-
Exhibit
|
| 131 |
-
Exhibit
|
| 132 |
-
Exhibit
|
| 133 |
-
Exhibit
|
| 134 |
-
Exhibit
|
| 135 |
-
Exhibit
|
| 136 |
-
Exhibit
|
| 137 |
-
Exhibit
|
| 138 |
-
Exhibit
|
| 139 |
-
Exhibit
|
| 140 |
-
Exhibit
|
| 141 |
-
Exhibit
|
| 142 |
-
Exhibit
|
| 143 |
-
Exhibit
|
| 144 |
-
Exhibit
|
| 145 |
-
Exhibit
|
| 146 |
-
Exhibit
|
| 147 |
-
Exhibit
|
| 148 |
-
Exhibit
|
| 149 |
-
Exhibit
|
| 150 |
-
Exhibit
|
| 151 |
-
Exhibit
|
| 152 |
-
Exhibit
|
| 153 |
-
Exhibit
|
| 154 |
-
Exhibit
|
| 155 |
-
Exhibit
|
| 156 |
-
Exhibit
|
| 157 |
-
Exhibit
|
| 158 |
-
Exhibit
|
| 159 |
-
Exhibit
|
| 160 |
-
Exhibit
|
| 161 |
-
Exhibit
|
| 162 |
-
Exhibit
|
| 163 |
-
Exhibit
|
| 164 |
-
Exhibit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
# Full evidence reference — Exhibit [Letter][Number] (DB-[N]) — [Filename]
|
| 2 |
+
# Generated: 2026-02-15 18:07:48
|
| 3 |
+
# AUTHORITATIVE: Bundle letters are from actual bundle output, not placeholders.
|
| 4 |
|
| 5 |
+
Exhibit A1 (DB-3) — May-July2022_SAvilles_Stock_survey_Supressed_Evidence_all_files.pdf
|
| 6 |
+
Exhibit A2 (DB-4) — Charles-Holden-Disrepair-Inspection-Charles-Holden-Report.pdf
|
| 7 |
+
Exhibit A3 (DB-5) — 14-2-25-FO-LambethI-Legal_Misconduct_Withheld_Reports_&_Ombudsman_Non-Compliance-request-receipt-IRN32396062.pdf
|
| 8 |
+
Exhibit A4 (DB-6) — 18-2-25-IRN32481117_LegalMisconductInjucnctionJustificationSupressedEvidence.pdf
|
| 9 |
+
Exhibit A5 (DB-7) — 19-2-25-Internal_Solicitor_Communications_on_FOI_Handling_&_Suppression-IRN32504150-linked_to_previously_submitted-.pdf
|
| 10 |
+
Exhibit A6 (DB-8) — 20250417_124510_survey_desnagh_vaughn.mp4
|
| 11 |
+
Exhibit A7 (DB-9) — Proof_info_provided_to_dvaughn_3_3_16.pdf
|
| 12 |
+
Exhibit A8 (DB-1284) — 13-3-25-Received-Supressed-30-4-2024-Disrepair-Inspection-Ch
|
| 13 |
+
Exhibit A9 (DB-11) — dead_pest_cooker_2.jpg
|
| 14 |
+
Exhibit A10 (DB-12) — Faulty_sparking_cooker_wiring_2025_05_17_13_06_04.jpg
|
| 15 |
+
Exhibit A11 (DB-13) — pest_access_gnawed_into_bathroom.jpg
|
| 16 |
+
Exhibit A12 (DB-14) — pest_access_gnawed_into_bathroom_2.jpg
|
| 17 |
+
Exhibit A13 (DB-15) — pest_in_cavit_spaces.pdf
|
| 18 |
+
Exhibit A14 (DB-16) — Pest_Damage_in_Bathroom.jpg
|
| 19 |
+
Exhibit A15 (DB-17) — Basement_Pest_Droppings_in_Communal_Area.jpg
|
| 20 |
+
Exhibit B1 (DB-1558) — Lambeth_foi_refusal_vexationResponse_vexatious_request.pdf
|
| 21 |
+
Exhibit B2 (DB-18) — pest_opening_leading_to_external_to_internal_walls.jpg
|
| 22 |
+
Exhibit B3 (DB-19) — Faulty_Fire_alarm_control_system_2024_06_30_11_24_15.jpg
|
| 23 |
+
Exhibit B4 (DB-20) — Faulty_Fire_Alarm_Faulty_lights_2022-2025_2025_02_04.jpg
|
| 24 |
+
Exhibit B5 (DB-21) — Pitch_black_communal_hallway_lighting_2023-2025_02_19_185326.mp4
|
| 25 |
+
Exhibit B6 (DB-22) — Communal_Lighting_Videos_2024_2024_12_05_05_03_59.mp4
|
| 26 |
+
Exhibit B7 (DB-23) — cracking_faulty_communal_staircase.jpg
|
| 27 |
+
Exhibit B8 (DB-24) — 2_12_25_Boiler_alarm_no_heating_Since_moving_in.mp4
|
| 28 |
+
Exhibit B9 (DB-25) — 20250619_124929_No_gas_heating_hot_water.mp4
|
| 29 |
+
Exhibit B10 (DB-26) — 20250619_205558_Repair_man_did_not_uncap_gas.mp4
|
| 30 |
+
Exhibit B11 (DB-27) — 20250610_105938_Potential_asbestos_workmen_with_chemical_treatment.jpg
|
| 31 |
+
Exhibit B12 (DB-28) — 2_Knowles_Walk_Refurbishment_Survey_20250616_134239.jpg
|
| 32 |
+
Exhibit B13 (DB-29) — 2_Knowles_Walk_Refurbishment_Survey_20250616_135345.jpg
|
| 33 |
+
Exhibit B14 (DB-30) — 2_Knowles_Walk_Refurbishment_Survey_20250616_140612.jpg
|
| 34 |
+
Exhibit C1 (DB-31) — 20250617_203003_masks_discarded_at_building_entrance.jpg
|
| 35 |
+
Exhibit C2 (DB-32) — Kitchen_door_removal_to_access_light_switch.jpg
|
| 36 |
+
Exhibit C3 (DB-33) — FAULTY_staircase.JPG
|
| 37 |
+
Exhibit C4 (DB-34) — DROPPINGS_UNDER_COMMUNAL_STAIRS_STRUCTURAL_DEFECTS.JPG
|
| 38 |
+
Exhibit C5 (DB-35) — leaking_communal_roof.jpg
|
| 39 |
+
Exhibit C6 (DB-36) — leaking_communal_roof_(2).jpg
|
| 40 |
+
Exhibit C7 (DB-37) — 4_sedley_damp_Image_2019-05-08_at_14.33.54(5).jpeg
|
| 41 |
+
Exhibit C8 (DB-38) — 4_sedley_damp_exposed_wiring_Image_2019-05-08_at_14.33.53(3).jpeg
|
| 42 |
+
Exhibit C9 (DB-39) — 4_sedley_damp_WhatsApp_Image_2019-05-08_at_18.17.24(4).jpeg
|
| 43 |
+
Exhibit C10 (DB-40) — 4_Sedley_Faulty_WC_blocking_Persistently_2019-05-08_at_18.17.24(2).jpeg
|
| 44 |
+
Exhibit C11 (DB-41) — Flat_105c_floor_construction_breaching_ombudsman_orders_2024_05_2511_22_17.jpg
|
| 45 |
+
Exhibit C12 (DB-42) — Flat_105c_floor_construction_breaching_ombudsman_orders_2024_05_25_11_18_58.jpg
|
| 46 |
+
Exhibit C13 (DB-43) — Flat_105c_floor_construction_breaching_ombudsman_orders_2024_05_2511_19_05.jpg
|
| 47 |
+
Exhibit C14 (DB-4288) — 20250610_105938_Potential_asbestos_workmen_with_chemical_tre
|
| 48 |
+
Exhibit C15 (DB-44) — Flat_105c_floor_construction_breaching_ombudsman_orders_2024_05_2511_19_28.jpg
|
| 49 |
+
Exhibit D1 (DB-150) — (referenced in timeline)
|
| 50 |
+
Exhibit D2 (DB-4294) — Pc_Hopwood_Met_Safer_Neighbourhoods__2025_02_19_141_1_26_Mes
|
| 51 |
+
Exhibit D3 (DB-131) — 19_12_25_NHS_Websit_Gp_Medical_consultations_.pdf
|
| 52 |
+
Exhibit D4 (DB-1590) — Police_reference_numbers_2025_0106_12_59_39_Messages.jpg
|
| 53 |
+
Exhibit D5 (DB-1591) — Police_reference_numbers_2025_0106_12_59_53_Messages.jpg
|
| 54 |
+
Exhibit D6 (DB-125) — 16_12_25_Lamberth_Email_Complaint_Response_Rent_account_UFN40981138.pdf
|
| 55 |
+
Exhibit D7 (DB-1592) — Trascript_video_1_video_2_Threats_ASB_31_12_24.pdf
|
| 56 |
+
Exhibit D8 (DB-124) — 10_12_25_Environmental_Health_Team_complaint_UFN41088421.pdf
|
| 57 |
+
Exhibit D9 (DB-125) — 16_12_25_Lamberth_Email_Complaint_Response_Rent_account_UFN40981138.pdf
|
| 58 |
+
Exhibit D10 (DB-126) — 17_12_25_Environmental_Health_Complaint_response_UFN41088421.pdf
|
| 59 |
+
Exhibit D11 (DB-127) — 9_12_25_Lambeth_Complaint_UFN40981138)_rent_email_v6720224229.pdf
|
| 60 |
+
Exhibit D12 (DB-128) — 16_12_25_Gmail_Complaint_UFN40981138_2_Knowles_Walk.pdf
|
| 61 |
+
Exhibit D13 (DB-129) — 16_12_25_Gmail_Complaint_unable_to_respond_in_timscale_UFN40981138_2_Knowles_Walk.pdf
|
| 62 |
+
Exhibit D14 (DB-130) — Independent_Pest_Inspection_2024.pdf
|
| 63 |
+
Exhibit D15 (DB-131) — 19_12_25_NHS_Websit_Gp_Medical_consultations_.pdf
|
| 64 |
+
Exhibit D16 (DB-132) — Vacate_decant_20251219_103002.jpg
|
| 65 |
+
Exhibit D17 (DB-4295) — 17-11-21-Emailed-lambeth-tenancy-ASB-multiple-strangers-unwi
|
| 66 |
+
Exhibit D18 (DB-125) — 16_12_25_Lamberth_Email_Complaint_Response_Rent_account_UFN40981138.pdf
|
| 67 |
+
Exhibit D19 (DB-133) — Recorded_delivery_left_without_receiving_signature_Vacate_decant_20251219_103002.jpg
|
| 68 |
+
Exhibit D20 (DB-124) — 10_12_25_Environmental_Health_Team_complaint_UFN41088421.pdf
|
| 69 |
+
Exhibit D21 (DB-1592) — Trascript_video_1_video_2_Threats_ASB_31_12_24.pdf
|
| 70 |
+
Exhibit D22 (DB-954) — Transcripted_31_12_24_Project_V1.mp4
|
| 71 |
+
Exhibit D23 (DB-133) — Recorded_delivery_left_without_receiving_signature_Vacate_decant_20251219_103002.jpg
|
| 72 |
+
Exhibit D24 (DB-1586) — FORMSU~2.PDF
|
| 73 |
+
Exhibit D25 (DB-132) — Vacate_decant_20251219_103002.jpg
|
| 74 |
+
Exhibit D26 (DB-145) — FOI_Request_Correspondence_2022-2024.pdf
|
| 75 |
+
Exhibit D27 (DB-4296) — formsubmission-report-threats-verbal-abuse-or-assault-and-da
|
| 76 |
+
Exhibit D28 (DB-134) — 31-1-25 Naylor letter (costs intimidation).pdf
|
| 77 |
+
Exhibit D29 (DB-135) — 11-2-25 Mulholland EPA closure letter (false refusal + file termination)
|
| 78 |
+
Exhibit D30 (DB-136) — 12-2-25 solicitor threats email
|
| 79 |
+
Exhibit D31 (DB-137) — 12-2-25 recorded call (“you need to sign today”)
|
| 80 |
+
Exhibit D32 (DB-138) — 11-3-25 withdrawal threat email
|
| 81 |
+
Exhibit E1 (DB-181) — Gp_Appointment_Screenshot_20251219_114429_Messages.jpg
|
| 82 |
+
Exhibit E2 (DB-182) — e-RS Letter (12-Jul-2024).pdf
|
| 83 |
+
Exhibit E3 (DB-183) — Physio_2025_05_20_01_51_28_Messages.jpg
|
| 84 |
+
Exhibit E4 (DB-184) — Ear_Nose_throat_2025_05_27_172036_Messages.jpg
|
| 85 |
+
Exhibit E5 (DB-2158) — 6-9-23-September_2023_August_2024_Noise_Nuisance_responses_2
|
| 86 |
+
Exhibit E6 (DB-301) — 20-8-24-September_2023_August_2024_Noise_Nuisance_responses_
|
| 87 |
+
Exhibit E7 (DB-4297) — 7_11_24_stage_2_complant_response_202416660.pdf
|
| 88 |
+
Exhibit E8 (DB-1538) — 2024_05_23_Summary_Ombudsman_Investigation Report-merged.pdf
|
| 89 |
+
Exhibit E9 (DB-4576) — Hand_delivered_202506_02_144121.jpg
|
| 90 |
+
Exhibit E10 (DB-185) — SVC_FAIL_2025_06_02_HAND_DELIVERED_20250602_144151.jpg
|
| 91 |
+
Exhibit E11 (DB-186) — SVC_FAIL_2025_06_02_HAND_DELIVERED_20250602_144316.jpg
|
| 92 |
+
Exhibit E12 (DB-187) — flat_viewing_12_11_24_hand_delivered.jpg
|
| 93 |
+
Exhibit E13 (DB-188) — Hand_delivered_27_05_2025.jpg
|
| 94 |
+
Exhibit E14 (DB-189) — HandDelivered_WitnessStatement_MauyahJohnson_Discovered_Morn
|
| 95 |
+
Exhibit E15 (DB-190) — 17-2-15-email-solicitors-requesting-costs-for-case-file.pdf_
|
| 96 |
+
Exhibit E16 (DB-191) — 12.03.2025-Solicitor-email-exchange-excluding-evidenc-from-s
|
| 97 |
+
Exhibit E17 (DB-192) — 17-2-15-email-solicitors-requesting-costs-for-case-file.pdf.
|
| 98 |
+
Exhibit E18 (DB-193) — Key_not_working_2025-10-20.mp4
|
| 99 |
+
Exhibit E19 (DB-194) — 9_6_25_Email_Lambeth_No_Key_Info_Response_2_Knowles_walk_Dec
|
| 100 |
+
Exhibit E20 (DB-195) — 10_6_25_Email_Lambeth_No_Key_Info_Response_2_Knowles_walk_De
|
| 101 |
+
Exhibit E21 (DB-196) — 20250610_150625.jpg
|
| 102 |
+
Exhibit E22 (DB-197) — 20250610_152149.jpg
|
| 103 |
+
Exhibit E23 (DB-198) — Temporary_Licence_Agreement_for_2_Knowles_Wal-1.pdf
|
| 104 |
+
Exhibit E24 (DB-199) — 2_knowels_walk_Key_collection_called_Tenancy_.m4a
|
| 105 |
+
Exhibit E25 (DB-200) — 6_6_25_Email_Lambeth_No_Key_Info_Response_2_Knowles_walk_Dec
|
| 106 |
+
Exhibit E26 (DB-201) — 2024-06-10-Letter-to-AH-Solicitors.pdf
|
| 107 |
+
Exhibit E27 (DB-202) — 10_6_25_Keys_2_Knowles_walk_supplied_last_minute.png
|
| 108 |
+
Exhibit E28 (DB-203) — 31-3-22-Desna-Vaughn-Call-during-repair.jpg
|
| 109 |
+
Exhibit E29 (DB-4577) — 31-1-25 Naylor letter (costs intimidation).pdf
|
| 110 |
+
Exhibit E30 (DB-204) — 24-8-23-instructions-2nd-claim-highlights-disrepair-not-incl
|
| 111 |
+
Exhibit E31 (DB-205) — 13-7-23-pest-appointment.pdf
|
| 112 |
+
Exhibit E32 (DB-206) — 14-7-23-sick-spinal-surgery-appointments-pests.pdf
|
| 113 |
+
Exhibit F1 (DB-60) — 8-5-24_-25-3-25_v2_Diary_Sheets.pdf
|
| 114 |
+
Exhibit F2 (DB-61) — Noise_Logs_April_2024.pdf
|
| 115 |
+
Exhibit F3 (DB-62) — 2023-2025-carare-noise-faulty-stair-case-echochamber-hall.pdf
|
| 116 |
+
Exhibit F4 (DB-63) — 2025_03_24__Noise_escelation_Flat-105a.mp4
|
| 117 |
+
Exhibit F5 (DB-64) — Transcript_video_1_video_2_Threats_ASB_31_12_24.pdf
|
| 118 |
+
Exhibit F6 (DB-65) — Transcripted_31_12_24_Project_V2.mp4
|
| 119 |
+
Exhibit F7 (DB-66) — 2024_12_31_16_02_24_video_1_subtitles.mp4
|
| 120 |
+
Exhibit F8 (DB-67) — 2025_03_20_12_03_03_105a_gang_threat_flat_noise.mp4
|
| 121 |
+
Exhibit F9 (DB-68) — 2025_03_22_Persistent_Loitering_noise.mp4
|
| 122 |
+
Exhibit F10 (DB-69) — Verbal_abuse_through_floor_2025_01_16_16_52_35.mp4
|
| 123 |
+
Exhibit F11 (DB-70) — 2-1-25-Community-Trigger-Request.pdf
|
| 124 |
+
Exhibit F12 (DB-71) — Police_reference_numbers_5_1_25.jpg
|
| 125 |
+
Exhibit F13 (DB-72) — Police_reference_numbers_2025_01_06_12_59_59_Messages.jpg
|
| 126 |
+
Exhibit F14 (DB-73) — Pc_Hopwood_Met_Safer_Neighbourhoods__2025_02_19_141_1_26_Messages.jpg
|
| 127 |
+
Exhibit F15 (DB-74) — FormSubmission-report-threats-verbal-abuse-assault-formtaa-62228-24-0101-ir.pdf
|
| 128 |
+
Exhibit G1 (DB-4292) — 20250619_210749_2_Knowles_walk_springloaded_doors.mp4
|
| 129 |
+
Exhibit G2 (DB-75) — Police_email_me_Email_police_CAD_ref_5345_19Apr23.pdf
|
| 130 |
+
Exhibit G3 (DB-76) — 19-8-22-Brixton-Police-Text-Returning-Belongings-Film-emorabelia.jpg
|
| 131 |
+
Exhibit G4 (DB-77) — refused_charge_6_4_23_ornaments_film_memorablia_.jpg
|
| 132 |
+
Exhibit G5 (DB-78) — ASB_CAD_references_summary.html.pdf
|
| 133 |
+
Exhibit G6 (DB-80) — Spinal_Operation_Discharge_Letters.pdf
|
| 134 |
+
Exhibit G7 (DB-81) — Therapist_Letter_1730394159.pdf
|
| 135 |
+
Exhibit G8 (DB-82) — Leo_Sunil_psychologist_Medical_wellbeing_25-1-24.jpg
|
| 136 |
+
Exhibit G9 (DB-83) — Orthopaedics_medical_letters_4_1_25_2025_02_04_11_32_24.jpg
|
| 137 |
+
Exhibit G10 (DB-84) — Gp_Consultations.pdf
|
| 138 |
+
Exhibit G11 (DB-85) — Health_Impact.odt
|
| 139 |
+
Exhibit G12 (DB-86) — 7_day_holter_device_monitor20250516_173227.jpg
|
| 140 |
+
Exhibit G13 (DB-87) — Hand_delivered_202506_02_144121.jpg
|
| 141 |
+
Exhibit G14 (DB-88) — SVC_FAIL_2025_06_02_HAND_DELIVERED_20250602_144151.jpg
|
| 142 |
+
Exhibit H1 (DB-469) — 7_day_holter_devi_20250527_172050_Messages.jpg
|
| 143 |
+
Exhibit H2 (DB-174) — 7_day_holter_device_monitor20250516_173227.jpg
|
| 144 |
+
Exhibit H3 (DB-1274) — Colorectal_appoint20250527_171959_Messages.jpg
|
| 145 |
+
Exhibit H4 (DB-184) — Ear_Nose_throat_2025_05_27_172036_Messages.jpg
|
| 146 |
+
Exhibit H5 (DB-183) — Physio_2025_05_20_01_51_28_Messages.jpg
|
| 147 |
+
Exhibit H6 (DB-1275) — Physio_2025_05_20_20250527_171842_Messages.jpg
|
| 148 |
+
Exhibit H7 (DB-1276) — Physio_2025_05_27_17_19_16_Messages.jpg
|
| 149 |
+
Exhibit H8 (DB-1277) — Screenshot_20250527_171906_Messages.jpg
|
| 150 |
+
Exhibit H9 (DB-1278) — Screenshot_20250527_172012_Messages.jpg
|
| 151 |
+
Exhibit H10 (DB-1279) — Screenshot_20250527_172029_Messages.jpg
|
| 152 |
+
Exhibit H11 (DB-4236) — 20250604_174704_Persistent_Fly_Tipping_Often_So_bad_the_most
|
| 153 |
+
Exhibit H12 (DB-4237) — 20250605_112408_Persistent_Fly_Tipping_Often_So_bad_the_most
|
| 154 |
+
Exhibit H13 (DB-4235) — 20250530_145527_Persistent_Fly_Tipping.jpg
|
| 155 |
+
Exhibit H14 (DB-4238) — 20250606_090724_Persistent_Fly_Tipping_Often_So_bad_the_most
|
| 156 |
+
Exhibit H15 (DB-3786) — 20250606_090727_fly_tip_blocking_access.jpg
|
| 157 |
+
Exhibit H16 (DB-3085) — loitering_dumping_rubbish_2024_08_22_16_29_25.jpg
|
| 158 |
+
Exhibit H17 (DB-2645) — Persistent_Loitering_2023_08_01_14_43_07.mp4
|
| 159 |
+
Exhibit H18 (DB-4247) — 20250501_150219.jpg
|
| 160 |
+
Exhibit H19 (DB-4246) — 20250501_150208(0).jpg
|
| 161 |
+
Exhibit H20 (DB-4567) — Noise-team-emailed-28-Jan-08-30am-_DSFX1640131801334.pdf
|
| 162 |
+
Exhibit H21 (DB-1585) — emails_from_Matthew_Onakoya_Oct_2022.pdf
|
| 163 |
+
Exhibit H22 (DB-1532) — 10_12_25_Environmental_Health_Team_complaint_UFN41088421.pdf
|
| 164 |
+
Exhibit H23 (DB-1536) — 17_12_25_Environmental_Health_Complaint_response_UFN41088421
|
| 165 |
+
Exhibit H24 (DB-441) — 3-1-22-pests-stautory-noise-nuisance-recorded-lambeth-noise-
|
| 166 |
+
Exhibit H25 (DB-1642) — 26-1-22-pending-status-in-noise-app.jpg
|
| 167 |
+
Exhibit H26 (DB-2158) — 6-9-23-September_2023_August_2024_Noise_Nuisance_responses_2
|
| 168 |
+
Exhibit H27 (DB-301) — 20-8-24-September_2023_August_2024_Noise_Nuisance_responses_
|
| 169 |
+
Exhibit H28 (DB-1594) — ombudsman-empty-cavity-spaces-noise.png
|
| 170 |
+
Exhibit H29 (DB-399) — 21-11-24_17_01_request_formal_acknowledgement_of_Lambeths_fa
|
| 171 |
+
Exhibit H30 (DB-471) — 8-10-202l-work-order-30209751-Bathroom-_unsafe-ceiling-colla
|
| 172 |
+
Exhibit H31 (DB-425) — 26-9-22-Complaint-Response-UFN11818014-Time-Elapsed-Coral_Co
|
| 173 |
+
Exhibit H32 (DB-3919) — Complaint-Response-UFN23956757-4-4-2024.pdf.png
|
| 174 |
+
Exhibit I1 (DB-104) — 11_6_25_Desnagh_vaughn_Email_innapropriate_contact.pdf
|
| 175 |
+
Exhibit I2 (DB-105) — 20_10_25_LEtter_demandingrent_after_ignoring_emailed_payment_plan_request.jpeg
|
| 176 |
+
Exhibit I3 (DB-106) — 23_9_25_Emailed_rent_team_request_payment_plan_720224229.pdf
|
| 177 |
+
Exhibit I4 (DB-107) — 23_4_25_Emailed_rent_team_requesting_rent_increase_letter_request_payment_plan_720224229.pdf
|
| 178 |
+
Exhibit I5 (DB-108) — May_25_July_25_disrepair_dispute_rent_deductions_universal_credit.pdf
|
| 179 |
+
Exhibit I6 (DB-109) — 2_5_25_Disrepair_dispute_notice_to_Universal_Credit.pdf
|
| 180 |
+
Exhibit I7 (DB-110) — Lambeth_barriester_leters_injunction_costs_2025_01_31_13_0100.jpg
|
| 181 |
+
Exhibit I8 (DB-111) — 7_7_25_Barrister_fees_letter.jpg
|
| 182 |
+
Exhibit I9 (DB-112) — 16_6_25_Emailed_proof_deleted_disrepair_dispute_notice_to_Universal_Credit.pdf
|
| 183 |
+
Exhibit I10 (DB-113) — 16_6_25_Emailed_request_appeal_additianal_rent_deductions_disrepair_dispute_notice_to_Universal_Credit.pdf
|
| 184 |
+
Exhibit I11 (DB-114) — 16_12_25_Lambeth_email_rent_formal_dispute_of_rent_arrears_uninhabitable_decant_systemic_failure_acc_720224229.msg
|
| 185 |
+
Exhibit I12 (DB-115) — 20250604_174704_Persistent_Fly_Tipping_Often_So_bad_the_most_accessible_entrances_bloacked.jpg
|
| 186 |
+
Exhibit I13 (DB-116) — 20250605_112408_Persistent_Fly_Tipping_Often_So_bad_the_most_accessible_entrances_bloacked.jpg
|
| 187 |
+
Exhibit I14 (DB-117) — 20250530_145527_Persistent_Fly_Tipping.jpg
|
| 188 |
+
Exhibit I15 (DB-120) — Persistent_Loitering_2023_08_01_14_43_07.mp4
|
skills/legal-cross-verify/SKILL.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
name: legal-cross-verify
|
| 3 |
+
description: Cross-verify legal document edits by calling the local CoV pipeline and comparing Claude, Qwen, and ClawdBot verdicts. Orchestrates multi-LLM verification.
|
| 4 |
+
metadata: {"openclaw": {"requires": {"env": ["COURT_CLAWDBOT_GATEWAY_URL"]}, "emoji": "🔍"}}
|
| 5 |
+
---
|
| 6 |
+
|
| 7 |
+
# Legal Cross-Verification Skill
|
| 8 |
+
|
| 9 |
+
You orchestrate multi-LLM verification of legal documents. When given legal text to verify, you:
|
| 10 |
+
|
| 11 |
+
## Step 1: Call the Verification API
|
| 12 |
+
|
| 13 |
+
POST to the ClawdBot gateway verify endpoint:
|
| 14 |
+
|
| 15 |
+
```bash
|
| 16 |
+
curl -s -X POST "${COURT_CLAWDBOT_GATEWAY_URL}/verify" \
|
| 17 |
+
-H "Content-Type: application/json" \
|
| 18 |
+
-H "X-API-Key: ${MOLTBOT_API_KEY}" \
|
| 19 |
+
-d '{
|
| 20 |
+
"edit_text": "<the legal text>",
|
| 21 |
+
"local_cov_results": {},
|
| 22 |
+
"exhibit_schedule": "<contents of prompts/full_evidence_reference.txt>"
|
| 23 |
+
}'
|
| 24 |
+
```
|
| 25 |
+
|
| 26 |
+
## Step 2: Interpret Results
|
| 27 |
+
|
| 28 |
+
The response contains:
|
| 29 |
+
- `verdict`: "pass", "flag", or "block"
|
| 30 |
+
- `reasoning`: explanation of the decision
|
| 31 |
+
- `issues`: list of specific problems found
|
| 32 |
+
|
| 33 |
+
## Step 3: Cross-Check
|
| 34 |
+
|
| 35 |
+
If the verdict is "flag" or "block":
|
| 36 |
+
1. Read the issues list carefully
|
| 37 |
+
2. For exhibit reference issues, look up the correct mapping in `prompts/full_evidence_reference.txt`
|
| 38 |
+
3. For truncation issues, flag that the text needs to be completed
|
| 39 |
+
4. For legal accuracy issues, verify the statute citations
|
| 40 |
+
|
| 41 |
+
## Step 4: Report
|
| 42 |
+
|
| 43 |
+
Provide a structured report:
|
| 44 |
+
```
|
| 45 |
+
CROSS-VERIFICATION REPORT
|
| 46 |
+
=========================
|
| 47 |
+
ClawdBot Verdict: [pass/flag/block]
|
| 48 |
+
Issues Found: [count]
|
| 49 |
+
|
| 50 |
+
Issue 1: [description]
|
| 51 |
+
-> Fix: [suggested fix with correct exhibit reference]
|
| 52 |
+
|
| 53 |
+
Issue 2: [description]
|
| 54 |
+
-> Fix: [suggested fix]
|
| 55 |
+
|
| 56 |
+
RESOLVED REFERENCES:
|
| 57 |
+
DB-3 -> Exhibit A1 (DB-3) — [filename]
|
| 58 |
+
DB-5 -> Exhibit A3 (DB-5) — [filename]
|
| 59 |
+
```
|
| 60 |
+
|
| 61 |
+
## What Makes This Different From Single-LLM Review
|
| 62 |
+
|
| 63 |
+
- **Claude** (Cursor) drafts the legal text and sees the codebase
|
| 64 |
+
- **Qwen** (HF Space) independently reviews for accuracy without seeing the original prompt
|
| 65 |
+
- **ClawdBot/OpenClaw** (HF Space + gateway) verifies exhibit references against the authoritative schedule
|
| 66 |
+
- **This skill** orchestrates all three and produces a unified report
|
| 67 |
+
|
| 68 |
+
No single LLM can do all of this alone. The cross-check catches:
|
| 69 |
+
- Claude using `[L][N]` placeholders (it doesn't have the schedule)
|
| 70 |
+
- Qwen flagging truncation (the text was cut by a character limit)
|
| 71 |
+
- ClawdBot catching wrong exhibit letters (A3 should be A1 for DB-3)
|
skills/legal-exhibit-verify/SKILL.md
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
name: legal-exhibit-verify
|
| 3 |
+
description: Verify legal document exhibit references against the authoritative exhibit schedule. Check that every evidence citation uses the format Exhibit [Letter][Number] (DB-[N]) — [Filename] with correct mappings.
|
| 4 |
+
metadata: {"openclaw": {"requires": {}, "emoji": "⚖️", "homepage": "https://deebee7-moltbot-hybrid-engine.hf.space"}}
|
| 5 |
+
---
|
| 6 |
+
|
| 7 |
+
# Legal Exhibit Verification Skill
|
| 8 |
+
|
| 9 |
+
You are a legal document verification agent for court bundle evidence references.
|
| 10 |
+
|
| 11 |
+
## What You Do
|
| 12 |
+
|
| 13 |
+
When given legal text (witness statements, N244 applications, SRA complaints, court filings), you:
|
| 14 |
+
|
| 15 |
+
1. **Check every exhibit reference** uses the mandatory format:
|
| 16 |
+
`Exhibit [Letter][Number] (DB-[N]) — [Filename]`
|
| 17 |
+
Example: `Exhibit A3 (DB-5) — 14-2-25-FO-LambethI-Legal_Misconduct_Withheld_Reports_&_Ombudsman_Non-Compliance-request-receipt-IRN32396062.pdf`
|
| 18 |
+
|
| 19 |
+
2. **Flag placeholders** — any `[L][N]`, `DB-[●]`, `[●]`, `TBC`, or `TODO` MUST be resolved before filing.
|
| 20 |
+
|
| 21 |
+
3. **Verify against the exhibit schedule** — the authoritative mapping is at `{baseDir}/../../prompts/full_evidence_reference.txt`. Load it and verify:
|
| 22 |
+
- The bundle letter matches the DB number
|
| 23 |
+
- The filename matches
|
| 24 |
+
- No exhibit letters are guessed or fabricated
|
| 25 |
+
|
| 26 |
+
4. **Check for truncation** — flag any text that ends mid-sentence or mid-word.
|
| 27 |
+
|
| 28 |
+
5. **Check legal accuracy** — verify statute citations (Housing Act 2004, Landlord and Tenant Act 1985, etc.) are correctly referenced.
|
| 29 |
+
|
| 30 |
+
## How to Use the Exhibit Schedule
|
| 31 |
+
|
| 32 |
+
The file `prompts/full_evidence_reference.txt` contains lines like:
|
| 33 |
+
```
|
| 34 |
+
Exhibit A1 (DB-3) — May-July2022_SAvilles_Stock_survey_Supressed_Evidence_all_files.pdf
|
| 35 |
+
Exhibit A2 (DB-4) — Charles-Holden-Disrepair-Inspection-Charles-Holden-Report.pdf
|
| 36 |
+
```
|
| 37 |
+
|
| 38 |
+
To verify a reference in legal text:
|
| 39 |
+
1. Extract the DB number from the text (e.g., DB-3)
|
| 40 |
+
2. Look up the DB number in the schedule
|
| 41 |
+
3. Confirm the bundle letter+number matches (e.g., A1)
|
| 42 |
+
4. Confirm the filename matches
|
| 43 |
+
|
| 44 |
+
## Output Format
|
| 45 |
+
|
| 46 |
+
Always respond with structured JSON:
|
| 47 |
+
```json
|
| 48 |
+
{
|
| 49 |
+
"verdict": "pass" | "flag" | "block",
|
| 50 |
+
"reasoning": "One paragraph explanation",
|
| 51 |
+
"issues": ["issue 1", "issue 2"],
|
| 52 |
+
"resolved_references": [
|
| 53 |
+
{"original": "Exhibit [L][N] (DB-3)", "resolved": "Exhibit A1 (DB-3) — May-July2022_SAvilles_Stock_survey_Supressed_Evidence_all_files.pdf"}
|
| 54 |
+
]
|
| 55 |
+
}
|
| 56 |
+
```
|
| 57 |
+
|
| 58 |
+
## Rules
|
| 59 |
+
|
| 60 |
+
- **NEVER fabricate exhibit letters** — only use letters from the authoritative schedule
|
| 61 |
+
- **NEVER remove evidence references** — if a reference has issues, flag it, don't delete it
|
| 62 |
+
- **ALWAYS preserve filenames exactly as they are** — do not rename, sanitize, or normalise filenames
|
| 63 |
+
- If the exhibit schedule is not available, verdict is "flag" with issue "Exhibit schedule not loaded — cannot verify mappings"
|