You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2. Use `./mvn-test-no-boilerplate.sh` for clean output
263
-
3. Focus on specific test: `-Dtest=JsonParserTests#testMethod`
249
+
3. Focus on specific test: `-Dtest=JsonParserTests#testMethod` using `FINEST` logging
264
250
4. Check JSON Test Suite compatibility with compatibility suite
265
251
266
252
### API Compatibility Testing
@@ -292,11 +278,6 @@ PY
292
278
-**Why:** Early detection of upstream API changes to keep the backport aligned.
293
279
-**CI implication:** The daily workflow prints the report but does not currently fail or auto‑open issues on differences (only on errors). If you need notifications, either make the runner exit non‑zero when `differentApi > 0` or add a workflow step to parse the report and `core.setFailed()` when diffs are found.
294
280
295
-
### json-java21-schema
296
-
-**Validator** for JSON Schema 2020-12 features
297
-
-**Tests** include unit, integration, and annotation-based checks (see module guide)
298
-
-**OpenRPC IT**: See `json-java21-schema/src/test/java/io/github/simbo1905/json/schema/OpenRPCSchemaValidationIT.java` and resources under `json-java21-schema/src/test/resources/openrpc/` (thanks to OpenRPC meta-schema and examples, Apache-2.0).
299
-
300
281
## Security Notes
301
282
-**Stack exhaustion attacks**: Deep nesting can cause StackOverflowError
302
283
-**API contract violations**: Malicious inputs may trigger undeclared exceptions
Copy file name to clipboardExpand all lines: json-java21-schema/AGENTS.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -267,16 +267,16 @@ flowchart LR
267
267
- Dedup ensures each remote is compiled at most once.
268
268
269
269
4.2 Object/runtime (MVF)
270
-
- Exactly as today: Runtime follows only Local references inside the primary root.
271
-
- Remote roots are compiled and parked in the registry but not traversed (until future work/tests enable it).
270
+
- Exactly as today: Runtime follows Local references inside the current root which may be only one if no remote ref.
271
+
- Remote roots are compiled and parked in the registry but and traversed
272
272
- This preserves byte-for-byte API behavior and test outcomes.
273
273
274
274
⸻
275
275
276
276
5) Your words (short summary, in your own terms)
277
277
- "Don't add a new phase; make compile naturally handle multiple sources using a stack that starts with the initial schema."
278
278
- "Collect local vs remote $ref while compiling; rewrite/tag them; push unseen remotes; deduplicate; compile each into its own root; when the stack is empty, we have an immutable list of roots."
279
-
- "Runtime stays the same now (single root, local refs only), so all existing tests pass unmodified."
279
+
- "Runtime stays the same when no remote ref so only a (single root, when local refs only), so all existing tests pass unmodified."
280
280
- "Use sealed interfaces / data-oriented tags so future remote traversal becomes a simple exhaustive match without touching today's behavior."
281
281
- "Cycle at compile-time should throw a named JDK exception (no new type)."
282
282
- "No legacy; no recursion; single path; stack-based eval and compile."
0 commit comments