Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
15921fc
feat(policy): support Cedar as an alternate sandbox policy language
vishwa-raman Oct 15, 2026
29fb1de
fix(cedar): bound host analysis and isolate staged evaluation
johnnygreco Oct 17, 2026
f6175bd
docs(cedar): preserve policy format and middleware during iteration
johnnygreco Oct 17, 2026
2900b22
fix(policy): negotiate Cedar support before policy transfer
johnnygreco Oct 17, 2026
efae0b3
fix(cedar): share websocket limits and configured MCP identities
johnnygreco Oct 17, 2026
713cd9a
refactor(cedar): simplify staged evaluation result handling
johnnygreco Oct 17, 2026
b592854
test(cedar): verify provider credentials through the gateway
johnnygreco Oct 17, 2026
bba62a2
fix(cedar): satisfy scoped lint checks
johnnygreco Oct 17, 2026
1a4c36c
fix(python): negotiate Cedar support before sandbox creation
johnnygreco Oct 17, 2026
7a3fd24
docs(cedar): clarify staged evaluation isolation
johnnygreco Oct 17, 2026
cd26841
fix(sdk): keep Cedar capability check input structural
johnnygreco Oct 17, 2026
4bc3045
chore: merge main and resolve Cedar integration conflicts
johnnygreco Oct 17, 2026
32c4ff5
fix(examples): advertise Cedar support in governance smoke client
johnnygreco Oct 17, 2026
65b93c5
fix(cli): box sandbox subcommands to satisfy size lint
johnnygreco Oct 17, 2026
90610b9
fix(server): box oversized replay and reconciliation futures
johnnygreco Oct 17, 2026
3253a33
chore(network): format mediated socket test fixture
johnnygreco Oct 17, 2026
b81bd1e
fix(supervisor): box network proxy launch future
johnnygreco Oct 17, 2026
0801f92
test: use portable isolation endpoint fixtures
johnnygreco Oct 17, 2026
e683b07
test(supervisor): gate Unix baseline path scenarios
johnnygreco Oct 17, 2026
2995fb5
test(server): stabilize concurrent stress scheduling
johnnygreco Oct 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/e2e-docker-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ on:
required: false
type: string
default: >-
[{"suite":"python","cmd":"mise run --no-deps --skip-deps e2e:python","apt_packages":"","python_proto":true,"mcp":false},{"suite":"oidc-python","cmd":"mise run --no-deps --skip-deps e2e:oidc-python:docker","apt_packages":"","python_proto":true,"mcp":false},{"suite":"oidc-pkce-docker","cmd":"mise run --no-deps --skip-deps e2e:oidc-pkce:docker","apt_packages":"openssh-client","python_proto":false,"mcp":false},{"suite":"rust-docker","cmd":"mise run --no-deps --skip-deps e2e:rust","apt_packages":"openssh-client","python_proto":false,"mcp":false},{"suite":"rust-docker-push","cmd":"mise run --no-deps --skip-deps e2e:rust:push","apt_packages":"openssh-client","python_proto":false,"mcp":false},{"suite":"oci-image","cmd":"mise run --no-deps --skip-deps e2e:oci-image","apt_packages":"openssh-client","python_proto":false,"mcp":false},{"suite":"mcp","cmd":"mise run --no-deps --skip-deps e2e:mcp","apt_packages":"","python_proto":false,"mcp":true}]
[{"suite":"python","cmd":"mise run --no-deps --skip-deps e2e:python","apt_packages":"","python_proto":true,"mcp":false},{"suite":"oidc-python","cmd":"mise run --no-deps --skip-deps e2e:oidc-python:docker","apt_packages":"","python_proto":true,"mcp":false},{"suite":"oidc-pkce-docker","cmd":"mise run --no-deps --skip-deps e2e:oidc-pkce:docker","apt_packages":"openssh-client","python_proto":false,"mcp":false},{"suite":"rust-docker","cmd":"mise run --no-deps --skip-deps e2e:rust","apt_packages":"openssh-client","python_proto":false,"mcp":false},{"suite":"rust-docker-push","cmd":"mise run --no-deps --skip-deps e2e:rust:push","apt_packages":"openssh-client","python_proto":false,"mcp":false},{"suite":"oci-image","cmd":"mise run --no-deps --skip-deps e2e:oci-image","apt_packages":"openssh-client","python_proto":false,"mcp":false},{"suite":"mcp","cmd":"mise run --no-deps --skip-deps e2e:mcp","apt_packages":"","python_proto":false,"mcp":true},{"suite":"mcp-cedar","cmd":"POLICY_FORMAT=cedar mise run --no-deps --skip-deps e2e:mcp","apt_packages":"","python_proto":false,"mcp":true},{"suite":"cedar","cmd":"mise run --no-deps --skip-deps e2e:cedar","apt_packages":"","python_proto":false,"mcp":false}]

permissions:
actions: read
Expand Down
4 changes: 3 additions & 1 deletion .packit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ actions:
# reflects any patching that Packit may have done (e.g. version bumps).
- 'bash -c "VERSION=${PACKIT_PROJECT_VERSION} && TMPDIR=$(mktemp -d) && DIR=openshell-${VERSION} && mkdir -p ${TMPDIR}/${DIR} && git ls-files -z | xargs -0 tar cf - | tar xf - -C ${TMPDIR}/${DIR}/ && tar -czf openshell-${VERSION}.tar.gz -C ${TMPDIR} ${DIR} && rm -rf ${TMPDIR}"'
# Step 2: Create vendored Cargo dependencies tarball for offline RPM build.
- 'bash -c "VERSION=${PACKIT_PROJECT_VERSION} && CARGO_HTTP_TIMEOUT=600 CARGO_NET_RETRY=5 cargo vendor --locked --quiet && tar -cJf openshell-${VERSION}-vendor.tar.xz vendor/ && rm -rf vendor/"'
# The script also captures the [source."git+..."] replacement tables that
# cargo vendor prints, so git dependencies resolve offline in %prep.
- 'bash deploy/rpm/create-vendor-archive.sh'
# Step 3: Return the primary archive name. Packit expects create-archive
# to print one path for Source0; Source1 is patched explicitly below.
- 'bash -c "echo openshell-${PACKIT_PROJECT_VERSION}.tar.gz"'
Expand Down
2 changes: 2 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ Do not rely on this file for a full inventory. The detailed public and contribut
| `crates/openshell-sandbox-backend/` | OpenShell sandbox backend | Concrete Isolation Backend RPC client and authenticated Sandbox Protocol shared with `openshell-sandbox` |
| `crates/openshell-policy/` | Policy engine | Filesystem, network, and process constraints |
| `crates/openshell-policy-schema/` | Authored policy schema | Dependency-light YAML/JSON representation, bounded parsing, and pure authored-language semantics |
| `crates/openshell-policy-cedar/` | Cedar policy engine | Validation, Landlock/L7/DNS derivation, and evaluation for Cedar-authored sandbox policies |
| `crates/openshell-policy-cedar-schema/` | Cedar policy schema | Canonical Cedar schema and entity, action, and context names |
| `crates/openshell-bootstrap/` | Gateway metadata | Gateway registration metadata, auth token storage, mTLS bundle storage |
| `crates/openshell-gateway-interceptors/` | Gateway interceptors | Intercepts and transforms configured gRPC requests at the gateway routing boundary |
| `crates/openshell-ocsf/` | OCSF logging | OCSF v1.8.0 event types, builders, shorthand/JSONL formatters, tracing layers |
Expand Down
4 changes: 3 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ Public skills live in `skills/` and work without an OpenShell source checkout. I
| `openshell-cli` | CLI usage, sandbox lifecycle, provider management, and BYOC workflows |
| `debug-openshell-cluster` | Diagnose gateway deployment and health issues |
| `debug-inference` | Diagnose attached-provider inference, native endpoints, and migration from the retired managed endpoint |
| `generate-sandbox-policy` | Generate YAML sandbox policies from requirements or API documentation |
| `generate-sandbox-policy` | Generate or edit YAML and Cedar sandbox policies while preserving their format and middleware configuration |

Public skills use `openshell --help` for installed command syntax and published OpenShell documentation for product concepts and configuration. They must not depend on repository-relative source or documentation files.

Expand Down Expand Up @@ -337,6 +337,8 @@ These are the primary `mise` tasks for day-to-day development:
| --------------- | --------------------------------------------- |
| `crates/` | Rust crates |
| `crates/openshell-policy-schema/` | Canonical authored policy DTOs and bounded YAML/JSON parser |
| `crates/openshell-policy-cedar/` | Validation and evaluation for Cedar-authored sandbox policies |
| `crates/openshell-policy-cedar-schema/` | Canonical Cedar schema and entity, action, and context names |
| `crates/openshell-prover-cli/` | Standalone local policy boundary checker |
| `python/` | Python SDK and bindings |
| `sdk/go/` | Go SDK (types, gRPC clients, converters) |
Expand Down
Loading
Loading