Skip to content

Commit 29db9c8

Browse files
committed
docs: refresh conformance and API docs
1 parent 4b4d6ea commit 29db9c8

4 files changed

Lines changed: 15 additions & 5 deletions

File tree

CONFORMANCE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ works" is decomposed into multiple binary rows.
1111
|---|---|---|
1212
| §4.1 WebSocket over `wss://` | Implemented | [arcp-runtime-jetty/src/main/java/dev/arcp/runtime/jetty/ArcpJettyServer.java:18](arcp-runtime-jetty/src/main/java/dev/arcp/runtime/jetty/ArcpJettyServer.java#L18) (server) + [arcp-client/src/main/java/dev/arcp/client/WebSocketTransport.java:29](arcp-client/src/main/java/dev/arcp/client/WebSocketTransport.java#L29) (client) |
1313
| §4.1 JSON text frames | Implemented | [arcp-runtime-jetty/src/main/java/dev/arcp/runtime/jetty/WebSocketJsonTransport.java](arcp-runtime-jetty/src/main/java/dev/arcp/runtime/jetty/WebSocketJsonTransport.java) |
14-
| §4.2 stdio newline-delimited JSON | Deferred | Not in 1.0.0; covered by `MemoryTransport` for in-process scenarios. |
14+
| §4.2 stdio newline-delimited JSON | Implemented | [arcp-core/src/main/java/dev/arcp/core/transport/StdioTransport.java](arcp-core/src/main/java/dev/arcp/core/transport/StdioTransport.java) |
1515
| §4.3 Alternate transports MAY exist | Implemented | [arcp-core/src/main/java/dev/arcp/core/transport/MemoryTransport.java](arcp-core/src/main/java/dev/arcp/core/transport/MemoryTransport.java) implements the `Transport` SPI |
1616

1717
## §5. Wire Format
@@ -20,7 +20,7 @@ works" is decomposed into multiple binary rows.
2020
|---|---|---|
2121
| §5.1 Envelope shape (`arcp`, `id`, `type`, `payload`, ...) | Implemented | [arcp-core/src/main/java/dev/arcp/core/wire/Envelope.java:22](arcp-core/src/main/java/dev/arcp/core/wire/Envelope.java#L22) |
2222
| §5.1 Unknown top-level fields ignored | Implemented | [arcp-core/src/main/java/dev/arcp/core/wire/ArcpMapper.java](arcp-core/src/main/java/dev/arcp/core/wire/ArcpMapper.java) sets `FAIL_ON_UNKNOWN_PROPERTIES=false` |
23-
| §5.1 `arcp` version string `"1"` | Implemented | [arcp-core/src/main/java/dev/arcp/core/wire/Envelope.java:31](arcp-core/src/main/java/dev/arcp/core/wire/Envelope.java#L31) |
23+
| §5.1 `arcp` version string `"1.1"` | Implemented | [arcp-core/src/main/java/dev/arcp/core/wire/Envelope.java:31](arcp-core/src/main/java/dev/arcp/core/wire/Envelope.java#L31) |
2424

2525
## §6. Sessions
2626

arcp-core/src/main/java/dev/arcp/core/capabilities/Capabilities.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
/**
1414
* Client/runtime capability advertisement carried on session.hello and session.welcome. Unknown
15-
* feature strings are preserved on the wire as ignored but round-trip-safe.
15+
* feature strings are ignored and dropped during decoding.
1616
*/
1717
public record Capabilities(
1818
List<String> encodings, Set<Feature> features, @Nullable List<AgentDescriptor> agents) {

arcp-core/src/main/java/dev/arcp/core/wire/ArcpMapper.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,13 @@ public static ObjectMapper create() {
3333

3434
private static final ObjectMapper SHARED = create();
3535

36-
/** Shared, immutable mapper for hot-path use. */
36+
/**
37+
* Shared mapper for hot-path use.
38+
*
39+
* Treat this instance as read-only. Reconfiguring the shared mapper can
40+
* affect unrelated callers because the same ObjectMapper is reused across
41+
* the SDK.
42+
*/
3743
public static ObjectMapper shared() {
3844
return SHARED;
3945
}

arcp-runtime/src/main/java/dev/arcp/runtime/lease/BudgetCounters.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,11 @@ public void decrement(String currency, BigDecimal amount) {
5353
ref.updateAndGet(b -> b.subtract(amount));
5454
}
5555

56-
/** Returns null if all budgets are positive; otherwise throws. */
56+
/**
57+
* Returns normally if all budgets remain positive.
58+
*
59+
* @throws BudgetExhaustedException if any counter reaches zero or below
60+
*/
5761
public void ensureAllPositive() throws BudgetExhaustedException {
5862
for (var e : counters.entrySet()) {
5963
if (e.getValue().get().signum() <= 0) {

0 commit comments

Comments
 (0)