audit fixes, repo restructure, and documentation

Soundness and performance audit (17 fixes):
- See AUDIT.md for full details and @claude comments in code

Repo restructure:
- Inline json-ptr and json-patch submodules as regular directories
- Remove cbor submodule, replace serde_cbor with ciborium
- Rename patch-db/ -> core/, patch-db-macro/ -> macro/,
  patch-db-macro-internals/ -> macro-internals/, patch-db-util/ -> util/
- Purge upstream CI/CD, bench, and release cruft from json-patch
- Remove .gitmodules

Test fixes:
- Fix proptest doesnt_crash (unique file paths, proper close/cleanup)
- Add PatchDb::close() for clean teardown

Documentation:
- Add README.md, ARCHITECTURE.md, CONTRIBUTING.md, CLAUDE.md, AUDIT.md
- Add TSDocs to TypeScript client exports

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Matt Hill
2026-02-23 19:06:42 -07:00
parent 05c93290c7
commit 86b0768bbb
46 changed files with 5744 additions and 95 deletions

27
json-patch/Cargo.toml Normal file
View File

@@ -0,0 +1,27 @@
[package]
name = "json-patch"
version = "0.2.7-alpha.0"
authors = ["Ivan Dubrov <dubrov.ivan@gmail.com>"]
categories = []
keywords = ["json", "json-patch"]
description = "RFC 6902, JavaScript Object Notation (JSON) Patch"
repository = "https://github.com/idubrov/json-patch"
license = "MIT/Apache-2.0"
readme = "README.md"
edition = "2018"
[features]
default = ["diff"]
nightly = []
diff = []
[dependencies]
imbl-value = "0.4.1"
json-ptr = { path = "../json-ptr" }
serde = { version = "1", features = ["derive"] }
[dev-dependencies]
rand = "0.9.1"
serde_json = { version = "1.0.60", features = ["preserve_order"] }
proptest = "1"
imbl-value = { version = "0.4.1", features = ["arbitrary"] }