Skip to content

Commit dbcb26c

Browse files
committed
wip
1 parent 2422b1d commit dbcb26c

11 files changed

Lines changed: 2956 additions & 2631 deletions

File tree

AGENTS.md

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,6 @@ This file provides guidance to agents (human or AI) when working with code in th
1515

1616
## Quick Start Commands
1717

18-
### Building the Project
19-
```bash
20-
# Full build
21-
mvn clean compile
22-
mvn package
23-
24-
# Build specific module
25-
mvn clean compile -pl json-java21
26-
mvn package -pl json-java21
27-
28-
# Build with test skipping
29-
mvn clean compile -DskipTests
30-
```
31-
3218
### Running Tests
3319

3420
You MUST NOT ever filter test output as you are looking for something you do not know what it is that is the nature of debugging.
@@ -260,7 +246,7 @@ PY
260246
### Debugging Parser Issues
261247
1. Enable `FINER` logging: `-Djava.util.logging.ConsoleHandler.level=FINER`
262248
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
264250
4. Check JSON Test Suite compatibility with compatibility suite
265251

266252
### API Compatibility Testing
@@ -292,11 +278,6 @@ PY
292278
- **Why:** Early detection of upstream API changes to keep the backport aligned.
293279
- **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.
294280

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-
300281
## Security Notes
301282
- **Stack exhaustion attacks**: Deep nesting can cause StackOverflowError
302283
- **API contract violations**: Malicious inputs may trigger undeclared exceptions

json-java21-schema/AGENTS.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -267,16 +267,16 @@ flowchart LR
267267
- Dedup ensures each remote is compiled at most once.
268268

269269
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
272272
- This preserves byte-for-byte API behavior and test outcomes.
273273

274274
275275

276276
5) Your words (short summary, in your own terms)
277277
- "Don't add a new phase; make compile naturally handle multiple sources using a stack that starts with the initial schema."
278278
- "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."
280280
- "Use sealed interfaces / data-oriented tags so future remote traversal becomes a simple exhaustive match without touching today's behavior."
281281
- "Cycle at compile-time should throw a named JDK exception (no new type)."
282282
- "No legacy; no recursion; single path; stack-based eval and compile."

0 commit comments

Comments
 (0)