Skip to content

build: migrate standalone core to Bazel for v0.5.5 - #46

Merged
ryan-s-roberts merged 24 commits into
mainfrom
codex/bazel-migration
Oct 20, 2026
Merged

ryan-s-roberts merged 24 commits into
mainfrom
codex/bazel-migration

Conversation

@ryan-s-roberts

@ryan-s-roberts ryan-s-roberts commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator

Core now builds independently through a pinned Bazel graph, and SaaS consumes the same targets as an external module. Rust suites use nextest; release archives and npm packages consume declared build outputs. The published Monty fork is pinned and typeshed archives are deterministic.

Release platforms are macOS Apple Silicon and Linux x86-64 GNU. Intel macOS artifacts are removed. Compiler selection isolates Bazel from login-shell compiler-cache wrappers while preserving macOS SDK discovery.

Validation:

  • Local standalone core, SaaS consumer, release archives, npm artifacts and cache relocation checks completed; evidence is in the parent repository's docs/bazel-migration.md.
  • Remote CircleCI: core 3,418 passed / 9 skipped; integrations 134 passed / 3 skipped; E2E 261 passed / 5 skipped.
  • A fresh recursive checkout downloaded the SHA256-pinned embedding input asset and successfully built all 22 catalogs with bash build/bazel/bazel.sh build //:catalogs --jobs=2.
  • GitHub strict documentation build passed on the current head.
  • CircleCI pipeline #858 passed all three jobs (test, e2e, argocd_native_amd64) on SaaS commit 6b40bea5e7; Phoenix passed 200 hosted and 71 shared UI tests, and both appliance gates passed. Later changes are release preparation and documentation, which will be revalidated by main CI before tagging.

Prepares v0.5.5 release notes. Merge core before the parent SaaS migration.

Preserve concrete identity through typed output decoding and explicit of_type narrowing. Add abstract language and prompt matrix coverage plus CGS authoring guidance. Query/search and action outputs are supported; Get, relation-target sums and iteration outputs remain explicit follow-up work.

Validated in the working tree: entity_union matrix 3 passed, constructor registry 4 passed, teaching matrix 1 passed, binding_contract 5 passed. Unrelated MCP work remains unstaged; its test fixture needed an unstaged pagination-state initializer to compile the host test suite. Two existing coverage-ledger omissions remain recorded separately.
Replace the vendored MCP SDK with rmcp for inbound and outbound HTTP, retain typed protocol failures and persistence, and move catalog publication into a host-independent crate. Update strict diagnostic consumers, protocol fixtures, release callers and the reviewed cutover documentation.
Record the task-oriented catalog mappings and documented GitHub integration coverage separately from core language and transport changes.
Box the SDK initialization error at its source, preserve typed causes and assert bounded protocol/transport/execution footprints. Release protocol-test locks before awaits and repair stale relation assertions and compiler hygiene.

@cursor cursor Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale comment

Documentation assessment (sync 287900f1)

What the PR already does well

  • Language ledger: python-compute-contract.md documents execution-scoped PreparedCompute, numeric inference, and rejection evidence — aligned with runtime changes in this branch.
  • Constructors: python-row-constructors.md registers of_type (BC-03); authoring reference covers closed nominal entity outputs.
  • Release notes: CHANGELOG.md and build/bazel/README.md are strong single sources for the migration mechanics.
  • Authoring: Large doc-site/docs/authoring/* refresh (input lanes, enum profiles, contract completeness) matches loader semantics.

Gaps addressed on cursor/system-documentation-quality-a25a (companion commit)

  1. Easter egg / maintenance: Bazel lived only in build/bazel/README.md while MkDocs, AGENTS.md, and root README still read as cargo-only CI. Added Build and test and wired it through nav, getting-started, cli-and-env, and AGENTS.md without duplicating patch lore.
  2. Language definition drift: plasm-language-definition.md did not mention nominal entity unions or execution-scoped compute preparation although the compute contract and matrix did. Added short normative sections with links to authoring reference and PYTHON-COVERAGE.md.
  3. Appliance inventory: CI section now points readers at Bazel nextest for the broader graph.

Remaining follow-ups (not blocking merge)

  • Per-catalog READMEs under apis/ still mostly cite cargo test; consider a one-line pointer to Build and test for maintainers, or leave as-is for catalog authors.
  • python-compute-contract.md → Audit verification block is a dated cargo-only snapshot; add a sentence that CI parity is bash build/bazel/bazel.sh test //:nextest when that section is next refreshed.
  • MkDocs strict: pre-existing broken relative link to python-plasm-dag.txt in the language definition (use GitHub blob URL or vendor into doc-site/).

Recommend cherry-picking or merging the companion doc branch onto codex/bazel-migration before release so published docs and AGENTS.md match v0.5.5 build expectations.

Open in Web View Automation 

Sent by Cursor Automation: Maintain docs

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Documentation assessment (automation)

Reviewed PR #46 against language-spec maintenance and user-facing docs holistically.

What already looks solid

  • Language spec: python-compute-contract.md gains normative execution-scoped static preparation and an implementation ledger block for numeric inference / rejection evidence; wording matches PreparedComputeScope in plasm-agent-core.
  • Published links: plasm-language-definition.md now uses absolute GitHub URLs for the teaching card and PYTHON-COVERAGE.md (fixes broken relative paths on GitHub Pages).
  • Packaging typo: getting-started.md correctly uses plasm-catalog for plasm-pack-catalogs.
  • Authoring sync: skills/plasm-authoring → doc-site/docs/authoring projection checks clean.
  • Deep Bazel reference: build/bazel/README.md is thorough for maintainers.

Gaps addressed on branch cursor/system-documentation-quality-7857 → PR #48 (targets this branch)

Antipattern Issue Remedy
Assumption gap CHANGELOG / Bazel graph ship while README + Start here still read as cargo-only New doc-site/docs/reference/building-from-source.md + README / AGENTS / getting-started cross-links
Easter egg hunt Normative python-compute-contract.md et al. not in MkDocs nav; docs/mcp-*.md orphaned from any index MkDocs Language nav expanded; docs/README.md indexes internal notes
Maintenance nightmare (avoided) Bazel commands stay canonical in build/bazel/README.md; public page only summarizes

Remaining nits (non-blocking)

  • Constructor registries (python-*-constructors.md) remain intentionally off-nav; hub is plasm-language-definition.md. Consider a single “Constructor registries” nav group later if onboarding feedback says otherwise.
  • cli-and-env.md could note discontinued Intel macOS release artifacts (CHANGELOG already states this).
  • Matrix ledger: new inference witnesses are documented in the compute contract ledger; keep CI nextest registration aligned as the Bazel suite expands (per build/bazel/README.md).

Please merge or cherry-pick PR #48 once convenient.

View PR

Open in Web View Automation 

Sent by Cursor Automation: Maintain docs

@ryan-s-roberts
ryan-s-roberts marked this pull request as ready for review October 20, 2026 13:41
@ryan-s-roberts
ryan-s-roberts merged commit 8f036e9 into main Oct 20, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant