Skip to content

Commit f4a6590

Browse files
nficanoclaude
andcommitted
phase 0: investigation and skeleton
- Read RFC-0001-v2.md end-to-end (canonical copy at java-sdk/RFC-0001-v2.md). - PLAN.md: 4500-word engineering plan covering RFC walkthrough, message-type to record map, five state-machine diagrams (session, job, stream, subscription, lease), 16 documented open-question interpretations, integration test plan, and Java-specific design choices (sealed-interface envelope dispatch, virtual threads, structured concurrency, ScopedValue trace context, JSpecify + NullAway, JPMS). - Multi-project Gradle skeleton (:lib, :cli, :examples) on Gradle 9.0.0 wrapper with JDK 25 toolchain. Version catalog at gradle/libs.versions.toml. - Spotless 7.0.4 with eclipse-jdt formatter (Palantir Java Format 2.68.0 is currently incompatible with JDK 25 javac internals; documented in PLAN.md §A4 and the build files). - Error Prone + NullAway wired up; gates green. - Placeholder Version, ArcpCli, Example01MinimalSession source files so the three subprojects compile and the gate command set passes. - README.md and CONFORMANCE.md (per-RFC-section status, all rows ⏳ pending). Gate 0 verified: ./gradlew spotlessCheck check javadoc jacocoTestReport all exit 0 with no compiler warnings on JDK 25. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 parents  commit f4a6590

20 files changed

Lines changed: 3082 additions & 0 deletions

File tree

.gitignore

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Gradle
2+
.gradle/
3+
build/
4+
**/build/
5+
!gradle/wrapper/gradle-wrapper.jar
6+
7+
# IDE
8+
.idea/
9+
*.iml
10+
.vscode/
11+
*.iws
12+
*.ipr
13+
.classpath
14+
.project
15+
.settings/
16+
17+
# OS
18+
.DS_Store
19+
20+
# JVM
21+
hs_err_pid*.log
22+
replay_pid*.log

CONFORMANCE.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# ARCP v1.0 Conformance Matrix — `arcp` (Java)
2+
3+
This document tracks the implemented vs. deferred status of every section of
4+
[RFC-0001-v2.md](./RFC-0001-v2.md). It is updated at every phase gate.
5+
6+
Legend: ✅ implemented · 🟡 partial · ⏳ deferred to v0.2 · ➖ not applicable
7+
8+
| § | Section | Status |
9+
| ---- | ------------------------------------------ | ------ |
10+
| 1 | Goals ||
11+
| 2 | Non-Goals ||
12+
| 3 | Terminology ||
13+
| 4 | Design Principles ||
14+
| 5 | Architecture ||
15+
| 6.1 | Envelope ||
16+
| 6.2 | Message Types ||
17+
| 6.3 | Command/Result/Event Flow ||
18+
| 6.4 | Delivery Semantics ||
19+
| 6.5 | Priority & QoS ||
20+
| 7 | Capability Negotiation ||
21+
| 8.1 | Session Establishment ||
22+
| 8.2 | Credentials (`bearer`,`signed_jwt`,`none`) ||
23+
| 8.2 | Credentials (`mtls`,`oauth2`) | ⏳ v0.2 |
24+
| 8.3 | Runtime Identity ||
25+
| 8.4 | Re-authentication ||
26+
| 8.5 | Eviction ||
27+
| 9 | Sessions (stateless, stateful) ||
28+
| 9 | Sessions (durable across reconnect) | ⏳ v0.2 |
29+
| 10.1 | Durable Jobs ||
30+
| 10.2 | Job States ||
31+
| 10.3 | Heartbeats ||
32+
| 10.4 | Cancellation ||
33+
| 10.5 | Interrupts ||
34+
| 10.6 | Scheduled Jobs | ⏳ v0.2 |
35+
| 11.1 | Stream Kinds ||
36+
| 11.2 | Backpressure ||
37+
| 11.3 | Binary Encoding (base64 in-envelope) ||
38+
| 11.3 | Binary Encoding (sidecar frames) | ⏳ v0.2 |
39+
| 11.4 | Reasoning Streams ||
40+
| 12.1 | Human Input Requests ||
41+
| 12.2 | Choice Requests ||
42+
| 12.3 | Provenance / multi-channel (first-wins) ||
43+
| 12.3 | Provenance / multi-channel (quorum) | ⏳ v0.2 |
44+
| 12.4 | Expiration with default fallback ||
45+
| 13.1 | Subscribe ||
46+
| 13.2 | Filtering ||
47+
| 13.3 | Backfill ||
48+
| 13.4 | Termination ||
49+
| 14 | Multi-Agent Coordination | ⏳ v0.2 |
50+
| 15.1 | Permission Model ||
51+
| 15.2 | Sandboxing | ➖ (runtime concern) |
52+
| 15.3 | Trust Levels ||
53+
| 15.4 | Permission Challenge Flow ||
54+
| 15.5 | Lease Lifecycle ||
55+
| 15.6 | Trust Elevation | ⏳ v0.2 |
56+
| 16.1 | Artifact References ||
57+
| 16.2 | Storage & Retrieval (inline base64) ||
58+
| 16.3 | Lifecycle / retention sweep ||
59+
| 17.1 | Tracing (SLF4J + ScopedValue) ||
60+
| 17.2 | Structured Logs ||
61+
| 17.3 | Metrics + standard names ||
62+
| 18.1 | Error Envelope ||
63+
| 18.2 | Canonical Codes ||
64+
| 18.3 | Retryability & Backoff ||
65+
| 19 | Resumability (after_message_id) ||
66+
| 19 | Resumability (checkpoint) | ⏳ v0.2 |
67+
| 20 | MCP Compatibility | ➖ (advisory) |
68+
| 21 | Extensions ||
69+
| 22 | Reference Transports (WebSocket, stdio) ||
70+
| 22 | Reference Transports (HTTP/2, QUIC) | ⏳ v0.2 |

0 commit comments

Comments
 (0)