Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
b2cf333
feat: add network MCP client with protocol tests
ryan-s-roberts Oct 17, 2026
280d801
docs: establish MCP-Universe catalogue integration ladder
ryan-s-roberts Oct 17, 2026
21430b4
fix: preserve numeric inference and actionable compute diagnostics
ryan-s-roberts Oct 18, 2026
bcfc482
perf: retain checked Python compute within execution
ryan-s-roberts Oct 18, 2026
c9d44ce
feat: checkpoint nominal entity output unions
ryan-s-roberts Oct 18, 2026
704076b
feat: preserve nominal union relations and migrate GitHub MCP
ryan-s-roberts Oct 18, 2026
ddb24ff
refactor: unify MCP transport and isolate catalog publication
ryan-s-roberts Oct 19, 2026
fbf3da9
fix: preserve child row materialization through composition
ryan-s-roberts Oct 19, 2026
eefce0f
feat: compose workflows and execute policy-clean reads inline
ryan-s-roberts Oct 19, 2026
53880b6
feat: add MCP-Universe calculator and finance catalogs
ryan-s-roberts Oct 19, 2026
488bf8a
fix: bound MCP errors and clear workspace quality gates
ryan-s-roberts Oct 19, 2026
8ae3bda
fix: render ambiguous union variants without debug formatting
ryan-s-roberts Oct 19, 2026
ec2f90f
docs: describe price history in observation terms
ryan-s-roberts Oct 19, 2026
7bbda5d
build: pin published reproducible Monty fork
ryan-s-roberts Oct 20, 2026
664c136
build: migrate standalone core to Bazel and nextest
ryan-s-roberts Oct 20, 2026
f18e97a
fix: allow clean Bazel checkouts without embedding cache
ryan-s-roberts Oct 20, 2026
b8d0ea7
fix: isolate Bazel from Cargo compiler wrappers
ryan-s-roberts Oct 20, 2026
b02d4b5
fix: select native compilers outside shell cache wrappers
ryan-s-roberts Oct 20, 2026
c98bcaa
fix: use SDK-aware macOS compiler drivers
ryan-s-roberts Oct 20, 2026
d334d26
test: drop retired Cargo worker command assertions
ryan-s-roberts Oct 20, 2026
3f2b5a0
docs: prepare v0.5.5 Bazel migration release notes
ryan-s-roberts Oct 20, 2026
287900f
build: provision pinned catalog inputs for clean release checkouts
ryan-s-roberts Oct 20, 2026
80f035b
ci: remove retired Cargo docs test invocation
ryan-s-roberts Oct 20, 2026
ddec3e4
docs: fix published language reference source links
ryan-s-roberts Oct 20, 2026
202e634
refactor: simplify bazel and runtime support paths
cursoragent Oct 20, 2026
4e524cb
fix: allow integration tests without support modules
cursoragent Oct 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .bazelignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
build/monty
2 changes: 2 additions & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
import %workspace%/build/bazel/common.bazelrc
try-import %workspace%/.bazelrc.local
1 change: 1 addition & 0 deletions .bazelversion
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
8.4.2
14 changes: 14 additions & 0 deletions .config/nextest.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[profile.default]
fail-fast = false
retries = 0

[profile.ci]
fail-fast = false
retries = 0
status-level = "fail"
final-status-level = "fail"

[profile.ci.junit]
path = "junit.xml"
store-success-output = false
store-failure-output = true
6 changes: 0 additions & 6 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,6 @@ jobs:
- name: Docs contract guard
run: bash scripts/guards/check_docs_contracts.sh

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable

- name: Fenced Plasm examples parse
run: cargo test -p plasm-core doc_fenced_plasm_examples_parse_under_language_matrix -- --nocapture

- name: Build site
run: mkdocs build --strict -f doc-site/mkdocs.yml

Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -73,3 +73,7 @@ plasm-mcp.*.pem
# Accidental nested tree (wrong `cwd` / duplicate checkout). Real layout is `./crates/...`;
# a second `plasm-oss/` here is not a package — insta may drop `*.pending-snap` under it for inline snapshots.
/plasm-oss/

# Bazel output symlinks and workstation configuration
/bazel-*
/.bazelrc.local
220 changes: 220 additions & 0 deletions BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,220 @@
load("//build/bazel:catalogs.bzl", "catalog_bundle")
load("//build/bazel:e2e_targets.bzl", "E2E_BINARIES")
load("//build/bazel:host_test_targets.bzl", "HOST_TEST_BINARIES")
load("//build/bazel:nextest.bzl", "nextest")
load("//build/bazel:release.bzl", "oss_release")

exports_files(["licenses/monty-MIT.txt"])

filegroup(
name = "npm_packages",
srcs = [
"//packages/plasm-agent:package",
"//packages/plasm-engine:package",
"//packages/plasm-engine:platform_package",
],
visibility = ["//visibility:public"],
)

config_setting(
name = "release_linux_x86_64",
constraint_values = [
"@platforms//os:linux",
"@platforms//cpu:x86_64",
],
visibility = ["//visibility:public"],
)

config_setting(
name = "release_linux_arm64",
constraint_values = [
"@platforms//os:linux",
"@platforms//cpu:aarch64",
],
visibility = ["//visibility:public"],
)

config_setting(
name = "release_macos_arm64",
constraint_values = [
"@platforms//os:macos",
"@platforms//cpu:aarch64",
],
visibility = ["//visibility:public"],
)

oss_release(
name = "release_archives",
triple = select({
":release_linux_x86_64": "x86_64-unknown-linux-gnu",
":release_linux_arm64": "aarch64-unknown-linux-gnu",
":release_macos_arm64": "aarch64-apple-darwin",
}),
visibility = ["//visibility:public"],
)

exports_files([
"build/catalog-embeddings/.gitignore",
"apis/proof/deployment-bindings.json",
])

filegroup(
name = "embedding_inputs",
# A clean checkout can load and test the graph without packaging catalogs.
# The packer validates required vectors when the catalog target is built.
srcs = glob(["build/catalog-embeddings/**/*.json"], allow_empty = True),
visibility = ["//visibility:public"],
)

catalog_bundle(
name = "catalogs",
package_list = "scripts/oss-packaged-apis.txt",
visibility = ["//visibility:public"],
)

nextest(
name = "nextest_language",
testonly = True,
binaries = {
"//crates/plasm-e2e:plasm_language_matrix_tests": "plasm-e2e::test::plasm_language_matrix",
"//crates/plasm-e2e:plasm_language_matrix_views_tests": "plasm-e2e::test::plasm_language_matrix_views",
"//crates/plasm-e2e:hermit_e2e_tests": "plasm-e2e::test::hermit_e2e",
},
manifest = "Cargo.toml",
runtime_tools = {"//:monty": "PLASM_MONTY_BINARY"},
visibility = ["//visibility:public"],
)

nextest(
name = "nextest_shuttle",
testonly = True,
args = [
"-E",
"test(shuttle_)",
],
binaries = {"//crates/plasm-agent-core:unit_tests": "plasm-agent-core::lib::plasm_agent_core"},
manifest = "Cargo.toml",
runtime_tools = {"//:monty": "PLASM_MONTY_BINARY"},
visibility = ["//visibility:public"],
)

nextest(
name = "nextest_performance",
testonly = True,
args = [
"--run-ignored=only",
"--test-threads=1",
"-E",
"test(=operation::tests::plan_commit_semantic_comp_hash_benchmark)",
],
binaries = {"//crates/plasm-agent-core:unit_tests": "plasm-agent-core::lib::plasm_agent_core"},
manifest = "Cargo.toml",
runtime_tools = {"//:monty": "PLASM_MONTY_BINARY"},
tags = ["exclusive"],
visibility = ["//visibility:public"],
)

nextest(
name = "nextest_e2e",
testonly = True,
binaries = E2E_BINARIES,
manifest = "Cargo.toml",
runtime_tools = {"//:monty": "PLASM_MONTY_BINARY"},
visibility = ["//visibility:public"],
)

config_setting(
name = "local_env_bootstrap",
define_values = {"plasm_local_env_bootstrap": "true"},
visibility = ["//visibility:public"],
)

test_suite(
name = "metadata_tests",
tests = ["@plasm_monty//:metadata_tests"],
)

exports_files([
"Cargo.toml",
"Cargo.lock",
"Cargo.Bazel.lock",
".config/nextest.toml",
"vendor/README.md",
"scripts/ci/build-monty-runtime.sh",
])

alias(
name = "monty",
actual = "@plasm_monty//:monty",
visibility = ["//visibility:public"],
)

nextest(
name = "nextest",
testonly = True,
binaries = {
"//crates/plasm:unit_tests": "plasm::lib::plasm_agent",
"//crates/plasm-node:unit_tests": "plasm-node::lib::plasm_node",
"//crates/plasm-trace-sink:unit_tests": "plasm-trace-sink::lib::plasm_trace_sink",
"//crates/plasm-runtime:hydrate_invoke_target_tests": "plasm-runtime::test::hydrate_invoke_target",
"//crates/plasm-runtime:mcp_http_protocol_tests": "plasm-runtime::test::mcp_http_protocol",
"//crates/plasm-runtime:view_literal_optional_cml_preflight_tests": "plasm-runtime::test::view_literal_optional_cml_preflight",
"//crates/plasm-agent-core:unit_tests": "plasm-agent-core::lib::plasm_agent_core",
"//crates/plasm-evidence:unit_tests": "plasm-evidence::lib::plasm_evidence",
"//crates/plasm-catalog:unit_tests": "plasm-catalog::lib::plasm_catalog",
"//crates/plasm-catalog:packer_tests": "plasm-catalog::bin::plasm-pack-catalogs",
"//crates/plasm-core:unit_tests": "plasm-core::lib::plasm_core",
"//crates/plasm-cml:unit_tests": "plasm-cml::lib::plasm_cml",
"//crates/plasm-compile:unit_tests": "plasm-compile::lib::plasm_compile",
"//crates/plasm-runtime:unit_tests": "plasm-runtime::lib::plasm_runtime",
"//crates/plasm-trace-wire:wire_roundtrip_tests": "plasm-trace-wire::test::wire_roundtrip",
},
manifest = "Cargo.toml",
runtime_tools = {"//:monty": "PLASM_MONTY_BINARY"},
visibility = ["//visibility:public"],
)

filegroup(
name = "test_fixtures",
srcs = glob(["fixtures/**"]),
visibility = ["//visibility:public"],
)

filegroup(
name = "catalog_sources",
srcs = glob(["apis/**"]),
visibility = ["//visibility:public"],
)

filegroup(
name = "demo_catalog_domains",
srcs = glob([
"apis/linear/domain.yaml",
"apis/vultr/domain.yaml",
]),
visibility = ["//visibility:public"],
)

filegroup(
name = "language_reference",
srcs = glob(["doc-site/docs/reference/**"]),
visibility = ["//visibility:public"],
)

filegroup(
name = "agent_prompt_assets",
srcs = ["//packages/plasm-agent:prompt_assets"],
visibility = ["//visibility:public"],
)

nextest(
name = "nextest_integrations",
testonly = True,
binaries = dict(HOST_TEST_BINARIES.items() + {
"//crates/plasm-node:spotify_membership_tests": "plasm-node::test::spotify_membership",
"//crates/plasm-node:tracing_setup_tests": "plasm-node::test::tracing_setup",
}.items()),
manifest = "Cargo.toml",
runtime_tools = {"//:monty": "PLASM_MONTY_BINARY"},
visibility = ["//visibility:public"],
)
9 changes: 8 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,14 @@ Entries before **0.4.35** live in [`CHANGELOG-ARCHIVE.md`](CHANGELOG-ARCHIVE.md)

## [Unreleased]

## [0.5.5] - 2026-10-17
## [0.5.5] - 2026-10-20

### Changed

- Build standalone core, tests, release archives and npm artifacts with the pinned Bazel graph; execute Rust test suites with nextest.
- Share compiled artifacts between local development and CI through Bazel's content-addressed disk cache.
- Publish binaries for macOS Apple Silicon and Linux x86-64 GNU; discontinue Intel macOS artifacts.
- Pin the published Monty fork, including deterministic typeshed archive generation.

### Fixed

Expand Down
Loading
Loading