Skip to content

Commit 9f87886

Browse files
Darth-Hidiousclaude
andcommitted
feat: Rust backbone + MARC27 platform integration + workflow engine
Rust CLI (crates/cli, crates/node, crates/proto, crates/runtime, crates/workflows): - prism CLI: setup, login (device flow), status, node, workflow, backend - prism-node: capability probing (CPU, GPU, RAM, disk, software, scheduler) - Proto: typed NodeMessage/PlatformMessage matching marc27-core WebSocket protocol - Runtime: path resolution, endpoint derivation, credential management - Workflows: YAML spec parsing, forge.yaml embedded Python TAOR agent: - Multi-backend: Anthropic, OpenAI, OpenRouter, MARC27 native - Model config refactor: per-provider defaults, context window, pricing - Backend factory: provider resolution from env/settings/credentials - Autonomous mode improvements, plan mode fixes - 33 tools + 10 skills intact Frontend (Ink TUI): - JSON-RPC 2.0 protocol over stdio - 11 React components: Prompt, StreamingText, ToolCard, etc. - Markdown renderer for rich output - Welcome bar with 4 status checks - Session list, cost tracking Tests: - Backend model config tests - Anthropic/OpenAI backend tests - CLI binary discovery tests - Plan mode tests Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent ee4ba2a commit 9f87886

77 files changed

Lines changed: 7221 additions & 537 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: Native Release
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*"
7+
workflow_dispatch:
8+
9+
jobs:
10+
package-native:
11+
name: Package Native (${{ matrix.label }})
12+
runs-on: ${{ matrix.os }}
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
include:
17+
- os: ubuntu-latest
18+
label: linux-x86_64
19+
rust_target: x86_64-unknown-linux-gnu
20+
bun_target: bun-linux-x64
21+
archive: prism-linux-x86_64.tar.gz
22+
tui_binary: prism-tui
23+
- os: macos-14
24+
label: macos-aarch64
25+
rust_target: aarch64-apple-darwin
26+
bun_target: bun-darwin-arm64
27+
archive: prism-macos-aarch64.tar.gz
28+
tui_binary: prism-tui
29+
- os: macos-13
30+
label: macos-x86_64
31+
rust_target: x86_64-apple-darwin
32+
bun_target: bun-darwin-x64
33+
archive: prism-macos-x86_64.tar.gz
34+
tui_binary: prism-tui
35+
36+
steps:
37+
- uses: actions/checkout@v4
38+
39+
- uses: dtolnay/rust-toolchain@stable
40+
with:
41+
target: ${{ matrix.rust_target }}
42+
43+
- uses: Swatinem/rust-cache@v2
44+
45+
- uses: oven-sh/setup-bun@v2
46+
47+
- name: Install frontend deps
48+
run: cd frontend && bun install --frozen-lockfile
49+
50+
- name: Build Rust binaries
51+
run: cargo build --release --bin prism --bin prism-node --target ${{ matrix.rust_target }}
52+
53+
- name: Build TS TUI binary
54+
run: |
55+
cd frontend
56+
bun build src/index.tsx --compile \
57+
--target=${{ matrix.bun_target }} \
58+
--outfile ../dist/${{ matrix.tui_binary }}
59+
60+
- name: Assemble package
61+
shell: bash
62+
run: |
63+
mkdir -p package
64+
cp target/${{ matrix.rust_target }}/release/prism package/
65+
cp target/${{ matrix.rust_target }}/release/prism-node package/
66+
cp dist/${{ matrix.tui_binary }} package/prism-tui
67+
tar -C package -czf ${{ matrix.archive }} .
68+
69+
- uses: actions/upload-artifact@v4
70+
with:
71+
name: ${{ matrix.archive }}
72+
path: ${{ matrix.archive }}
73+
74+
- name: Publish release assets
75+
if: startsWith(github.ref, 'refs/tags/')
76+
uses: softprops/action-gh-release@v2
77+
with:
78+
files: ${{ matrix.archive }}
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Rust Backbone
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- "Cargo.toml"
7+
- "Cargo.lock"
8+
- "crates/**"
9+
- ".github/workflows/rust-backbone.yml"
10+
push:
11+
branches:
12+
- main
13+
paths:
14+
- "Cargo.toml"
15+
- "Cargo.lock"
16+
- "crates/**"
17+
- ".github/workflows/rust-backbone.yml"
18+
19+
concurrency:
20+
group: rust-backbone-${{ github.ref }}
21+
cancel-in-progress: true
22+
23+
jobs:
24+
fmt:
25+
name: Rust Format
26+
runs-on: ubuntu-latest
27+
steps:
28+
- uses: actions/checkout@v4
29+
- uses: dtolnay/rust-toolchain@stable
30+
with:
31+
components: rustfmt
32+
- run: cargo fmt --all --check
33+
34+
lint-and-test:
35+
name: Rust Lint And Test
36+
runs-on: ubuntu-latest
37+
steps:
38+
- uses: actions/checkout@v4
39+
- uses: dtolnay/rust-toolchain@stable
40+
with:
41+
components: clippy
42+
- uses: Swatinem/rust-cache@v2
43+
- run: cargo clippy --workspace --all-targets -- -D warnings
44+
- run: cargo test --workspace
45+
46+
build-matrix:
47+
name: Rust Build (${{ matrix.os }})
48+
runs-on: ${{ matrix.os }}
49+
strategy:
50+
fail-fast: false
51+
matrix:
52+
os:
53+
- ubuntu-latest
54+
- macos-latest
55+
- windows-latest
56+
steps:
57+
- uses: actions/checkout@v4
58+
- uses: dtolnay/rust-toolchain@stable
59+
- uses: Swatinem/rust-cache@v2
60+
- run: cargo build --workspace --release

0 commit comments

Comments
 (0)