An open API service indexing awesome lists of open source software.

https://github.com/designopticsfast/palantir

Palantir contracts: protobuf definitions and transport interface for Phoenix ↔ Bedrock analysis system.
https://github.com/designopticsfast/palantir

contracts grpc palantir protobuf transport

Last synced: about 1 month ago
JSON representation

Palantir contracts: protobuf definitions and transport interface for Phoenix ↔ Bedrock analysis system.

Awesome Lists containing this project

README

          

> ⚠️ **Archived Repository (Read-Only)**
>
> This repository is no longer under active development.
>
> All active development has moved to the monorepo:
> **https://github.com/DesignOpticsFast/suite**
>
> The pre-migration baseline corresponds to tag **`sprint-4.6A`** in the monorepo.

# Palantir Contracts

**Palantir contracts: protobuf definitions and transport interface for Phoenix ↔ Bedrock analysis system.**

## Purpose

Palantir is the shared contract repository for the DesignOpticsFast optical design system. It defines the data structures, transport protocols, and validation rules used for communication between:

- **Phoenix** (Qt-based GUI/IDE)
- **Bedrock** (C++ compute foundation)
- **Future repos** (Gaia, Rosetta, etc.)

## Repository Structure

- `docs/data_contracts/`: Data contract specifications (Vega-Lite, Arrow Flight, CI validation)
- See [`docs/data_contracts/README.md`](docs/data_contracts/README.md) for detailed contract documentation

## Cross-Repository Usage

### As a Git Submodule

Both Phoenix and Bedrock import Palantir as a git submodule:

```bash
# Phoenix: docs/palantir
# Bedrock: docs/palantir
```

### Contract Version Parity

**Critical:** Contract changes must maintain SHA parity across all consuming repositories.

- Contract changes must be coordinated with both Phoenix and Bedrock teams
- Submodule references must be updated simultaneously
- CI enforces contract SHA parity to prevent drift

### Making Contract Changes

1. **Propose changes** in Palantir (PR or direct commit)
2. **Update submodules** in Phoenix and Bedrock to the new Palantir commit
3. **Verify CI** passes in both repositories
4. **Coordinate releases** to ensure synchronized deployment

## Contract Versioning

- Version tags follow semantic versioning (e.g., `v1.0.0`)
- Current stable version: **v1.0.0**
- See `docs/data_contracts/shared_conventions.md` for versioning policy

## Transport & Binding

- **Spec:** Vega-Lite JSON (renderer-agnostic) + optional `phoenix:{}` extensions
- **Data:** Arrow Flight streams (RecordBatches) or shared memory (hot path)
- **Binding:** VL `data.name` → dataset ID (Flight descriptor)
- **Exports/CI:** Phoenix can request Bedrock SVG/PDF for canonical artifacts

## Related Repositories

- [DesignOpticsFast/phoenix](https://github.com/DesignOpticsFast/phoenix) - Qt GUI/IDE
- [DesignOpticsFast/bedrock](https://github.com/DesignOpticsFast/bedrock) - C++ compute foundation

## License

See repository license file for details.

---

**Repository transferred from MarkBedrock/palantir to DesignOpticsFast/palantir on 2025-11-17**