Skip to content

BB surface inventory

This report is generated from Babashka 1.12.218 at 0fb349c414e717800be775ba9cb77c95a9eb700d. The complete machine-readable ledger contains 1022 uniquely identified compatibility items.

Discovery does not imply support. Gobb marks an item supported or partial only when the ledger names concrete test or implementation evidence.

Inventory summary

Surface Items Supported Partial Planned Other
built-in-library 38 0 11 27 0
built-in-namespace 104 6 19 79 0
capability 41 12 20 0 9
cli 36 8 1 24 3
compatible-library 98 0 1 97 0
java-class 583 35 1 524 23
project-config 13 10 3 0 0
representative-program 37 0 4 33 0
task-config 9 9 0 0 0
upstream-test 63 0 4 59 0

Evidence-backed current surface

Item Surface State Evidence
built-in-library/babashka/babashka.curl built-in-library partial src/gobb/curl.clj
test/curl
built-in-library/babashka/fs built-in-library partial src/gobb/fs.clj
test/fs
built-in-library/cheshire/cheshire built-in-library partial src/cheshire/core.clj
https://github.com/dakrone/cheshire
test/cheshire
built-in-library/clj-commons/clj-yaml built-in-library partial src/clj_yaml/core.clj
https://github.com/clj-commons/clj-yaml
test/clj-yaml
built-in-library/com.cognitect/transit-clj built-in-library partial src/cognitect/transit.clj
https://github.com/cognitect/transit-clj
test/transit
built-in-library/com.taoensso/timbre built-in-library partial src/taoensso/timbre.clj
src/taoensso/timbre/appenders/core.clj
https://github.com/taoensso/timbre
test/logging
built-in-library/hiccup/hiccup built-in-library partial src/hiccup/render.clj
src/hiccup/core.clj
src/hiccup2/core.clj
https://github.com/weavejester/hiccup
test/hiccup
built-in-library/org.babashka/cli built-in-library partial https://github.com/babashka/cli
util/stage-sources
test/babashka-cli
built-in-library/org.babashka/http-client built-in-library partial src/gobb/http_client.clj
test/http-client
built-in-library/org.clojure/data.csv built-in-library partial src/clojure/data/csv.clj
https://github.com/clojure/data.csv
test/data-csv
built-in-library/org.clojure/tools.logging built-in-library partial src/clojure/tools/logging.clj
src/clojure/tools/logging/impl.clj
https://github.com/clojure/tools.logging
test/logging
capability/browser-filesystem capability platform-limited www/docs/implementation.md
capability/browser-network capability platform-limited test/capabilities
capability/browser-repl capability partial test/gobb
www/docs/javascripts/repl.js
capability/browser-subprocess capability platform-limited www/docs/implementation.md
capability/browser-wasm capability partial Makefile
capability/clock capability supported test/capabilities
capability/compiled-program capability supported :compiled/main
test/projects
capability/environment capability supported test/capabilities
capability/filesystem capability partial test/fs
test/capabilities
capability/gobb-reader-feature capability intentional-difference :reader/gobb-feature
capability/http-server capability partial test/interactive-services
capability/jvm-bytecode capability not-applicable www/docs/implementation.md
capability/native-freebsd-amd64 capability partial util/release-dist
capability/native-freebsd-arm64 capability partial util/release-dist
capability/native-linux-amd64 capability supported test/gobb
util/release-dist
capability/native-linux-arm64 capability partial util/release-dist
capability/native-macos-amd64 capability partial util/release-dist
capability/native-macos-arm64 capability partial util/release-dist
capability/native-netbsd-amd64 capability partial util/release-dist
capability/native-netbsd-arm64 capability partial util/release-dist
capability/native-openbsd-amd64 capability partial util/release-dist
capability/native-openbsd-arm64 capability partial util/release-dist
capability/native-repl capability supported test/gobb
src/gobb/cli.clj
capability/native-windows-amd64 capability partial util/release-dist
capability/network-client capability partial test/curl
test/http-client
test/capabilities
capability/nrepl-server capability supported test/interactive-services
capability/platform-contract capability supported test/capabilities
capability/pods capability partial test/interactive-services
capability/process capability supported test/tasks
src/gobb/tasks.clj
capability/process-pipeline capability supported test/tasks
capability/random capability supported test/capabilities
capability/runtime-require capability supported :loading/require
capability/sci-runtime capability not-applicable test/gobb
capability/signals capability partial test/gobb
capability/socket-repl capability supported test/interactive-services
capability/standard-streams capability partial test/capabilities
capability/wasi-filesystem capability platform-limited test/capabilities
capability/wasi-network capability platform-limited test/capabilities
capability/wasi-process capability platform-limited test/capabilities
capability/wasi-wasm capability partial Makefile
capability/working-directory capability partial test/capabilities
class/[B java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/[I java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/[Ljava.lang.Double; java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/[Ljava.lang.Object; java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/[Ljava.time.temporal.TemporalField; java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/[Ljava.time.temporal.TemporalQuery; java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/babashka.impl.proxy.proxy$clojure.lang.APersistentMap$IMeta$IObj$ICustomType$2e362593 java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/babashka.impl.proxy.proxy$java.lang.Object$HostnameVerifier$6fa58e1c java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/babashka.impl.proxy.proxy$java.lang.Object$ff19274a java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/babashka.impl.proxy.proxy$java.lang.ThreadLocal$ff19274a java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/babashka.impl.proxy.proxy$java.net.Authenticator$ff19274a java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/babashka.impl.proxy.proxy$java.net.ProxySelector$ff19274a java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/borkdude.graal.LockFix java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/java.io.BufferedInputStream java-class supported test/java-lang
class/java.io.BufferedOutputStream java-class supported test/java-lang
class/java.io.ByteArrayInputStream java-class supported test/java-lang
class/java.io.ByteArrayOutputStream java-class supported test/java-lang
class/java.io.File java-class supported test/java-lang
class/java.io.FileInputStream java-class supported test/java-lang
class/java.io.FileOutputStream java-class supported test/java-lang
class/java.io.InputStream java-class supported test/java-lang
class/java.io.OutputStream java-class supported test/java-lang
class/java.io.Reader java-class supported test/java-lang
class/java.io.StringReader java-class supported test/java-lang
class/java.io.StringWriter java-class supported test/java-lang
class/java.io.Writer java-class supported test/java-lang
class/java.lang.Boolean java-class supported test/java-lang
class/java.lang.Character java-class supported test/java-lang
class/java.lang.Double java-class supported test/java-lang
class/java.lang.Exception java-class supported test/java-lang
class/java.lang.IllegalArgumentException java-class supported test/java-lang
class/java.lang.IllegalStateException java-class supported test/java-lang
class/java.lang.Integer java-class supported test/java-lang
class/java.lang.Long java-class supported test/java-lang
class/java.lang.Math java-class supported test/java-lang
class/java.lang.RuntimeException java-class supported test/java-lang
class/java.lang.String java-class supported test/java-lang
class/java.lang.StringBuilder java-class supported test/java-lang
class/java.lang.System java-class supported test/java-lang
class/java.lang.Thread java-class partial test/java-compat
class/java.lang.Throwable java-class supported test/java-lang
class/java.lang.UnsupportedOperationException java-class supported test/java-lang
class/java.nio.file.Files java-class supported test/java-lang
class/java.nio.file.Path java-class supported test/java-lang
class/java.nio.file.Paths java-class supported test/java-lang
class/java.time.Instant java-class supported test/java-lang
class/java.util.UUID java-class supported test/java-lang
class/java.util.regex.Matcher java-class supported test/java-lang
class/java.util.regex.Pattern java-class supported test/java-lang
class/jdk.internal.net.http.HttpClientBuilderImpl java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/jdk.internal.net.http.HttpClientFacade java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/jdk.internal.net.http.HttpRequestBuilderImpl java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/jdk.internal.net.http.HttpResponseImpl java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/jdk.internal.net.http.common.MinimalFuture java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/jdk.internal.net.http.websocket.BuilderImpl java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/jdk.internal.net.http.websocket.WebSocketImpl java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/org.graalvm.nativeimage.ProcessProperties java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/sun.misc.Signal java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
class/sun.misc.SignalHandler java-class intentional-difference Class depends on JVM internals, generated bytecode, or GraalVM
cli/--init cli supported :loading/init
cli/-D<property>=<value> cli not-applicable www/docs/implementation.md
cli/-XX:PrintFlags= cli not-applicable www/docs/implementation.md
cli/-Xmx<size>[g|G|m|M|k|K] cli not-applicable www/docs/implementation.md
cli/-cp cli supported test/gobb
cli/-e cli supported :cli/expression
cli/-f cli supported test/gobb
cli/-m cli supported :invocation/main
cli/-x cli supported :invocation/exec
cli/nrepl-server cli supported test/interactive-services
cli/repl cli partial test/gobb
cli/socket-repl cli supported test/interactive-services
compatible-library/babashka/babashka.curl compatible-library partial src/gobb/curl.clj
test/curl
namespace/babashka.classpath built-in-namespace supported src/babashka/classpath.clj
test/gobb
namespace/babashka.cli built-in-namespace partial util/stage-sources
test/babashka-cli
namespace/babashka.core built-in-namespace supported src/babashka/core.clj
test/gobb
namespace/babashka.curl built-in-namespace partial src/gobb/curl.clj
test/curl
namespace/babashka.fs built-in-namespace partial src/gobb/fs.clj
test/fs
namespace/babashka.http-client built-in-namespace partial src/gobb/http_client.clj
test/http-client
namespace/babashka.nrepl.server built-in-namespace supported src/babashka/nrepl/server.clj
test/interactive-services
namespace/babashka.pods built-in-namespace partial src/babashka/pods.clj
test/interactive-services
namespace/babashka.process built-in-namespace partial src/gobb/process.clj
test/process
namespace/cheshire.core built-in-namespace partial src/cheshire/core.clj
test/cheshire
namespace/clj-yaml.core built-in-namespace partial src/clj_yaml/core.clj
test/clj-yaml
namespace/clojure.core.server built-in-namespace partial src/clojure/core/server.clj
test/interactive-services
namespace/clojure.data.csv built-in-namespace partial src/clojure/data/csv.clj
test/data-csv
namespace/clojure.java.io built-in-namespace partial src/clojure/java/io.clj
test/java-io
:loading/resource
namespace/clojure.test built-in-namespace supported src/gobb/host.clj
test/gobb
namespace/clojure.tools.logging built-in-namespace partial src/clojure/tools/logging.clj
test/logging
namespace/clojure.tools.logging.impl built-in-namespace partial src/clojure/tools/logging/impl.clj
test/logging
namespace/clojure.tools.logging.readable built-in-namespace supported src/clojure/tools/logging/readable.clj
test/logging
namespace/clojure.zip built-in-namespace supported https://github.com/clojure/clojure
util/stage-sources
test/clojure-zip
namespace/cognitect.transit built-in-namespace partial src/cognitect/transit.clj
test/transit
namespace/hiccup.core built-in-namespace partial src/hiccup/core.clj
test/hiccup
namespace/hiccup2.core built-in-namespace partial src/hiccup2/core.clj
test/hiccup
namespace/org.httpkit.server built-in-namespace partial src/org/httpkit/server.clj
test/interactive-services
namespace/taoensso.timbre built-in-namespace partial src/taoensso/timbre.clj
test/logging
namespace/taoensso.timbre.appenders.core built-in-namespace partial src/taoensso/timbre/appenders/core.clj
test/logging
project/aliases project-config supported test/projects
project/bb-edn-discovery project-config supported test/projects
project/classpath-cache project-config supported test/projects
project/deps project-config supported test/projects
project/deps-root project-config supported test/projects
project/git-coordinates project-config supported test/projects
project/local-coordinates project-config supported test/projects
project/min-bb-version project-config supported test/projects
project/mvn-coordinates project-config partial test/projects
src/gobb/project.clj
project/paths project-config supported test/projects
project/pods project-config partial test/interactive-services
project/preloads project-config supported :loading/preloads
project/print-deps project-config partial test/projects
representative-program/examples/fzf.clj representative-program partial test/tasks
representative-program/examples/process_builder.clj representative-program partial test/tasks
representative-program/examples/pst.clj representative-program partial test/tasks
representative-program/examples/which.clj representative-program partial test/tasks
tasks/depends task-config supported test/tasks
tasks/doc task-config supported test/tasks
tasks/enter-leave task-config supported test/tasks
tasks/init task-config supported test/tasks
tasks/parallel task-config supported test/tasks
tasks/private task-config supported test/tasks
tasks/requires task-config supported test/tasks
tasks/run task-config supported test/tasks
tasks/task-map task-config supported test/tasks
upstream-test/test/babashka/bb_edn_test.clj upstream-test partial test/projects
upstream-test/test/babashka/deps_test.clj upstream-test partial test/projects
upstream-test/test/babashka/impl/tasks_test.clj upstream-test partial test/tasks
upstream-test/test/babashka/print_deps_test.clj upstream-test partial test/projects

Planned queue

Milestone Planned items
11 6
12 2
14 98
15 32
16 705

Authoritative inputs

  • bb --help for commands and options
  • src/babashka/main.clj for built-in namespaces
  • deps.edn for bundled dependencies
  • doc/libraries.csv for BB-compatible libraries
  • babashka.classes/all-classes for the exposed Java class surface
  • test/ and examples/ for upstream tests and representative programs
  • compat/capabilities.edn for native, WASI, and browser dispositions
  • compat/inventory.edn for Gobb states, milestones, rationales, and evidence

The full ledger is tracked as compat/ledger.edn.

Regenerate and validate both files with:

make inventory