{
  "specVersion": "0.2.0",
  "status": "Public package map for coding agents. Re-check the registry before installing; registry pages are release snapshots and may lag source documentation.",
  "languages": [
    {
      "language": "Go",
      "package": "github.com/axisvela/praxo-core/v2",
      "registry": "Go module proxy / pkg.go.dev",
      "registryPage": "https://pkg.go.dev/github.com/axisvela/praxo-core/v2",
      "version": "2.8.0",
      "requirements": "Go 1.26.11 tested; the module declares 1.25.0",
      "install": "go get github.com/axisvela/praxo-core/v2@v2.8.0",
      "starter": "language/go/examples/consumer-go",
      "guide": "docs/getting-started/consumer-go.md",
      "verify": "GOWORK=off go test -mod=readonly ./...",
      "governed": "GOWORK=off go test -mod=readonly -run Governed -v ./..."
    },
    {
      "language": "Python",
      "package": "praxo-core",
      "registry": "PyPI",
      "registryPage": "https://pypi.org/project/praxo-core/0.8.1/",
      "version": "0.8.1",
      "requirements": "Python 3.11 or newer",
      "install": "pip install praxo-core==0.8.1",
      "starter": "language/python/examples/consumer",
      "guide": "docs/getting-started/consumer-python.md",
      "verify": "python -I -m unittest discover -s . -v",
      "governed": "python -I -m unittest discover -s . -p \"test_governed.py\" -v"
    },
    {
      "language": "TypeScript",
      "package": "@axisvela/praxo-core",
      "registry": "npm",
      "registryPage": "https://www.npmjs.com/package/@axisvela/praxo-core/v/0.7.1",
      "version": "0.7.1",
      "requirements": "Node.js 20 or newer",
      "install": "npm install --save-exact @axisvela/praxo-core@0.7.1",
      "starter": "language/typescript/examples/consumer",
      "guide": "docs/getting-started/consumer-typescript.md",
      "verify": "npm test",
      "governed": "node --test governed.test.js"
    },
    {
      "language": "Java",
      "package": "com.axisvela:praxo-core",
      "registry": "Maven Central",
      "registryPage": "https://repo1.maven.org/maven2/com/axisvela/praxo-core/0.9.0/",
      "version": "0.9.0",
      "requirements": "Java 21 or newer; Maven 3.9 or newer",
      "install": "Maven dependency com.axisvela:praxo-core:0.9.0",
      "starter": "language/java/examples/consumer",
      "guide": "docs/getting-started/consumer-java.md",
      "verify": "mvn -B test",
      "governed": "mvn -B -Dtest=GovernedAcceptanceTest test"
    },
    {
      "language": "Ruby",
      "package": "praxo-core",
      "registry": "RubyGems",
      "registryPage": "https://rubygems.org/gems/praxo-core/versions/0.8.1",
      "version": "0.8.1",
      "requirements": "Ruby 3.1 or newer",
      "install": "gem install praxo-core -v 0.8.1",
      "starter": "language/ruby/examples/consumer",
      "guide": "docs/getting-started/consumer-ruby.md",
      "verify": "bundle exec ruby test_starter.rb",
      "governed": null,
      "scope": "Extended-language allow/deny starter; governed negative matrix is not included."
    },
    {
      "language": "PHP",
      "package": "axisvela/praxo-core",
      "registry": "Packagist",
      "registryPage": "https://packagist.org/packages/axisvela/praxo-core",
      "version": "0.8.0",
      "requirements": "PHP 8.2.35+, 8.3.36+, 8.4.27+, or 8.5.12+ on Windows (patched Brotli); Composer 2",
      "install": "composer require axisvela/praxo-core:0.8.0",
      "starter": "language/php/examples/consumer",
      "guide": "docs/getting-started/consumer-php.md",
      "verify": "composer test",
      "governed": null,
      "scope": "Extended-language allow/deny starter; governed negative matrix is not included."
    },
    {
      "language": "Elixir",
      "package": "praxo_core",
      "registry": "Hex",
      "registryPage": "https://hex.pm/packages/praxo_core/0.9.1",
      "version": "0.9.1",
      "requirements": "Elixir 1.14 or newer",
      "install": "mix deps.get with {:praxo_core, \"~> 0.9.1\"}",
      "starter": "language/elixir/examples/consumer",
      "guide": "docs/getting-started/consumer-elixir.md",
      "verify": "mix run test_starter.exs",
      "governed": null,
      "scope": "Extended-language allow/deny starter; governed negative matrix is not included."
    },
    {
      "language": "Lua",
      "package": "praxo-core",
      "registry": "LuaRocks",
      "registryPage": "https://luarocks.org/modules/hanhhuiwen/praxo-core",
      "version": "0.7.1-1",
      "requirements": "Lua 5.4; LuaRocks 3",
      "install": "luarocks install praxo-core 0.7.1-1",
      "starter": "language/lua/examples/consumer",
      "guide": "docs/getting-started/consumer-lua.md",
      "verify": "lua test_starter.lua",
      "governed": null,
      "scope": "Extended-language allow/deny starter; governed negative matrix is not included."
    },
    {
      "language": "C#",
      "package": "Praxo.Core",
      "registry": "NuGet",
      "registryPage": "https://www.nuget.org/packages/Praxo.Core/0.9.1",
      "version": "0.9.1",
      "requirements": ".NET 8 or newer",
      "install": "dotnet add package Praxo.Core --version 0.9.1",
      "starter": "language/csharp/examples/consumer",
      "guide": "language/csharp/examples/consumer/README.md",
      "verify": "dotnet run --project language/csharp/examples/consumer",
      "governed": null,
      "scope": "Deterministic allow/deny starter; governed negative matrix is not included."
    },
    {
      "language": "Rust",
      "package": "praxo-core",
      "registry": "crates.io",
      "registryPage": "https://crates.io/crates/praxo-core/0.9.1",
      "version": "0.9.1",
      "requirements": "Rust 1.80 or newer",
      "install": "cargo add praxo-core@0.9.1",
      "starter": "language/rust/examples/consumer",
      "guide": "language/rust/examples/consumer/README.md",
      "verify": "cargo run --manifest-path language/rust/examples/consumer/Cargo.toml",
      "governed": null,
      "scope": "Deterministic allow/deny starter; governed negative matrix is not included."
    },
    {
      "language": "R",
      "package": "praxocore",
      "registry": "r-universe",
      "registryPage": "https://axisvela.r-universe.dev/praxocore",
      "version": "0.10.1",
      "requirements": "R with the praxocore package",
      "install": "install.packages(\"praxocore\", repos = \"https://axisvela.r-universe.dev\")",
      "starter": "language/r/examples/consumer",
      "guide": "language/r/examples/consumer/README.md",
      "verify": "Rscript language/r/examples/consumer/test_starter.R",
      "governed": null,
      "scope": "Deterministic allow/deny starter; governed negative matrix is not included."
    }
  ],
  "integrationContract": [
    "Install a published package from the registry. Do not use a source checkout, local replacement, system scope, or file/link dependency for acceptance.",
    "Start with a deterministic model and an in-memory tool so installation and authorization can be verified without credentials or a model service.",
    "Configure explicit tool scope and policy. In the current Core API an empty tool scope is unrestricted, not deny-all.",
    "Authorize the final tool name and arguments. Middleware or approval edits that change them must be reauthorized.",
    "A failure of a required policy or identity service must fail closed, not permit execution.",
    "Keep allow and deny tests. A denied call must produce no tool effect.",
    "Do not claim identity authenticity, durable approvals, effect commit, exactly-once, sandbox isolation, or physical safety from Core fixtures.",
    "A checkpoint is a recovery hint, not a transaction or proof that an external effect committed."
  ],
  "doesNotProve": [
    "Live model quality or provider behavior",
    "Authentic caller or agent identity",
    "Durable approval storage or revocation",
    "Cross-process effect reconciliation or exactly-once execution",
    "Process, network, or hardware isolation",
    "Robot mission safety or real-time control"
  ]
}
