Runs a versioned journal-entry testing ruleset over a declared JE extract: weekend/holiday postings, round-number entries, suspense/manual-account postings, post-close entries, and unusual user/account pairings. Every convention (which rules run, what counts as round, the weekend calendar, the suspense-account list, the close date, the authorized user/account pairings) is a policy input you declare below — none of them are silent defaults.
post_close rule compares each entry's one posting_date with the close date you declare. It is a screen, not a period-lock test, and passing it does not close a period. Dates are checked loosely (a day up to 31 in any month), and an entry whose date does not parse is not tested by the date rules.Copy this paragraph into Claude, OpenClaw, or any MCP-aware agent to run this exact tool, with this sample, and verify the artifact.
Run the AINumbers MCP tool `screen_je_ruleset`. Task: Run a caller-declared, versioned journal-entry testing ruleset over a caller-declared JE extract and flags each entry that trips one or more rules: weekend/holiday postings, round-number entries, suspense/manual-account postings, post-close entries, and unusual user/account pairings.
Call it with arguments: {"policy_parameters":{"ruleset_version":"2026.1","extract_population_hash":"sha256:abc123","active_rules":["weekend_holiday","round_number","suspense_manual","post_close","unusual_user_account"],"rule_params":{"weekend_days":[0,6],"holiday_dates":["2026-01-01"],"round_number_increment":1000,"suspense_accounts":["9999-SUSPENSE"],"post_close_date":"2026-01-31","authorized_user_account_pairs":[{"user_id":"u1","account_id":"1000-CASH"},{"user_id":"u2","account_id":"2000-AP"}]},"entries":[{"entry_id":"JE-1","posting_date":"2026-01-10","amount":5000,"account_id":"1000-CASH","user_id":"u1","description":"round posting","is_manual":false},{"entry_id":"JE-2","posting_date":"2026-01-11","amount":1234.56,"account_id":"9999-SUSPENSE","user_id":"u2","description":"suspense clearing","is_manual":false},{"entry_id":"JE-3","posting_date":"2026-02-03","amount":750,"account_id":"3000-EXP","user_id":"u1","description":"post close adj","is_manual":false},{"entry_id":"JE-4","posting_date":"2026-01-12","amount":420,"account_id":"4000-REV","user_id":"u3","description":"unusual pairing","is_manual":false},{"entry_id":"JE-5","posting_date":"2026-01-13","amount":310,"account_id":"1000-CASH","user_id":"u1","description":"clean entry","is_manual":false}]}}
Verify before trusting: call `verify_execution_hash` on mcp.ainumbers.co (https://mcp.ainumbers.co/mcp) with the parameter `claimed_hash` set to the returned `execution_hash`, passing the full artifact the run returned (the object containing `policy_parameters` + `output_payload` + `execution_hash`; equivalently `policy_parameters` + `output_payload` with `claimed_hash`), not the bare hash string.
Return the ledger link https://ledger.ainumbers.co/ so a human can re-verify without contacting us.
PII rule: All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data — use synthetic or anonymised inputs only.
Over MCP, the run happens on the AINumbers worker. No AINumbers server stores your inputs.
Open the tool with the sample prefilled: https://ainumbers.co/chaingraph/art-462-je-ruleset-screen.html#p=v1.H4sIAAAAAAAA_wHKBDX7eyJydWxlc2V0X3ZlcnNpb24iOiIyMDI2LjEiLCJleHRyYWN0X3BvcHVsYXRpb25faGFzaCI6InNoYTI1NjphYmMxMjMiLCJhY3RpdmVfcnVsZXMiOlsid2Vla2VuZF9ob2xpZGF5Iiwicm91bmRfbnVtYmVyIiwic3VzcGVuc2VfbWFudWFsIiwicG9zdF9jbG9zZSIsInVudXN1YWxfdXNlcl9hY2NvdW50Il0sInJ1bGVfcGFyYW1zIjp7IndlZWtlbmRfZGF5cyI6WzAsNl0sImhvbGlkYXlfZGF0ZXMiOlsiMjAyNi0wMS0wMSJdLCJyb3VuZF9udW1iZXJfaW5jcmVtZW50IjoxMDAwLCJzdXNwZW5zZV9hY2NvdW50cyI6WyI5OTk5LVNVU1BFTlNFIl0sInBvc3RfY2xvc2VfZGF0ZSI6IjIwMjYtMDEtMzEiLCJhdXRob3JpemVkX3VzZXJfYWNjb3VudF9wYWlycyI6W3sidXNlcl9pZCI6InUxIiwiYWNjb3VudF9pZCI6IjEwMDAtQ0FTSCJ9LHsidXNlcl9pZCI6InUyIiwiYWNjb3VudF9pZCI6IjIwMDAtQVAifV19LCJlbnRyaWVzIjpbeyJlbnRyeV9pZCI6IkpFLTEiLCJwb3N0aW5nX2RhdGUiOiIyMDI2LTAxLTEwIiwiYW1vdW50Ijo1MDAwLCJhY2NvdW50X2lkIjoiMTAwMC1DQVNIIiwidXNlcl9pZCI6InUxIiwiZGVzY3JpcHRpb24iOiJyb3VuZCBwb3N0aW5nIiwiaXNfbWFudWFsIjpmYWxzZX0seyJlbnRyeV9pZCI6IkpFLTIiLCJwb3N0aW5nX2RhdGUiOiIyMDI2LTAxLTExIiwiYW1vdW50IjoxMjM0LjU2LCJhY2NvdW50X2lkIjoiOTk5OS1TVVNQRU5TRSIsInVzZXJfaWQiOiJ1MiIsImRlc2NyaXB0aW9uIjoic3VzcGVuc2UgY2xlYXJpbmciLCJpc19tYW51YWwiOmZhbHNlfSx7ImVudHJ5X2lkIjoiSkUtMyIsInBvc3RpbmdfZGF0ZSI6IjIwMjYtMDItMDMiLCJhbW91bnQiOjc1MCwiYWNjb3VudF9pZCI6IjMwMDAtRVhQIiwidXNlcl9pZCI6InUxIiwiZGVzY3JpcHRpb24iOiJwb3N0IGNsb3NlIGFkaiIsImlzX21hbnVhbCI6ZmFsc2V9LHsiZW50cnlfaWQiOiJKRS00IiwicG9zdGluZ19kYXRlIjoiMjAyNi0wMS0xMiIsImFtb3VudCI6NDIwLCJhY2NvdW50X2lkIjoiNDAwMC1SRVYiLCJ1c2VyX2lkIjoidTMiLCJkZXNjcmlwdGlvbiI6InVudXN1YWwgcGFpcmluZyIsImlzX21hbnVhbCI6ZmFsc2V9LHsiZW50cnlfaWQiOiJKRS01IiwicG9zdGluZ19kYXRlIjoiMjAyNi0wMS0xMyIsImFtb3VudCI6MzEwLCJhY2NvdW50X2lkIjoiMTAwMC1DQVNIIiwidXNlcl9pZCI6InUxIiwiZGVzY3JpcHRpb24iOiJjbGVhbiBlbnRyeSIsImlzX21hbnVhbCI6ZmFsc2V9XX2Pcr5IygQAAA