Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
220 commits
Select commit Hold shift + click to select a range
fc0e9db
ci: replace stale issue exemptions with explicit frozen labels (#4534)
elezar Oct 14, 2026
d3bb266
docs(triage): add triage duty tooling (#3082)
elezar Oct 14, 2026
1d8101d
fix(sandbox): report the real seccomp probe launcher error (#4051)
russellb Oct 14, 2026
42e0d00
fix(supervisor): rename OCSF log files from `.log` to `.jsonl` (#4263)
matthewgrossman Oct 14, 2026
3f66c26
fix(helm): render Restricted-compatible security contexts (#3340)
lunarwhite Oct 14, 2026
7225bae
test(oci): cover default and policy identities in the oci-image suite…
matthewgrossman Oct 14, 2026
8b774e2
fix(driver-kubernetes): wait for operator namespace listing before wo…
mrunalp Oct 14, 2026
64c5bcd
fix(build): honor PROTOC when generating protobuf code (#4441)
politerealism Oct 14, 2026
f739283
fix(deps): scope rcgen's x509-parser feature to the supervisor (#4468)
politerealism Oct 14, 2026
4d9a1d2
chore(deps): bump github/codeql-action/upload-sarif (#4552)
dependabot[bot] Oct 14, 2026
36ee06f
fix(rpm): build the Python SDK from older protoc and install every SD…
politerealism Oct 14, 2026
07fd238
feat(server): export gateway OCSF events as OTLP log records (#4500)
krishicks Oct 14, 2026
91385f4
test(sandbox): isolate Landlock descriptor-limit regression (#4457)
grs Oct 14, 2026
6dbe4ad
feat(supervisor): export OCSF events as OTLP log records (#4545)
krishicks Oct 14, 2026
2f415e4
chore(deps): bump actions/attest from 4.2.1 to 4.2.2 (#2625)
dependabot[bot] Oct 14, 2026
68b1082
chore(deps): bump github/codeql-action/init from 4.37.7 to 4.37.9 (#3…
dependabot[bot] Oct 14, 2026
e28321b
fix(deps): bump rustls to 0.23.46 for RUSTSEC-2026-0346..0349 (#4568)
matthewgrossman Oct 14, 2026
d20c090
docs(observability): add observability overview and traces pages (#4560)
krishicks Oct 14, 2026
4dd6151
test(cli): retry forward tests when another process takes the port (#…
matthewgrossman Oct 14, 2026
909f336
fix(kubernetes): validate runtime control mount paths (#4522)
johntmyers Oct 14, 2026
6ab87ce
docs(readme): remove grpcurl walkthrough (#4585)
drew Oct 15, 2026
ef718a4
fix(vm): harden guest sandbox startup (#4539)
alangou Oct 15, 2026
8a67c46
test(tmachine): pin k3s to Kubernetes 1.29 (#4463)
SDAChess Oct 15, 2026
10c6319
ci(compatibility): require explicit risk acceptance (#4595)
SDAChess Oct 15, 2026
2c8f30f
ci: install Determinate Nix in shared setup action (#4593)
SDAChess Oct 15, 2026
59ddef6
feat(tmachine): build local Debian artifacts (#4598)
elezar Oct 15, 2026
05050a6
refactor(ci): extract release qualification and serialize Codex revie…
SDAChess Oct 15, 2026
c06ba10
ci: disable Determinate Nix job summaries (#4601)
SDAChess Oct 15, 2026
2804f68
fix(server): send Accept json on OAuth token refresh (#4530)
ericcurtin Oct 15, 2026
c3ca45f
ci(release): notify Slack when a prerelease succeeds (#4605)
matthewgrossman Oct 15, 2026
2538844
ci(release): decouple prerelease publication from qualification (#4420)
SDAChess Oct 15, 2026
c5519ea
fix(network): bind hostname policy to supervisor DNS (#4602)
alangou Oct 15, 2026
01087a4
fix(sandbox): distinguish descriptor lookup outcomes (#4494)
johntmyers Oct 15, 2026
29a2b8e
feat(providers): report bounded token-grant failures (#4427)
shiju-nv Oct 15, 2026
6546691
docs(kubernetes): document managed workspaces setup (#4622)
drew Oct 15, 2026
10241ab
fix(podman): trust an operator-supplied additional CA for direct egre…
politerealism Oct 15, 2026
44c07da
feat(helm): make gateway PVC size and StorageClass configurable (#3854)
lunarwhite Oct 15, 2026
b2069a2
feat(docker): support host and bridge supervisor networking (#4016)
drew Oct 16, 2026
5add9df
feat(sdk/go)!: replace positional labels with functional Create optio…
rhuss Oct 16, 2026
a4c848a
feat(vm): add host bind mount support via virtiofs (libkrun) (#3463)
benoitf Oct 16, 2026
9c6867c
feat(auth): emit OCSF events for credential-less gateway requests (#4…
krishicks Oct 16, 2026
b8526eb
fix(server): install the metrics recorder before startup reconciliati…
EmilienM Oct 16, 2026
8fcba28
feat(cli): add --annotation to sandbox create (#4325)
ericcurtin Oct 16, 2026
a2982bf
fix(ci): restore default e2e coverage with a Kubernetes recovery waiv…
elezar Oct 16, 2026
633cc6d
perf(server): drop async_trait from mutation replay and supervisor ga…
matthewgrossman Oct 16, 2026
77929d9
feat(sandbox): publish and activate sandbox backend protocol (#3898)
drew Oct 16, 2026
35a3390
feat(auth): classify rejected gateway credentials in authentication e…
krishicks Oct 16, 2026
41c518f
fix(agents): validate sandbox names before Gator launch setup (#4660)
TaylorMutch Oct 16, 2026
604b9f6
feat(config): deliver gateway configuration over the supervisor sessi…
pimlock Oct 16, 2026
744b889
fix(ci): paginate required gate job lookups (#4663)
pimlock Oct 16, 2026
f41f24b
feat(auth): record peer address and request ID on authentication even…
krishicks Oct 16, 2026
fdfbf84
fix(ocsf): report the required device.os.type_id (#4677)
krishicks Oct 17, 2026
b58e24c
fix(supervisor): report plaintext scheme to middleware (#4397)
ericcurtin Oct 17, 2026
55bf786
feat(tmachine): build local RPM artifacts (#4651)
elezar Oct 17, 2026
b1cfc91
ci(release): promote qualified prereleases to stable (#4611)
SDAChess Oct 19, 2026
b4cf1dd
chore(deps): accept build-only zip advisories (#4710)
SDAChess Oct 19, 2026
1a5220c
fix(deps): update setuptools to 83.0.0 (#4711)
SDAChess Oct 19, 2026
740c8fe
fix(deps): patch TypeScript test dependencies (#4712)
SDAChess Oct 19, 2026
0bfa1e8
fix(deps): update pytest to 9.0.3 (#4713)
SDAChess Oct 19, 2026
c38e279
ci(release): list failed jobs in pre-release failure notices (#4719)
matthewgrossman Oct 19, 2026
834b14f
ci(helm): retry chart pushes when GHCR briefly misses a new manifest …
matthewgrossman Oct 19, 2026
1cb9ef8
refactor(crypto): introduce a generic interface for crypto libraries …
varshaprasad96 Oct 19, 2026
50b7fcd
ci(release): generate PR-based stable release notes (#4654)
drew Oct 19, 2026
b01dd62
fix(server): warn on dangling provider refs at startup (#4661)
ericcurtin Oct 19, 2026
2798108
fix(ocsf): report https scheme for TLS-terminated requests (#4684)
ericcurtin Oct 19, 2026
d2a3508
fix(server): reject reserved annotation keys (#4626)
ericcurtin Oct 19, 2026
d4ad1bb
fix(snap): only enable gateway user service for one user (#4615)
olivercalder Oct 20, 2026
7417f75
fix(ci): wait for controller reconciliation before Kubernetes conform…
pimlock Oct 20, 2026
292c9c8
fix(vm): flush guest filesystem before a planned sandbox stop (#4195)
shiju-nv Oct 20, 2026
d97709f
chore(deps): update Mermaid lint dependencies (#4743)
SDAChess Oct 20, 2026
bdb956f
fix(ci): grant prerelease publish pull request read permission (#4747)
SDAChess Oct 20, 2026
30492bc
fix(deps): update russh to 0.64.1 (#4742)
SDAChess Oct 20, 2026
92f3a41
ci: update setup-buildx action to v4.4.1 (#4741)
SDAChess Oct 20, 2026
a24340b
feat(auth): emit OCSF events for gateway authorization denials (#4728)
krishicks Oct 20, 2026
32f0264
feat(sandbox): initiate supervisor connections across compute drivers…
drew Oct 20, 2026
ea265a2
docs(cli): say --upload cannot take a command (#4502)
ericcurtin Oct 20, 2026
0f5b4f0
ci(release): reuse the promoted prerelease's release notes preview (#…
matthewgrossman Oct 20, 2026
915a5d1
feat(auth): emit OCSF logon events for accepted gateway credentials (…
krishicks Oct 20, 2026
6df4253
docs(providers): close stdin in the openrouter smoke test (#3907)
fede-kamel Oct 20, 2026
f7e37af
ci(release): tag Go SDK module on stable releases (#4262)
purp Oct 20, 2026
465324a
fix(vm): populate an empty guest /etc/hosts with loopback names (#4182)
shiju-nv Oct 20, 2026
a2b8022
fix(python): ship credential driver protocol bindings (#4760)
maxdubrinsky Oct 20, 2026
2071796
chore(deps): bump certifi from 2026.5.20 to 2026.10.19 (#4764)
dependabot[bot] Oct 20, 2026
c7dd586
ci(compatibility): review driver-facing executable flags (#4644)
drew Oct 21, 2026
bd0edb1
refactor(tests): move tmachine support files under tests/tmachine (#4…
matthewgrossman Oct 21, 2026
72ab4dd
feat(kubernetes): deploy shared supervisor mode (#4695)
drew Oct 21, 2026
837fdfd
fix(sdk/go): accept CLI-compatible gateway names (#4767)
sunilteja93 Oct 21, 2026
d223943
fix(helm): allow shared supervisor SCC-assigned IDs (#4785)
drew Oct 21, 2026
ceecf02
fix(deps): update webpki to distrust compromised emSign CAs (#4794)
SDAChess Oct 21, 2026
321b93a
feat(auth): emit OCSF events for SSH session and sandbox token checks…
krishicks Oct 21, 2026
220a1d5
chore(ci): use GPT-6.1 Sol for compatibility review (#4796)
SDAChess Oct 21, 2026
e7dc051
chore(sdk): update Vite to 8.1.6 (#4792)
SDAChess Oct 21, 2026
2fd802e
feat(skills): add release-captain skill for the weekly release cadenc…
matthewgrossman Oct 21, 2026
a4c27f9
refactor(auth): share audit helpers for gateway denials and rejection…
krishicks Oct 21, 2026
19ae2b7
test(cli): retry forward tests when ssh loses the port after the chec…
krishicks Oct 21, 2026
229382e
docs(sandbox): align workload image requirements with current runtime…
zanetworker Oct 21, 2026
4b7486e
test(auth): share fixtures for gateway audit event tests (#4778)
krishicks Oct 21, 2026
20cb306
perf(docker): slow steady-state supervisor healthcheck (#4802)
lunarwhite Oct 21, 2026
1d880c9
fix(examples): repair multi-agent notepad launch (#4807)
TaylorMutch Oct 21, 2026
029fda6
refactor(cli): use Rust SDK transport (#4817)
TaylorMutch Oct 22, 2026
0a51652
chore(server): remove unused server macros crate (#4818)
mrunalp Oct 22, 2026
39d95b4
chore(e2e): remove obsolete OpenShift sandbox SCC grant (#4823)
TaylorMutch Oct 22, 2026
fac8232
test(testkit): add the testkit library for end-to-end suites (#4724)
matthewgrossman Oct 22, 2026
cb42f5d
fix(snap): use openshell-prover instead of openshell.prover (#4835)
olivercalder Oct 22, 2026
9152b6e
fix(vm): boot a digest-pinned image from the cache without a registry…
balajinvda Oct 22, 2026
ea13dfc
refactor(supervisor): isolate state per sandbox instance (#4701)
drew Oct 22, 2026
78376bd
fix(installer): resolve the gateway config dir like the CLI does (#4063)
fede-kamel Oct 22, 2026
132c582
docs(extensibility): document external compute driver setup (#4826)
TaylorMutch Oct 22, 2026
eec00ad
fix(podman): Increase the API timeout (#4820)
sruggier Oct 22, 2026
07b7a74
fix(server): bound the provisioning-deadline scan's lock wait (#4549)
EmilienM Oct 22, 2026
9a85667
feat(kubernetes): host sandboxes on the shared supervisor (#4702)
drew Oct 22, 2026
bc4c8f0
fix(deps): update ctutils to resolve timing advisory (#4867)
SDAChess Oct 23, 2026
5bfe2fb
docs(contributing): exempt build and flaky-test fixes from the issue …
krishicks Oct 23, 2026
72e4eaa
feat(snap): publish prerelease builds to latest/beta channel (#4870)
olivercalder Oct 23, 2026
92434dc
test(windows): repair the Windows MSVC test suite (#4862)
krishicks Oct 23, 2026
e0ba078
ci: keep rust caches warm on main and stop saving binary caches on br…
krishicks Oct 23, 2026
567d360
fix(build): raise file limit for native gateway builds (#3122)
purp Oct 23, 2026
16250df
feat(helm): add server.extraEnv for the gateway container (#4876)
ericcurtin Oct 23, 2026
f571c8e
docs(agents): ban AI attribution in PR descriptions and issues (#4890)
purp Oct 23, 2026
c4688aa
feat(helm): add certificate hook pod labels and annotations (#4895)
crookedstorm Oct 24, 2026
72bc3d3
ci(release): infer optional workflow tags (#4707)
SDAChess Oct 26, 2026
37b7302
chore(ci): update rust-cache to include upstream fixes (#4748)
SDAChess Oct 26, 2026
9c6c252
fix(deps): update tokio and crypto-bigint security patches (#4924)
SDAChess Oct 26, 2026
cc14afc
fix(ci): exempt Dependabot PRs from issue acceptance (#4928)
SDAChess Oct 26, 2026
2ff59bf
feat(agents): allow gator to reach GHSA private forks (#4893)
purp Oct 26, 2026
d0a163a
docs(rfc): add RFC 0018 for multi-sandbox and HA supervisors (#4377)
FrostGod Oct 26, 2026
5c533d6
docs: document local Nix setup and the OpenShell binary cache (#4931)
matthewgrossman Oct 26, 2026
f5d9223
feat(supervisor): let operators require specific middleware bindings …
freeqaz-openai Oct 26, 2026
17eda52
docs(windows): route main documentation to the Windows release branch…
shailendra-nv Oct 26, 2026
7b0f8ae
fix(gateway): require authentication or explicit development opt-in (…
TaylorMutch Oct 27, 2026
f07127e
feat(sandbox): add suspend and resume lifecycle (#4765)
drew Oct 27, 2026
e5adf6f
feat(supervisor): recover shared instances with hash-based HA (#4864)
drew Oct 27, 2026
2e1e2c5
chore(ci): extend issue stale window and exempt roadmap issues (#4962)
TaylorMutch Oct 27, 2026
f558da6
fix(ci): add exceptions for zstd advisories (#4973)
SDAChess Oct 27, 2026
860ac27
docs(security): add private reporting and advisory workflows (#4832)
alangou Oct 27, 2026
bd2ecaf
docs(skills): add structured security advisory authoring (#4872)
alangou Oct 27, 2026
dedb089
fix(deps): update setuptools and vitest to patched releases (#4969)
alangou Oct 27, 2026
ac7f615
fix(ci): allow accepted protobuf breaks for v0.1.6 prereleases (#4976)
TaylorMutch Oct 27, 2026
26134dc
feat(gateway): add hashed service-routing hostnames for multi-gateway…
jhjaggars Oct 27, 2026
2c31ac7
feat(network): support additional destination CAs (#3292)
jhjaggars Oct 27, 2026
fa2d381
docs(gateway): make the Podman container gateway example work (#4977)
politerealism Oct 27, 2026
3a512d2
ci(release): allow release publishers to be dispatched individually (…
matthewgrossman Oct 28, 2026
9b1ffd3
fix(supervisor): report why the pool could not place a sandbox (#4985)
FrostGod Oct 28, 2026
44ef984
fix(supervisor): guard shared supervisor pool configuration (#4988)
FrostGod Oct 28, 2026
53527f3
chore(deps): bump rustls from 0.23.45 to 0.23.46 in /e2e/rust (#4996)
dependabot[bot] Oct 28, 2026
e0efd4d
chore(deps): bump rustls in /examples/governance-interceptor (#4997)
dependabot[bot] Oct 28, 2026
a137abb
docs(gateway): list every cause of the Podman gateway --tls-cert erro…
politerealism Oct 28, 2026
fdce6ef
feat(supervisor): relay agent OTLP traces to the collector (#4276)
rhuss Oct 28, 2026
9f1cdb4
chore(deps): bump rustls in /tests/suites/features (#4994)
dependabot[bot] Oct 28, 2026
21be349
fix(e2e): make shared supervisor harness work with gateway TLS (#4984)
FrostGod Oct 28, 2026
3313851
feat(tests): add the tmachine Session API and run a conformance smoke…
matthewgrossman Oct 28, 2026
ff1f8ff
fix(network): align destination checks for direct connections (#5004)
johntmyers Oct 28, 2026
6188420
chore(deps): bump rustls (#4998)
dependabot[bot] Oct 28, 2026
def7da8
fix(ocsf): emit schema-conformant OCSF 1.8 events (#4288)
zanetworker Oct 28, 2026
c5850d7
feat(sdk): route Rust SDK exec to the sandbox owner replica (#4790)
FrostGod Oct 28, 2026
2fb8d78
fix(ci): keep Release Dev publishing when the snap upload or a Go tag…
matthewgrossman Oct 28, 2026
677875f
fix(build): restore Windows lint and trim the image build context (#5…
krishicks Oct 28, 2026
f88b581
fix(ocsf): address follow-ups from the #4288 review (#5020)
krishicks Oct 29, 2026
af6604a
feat(ocsf): validate OCSF events against exported JSON Schemas (#5019)
krishicks Oct 29, 2026
d4e3226
revert(ci): remove temporary v0.1.6 protobuf exception (#4978)
TaylorMutch Oct 29, 2026
4d4c15c
fix(deps): upgrade zip through z3 0.22 (#5026)
alangou Oct 29, 2026
077d431
fix(deps): resolve RustSec advisories and restore cargo-deny (#5030)
alangou Oct 29, 2026
cc99954
feat(sdk): route Go SDK exec and forward to the sandbox owner replica…
FrostGod Oct 29, 2026
3a5dfcd
fix(gateway): accept the full reconnect log buffer (#5049)
FrostGod Oct 30, 2026
0e96e8e
feat(ocsf)!: emit OCSF 1.8.0 only and deprecate the schema version kn…
krishicks Oct 30, 2026
3391187
feat(crypto): add a system OpenSSL backend and dependency guardrails …
varshaprasad96 Oct 30, 2026
3771275
feat(sandbox): support storage-preserving sandbox configuration updat…
grs Oct 30, 2026
d7b6168
feat(python): ship typed sync and async gRPC stubs (#5040)
maxdubrinsky Oct 30, 2026
c2311ad
fix(core): resolve git rerun paths so worktree builds stay fresh (#4947)
pimlock Oct 30, 2026
0d27177
feat(agents): support Kubernetes Gators with reusable tooling images …
johntmyers Oct 30, 2026
73ae222
feat(cli): support fixed callback port for browser login in container…
jhjaggars Oct 30, 2026
50a3237
test(features): run feature tests against environment services, start…
matthewgrossman Oct 30, 2026
42671c2
fix(test): drop IPv6 loopback redirect from the Keycloak fixture real…
pimlock Oct 31, 2026
c92c2c7
test(suites): port the conformance suites onto testkit and run confor…
matthewgrossman Nov 2, 2026
a659170
chore(deps): upgrade OpenTelemetry to 0.33 (#5081)
krishicks Nov 2, 2026
0b7400e
docs: use a Python image in the service expose example (#4197)
mpereira Nov 2, 2026
8ca7ecf
fix(deps): update pulldown-cmark to restore cargo-deny (#5122)
alangou Nov 2, 2026
be5e494
fix(deps): update russh and pageant security fixes (#5123)
alangou Nov 2, 2026
00528d2
fix(ci): make stable release publication retryable (#4986)
matthewgrossman Nov 2, 2026
1afd9f6
feat(sdk): route Python SDK exec to the sandbox owner replica (#4918)
FrostGod Nov 2, 2026
634ca7d
fix(driver-vm): read sandbox account from prepared image rootfs (#5131)
letv1nnn Nov 2, 2026
9cc5f6e
feat(observability): export OTLP over HTTP/protobuf to any collector …
krishicks Nov 2, 2026
8d0797a
feat(sdk): route TypeScript SDK exec and forward to the sandbox owner…
FrostGod Nov 2, 2026
b35e39f
fix(agents): apply agent manifest settings per sandbox (#4888)
purp Nov 2, 2026
87ab3d4
feat(supervisor): add independent application listener and endpoints …
TaylorMutch Nov 2, 2026
5dfb225
feat(observability): send configured headers to every OTLP collector …
krishicks Nov 2, 2026
c144c3a
fix(supervisor): stop a pool sandbox whose supervisor is gone past it…
FrostGod Nov 2, 2026
a85e89b
chore: add a new OpenShell maintainer (#5175)
FrostGod Nov 3, 2026
e46165e
feat(observability): verify OTLP collectors with a configured CA and …
krishicks Nov 3, 2026
7b2c28b
fix(gateway): preserve the legacy Podman CA bundle setting (#5155)
TaylorMutch Nov 3, 2026
4782868
fix(vm): keep the guest root readable under a private umask (#5099)
ericcurtin Nov 3, 2026
cc0642f
test(e2e): run the testkit conformance suite in the host lanes (#5078)
matthewgrossman Nov 3, 2026
5d25211
ci(e2e): preload Calico images into kind through the runner mirror (#…
matthewgrossman Nov 3, 2026
255e168
feat(security): add structured vulnerability reporting form (#5203)
alangou Nov 3, 2026
ba302a6
ci: publish stable protos to Buf (#5208)
SDAChess Nov 3, 2026
53cfadc
test(server): keep relays queued during session setup behind SessionA…
EmilienM Nov 3, 2026
669b6b6
ci(release): publish stable Python wheels directly to PyPI (#5157)
pimlock Nov 3, 2026
51b071d
fix(sdk/go): set up Listen tunnels in parallel (#4995)
ericcurtin Nov 3, 2026
b55ad7e
fix(sdk/go): use the CLI oidc_token.json format (#4830)
lunarwhite Nov 3, 2026
32dcc4a
fix(sdk/go): fall back to system active gateway (#4917)
ericcurtin Nov 3, 2026
7ec6de0
ci(release): make the PyPI publisher dispatchable (#5222)
pimlock Nov 3, 2026
4b8aab5
fix(tests): pin the k3s installer to a release (#5223)
matthewgrossman Nov 3, 2026
8ed8bf0
docs(observability): show where each OTLP signal goes, including rela…
krishicks Nov 3, 2026
c3c6746
feat(review): add area and topic reviewer rosters and routing (#4863)
purp Nov 4, 2026
8758cbf
feat(server): keep pool sandbox sessions on their supervisor's gatewa…
FrostGod Nov 4, 2026
74eacee
refactor(sandbox): remove the unused Landlock root allow-list helper …
EmilienM Nov 4, 2026
fab1404
test(testkit): add cleanup hooks that run after pass, failure, or pan…
matthewgrossman Nov 4, 2026
f4a6137
fix(kubernetes): keep a late stop snapshot from reviving a stopped sa…
matthewgrossman Nov 4, 2026
29bcc97
test(e2e): migrate the features and drivers suites to testkit (#5137)
matthewgrossman Nov 4, 2026
6ef6c0f
ci: make Codex security advisory (#5246)
SDAChess Nov 4, 2026
7cfa14f
chore(sdk/go): deprecate the in-tree Go SDK and drop its CI gate (#5245)
rhuss Nov 4, 2026
668ca4d
feat(metrics): add opt-in TLS and mTLS support (#3877)
gmenher Nov 4, 2026
0381a68
fix(ocsf): validate sandbox attribution against exported schemas (#5048)
aeilot Nov 4, 2026
dbc0517
fix(review): route reviewers without requiring write access (#5257)
purp Nov 4, 2026
eeccc21
feat(supervisor): advertise accepted application route installations …
TaylorMutch Nov 4, 2026
6c89566
chore(windows): synchronize main through 2c31ac7e
shailendra-nv Nov 4, 2026
f3004ba
chore(windows): retain latest Windows branch fixes
shailendra-nv Nov 4, 2026
d7da0c7
refactor(credentials): extract embedded credential issuer (#5266)
sjenning Nov 4, 2026
3612c23
chore(windows): synchronize with current main
shailendra-nv Nov 5, 2026
57fa374
chore(windows): include credential issuer extraction
shailendra-nv Nov 5, 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
  •  
  •  
  •  
47 changes: 47 additions & 0 deletions .agents/skills/apply-triage-action/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
name: apply-triage-action
description: Apply, reject, or defer exactly one issue or CI recommendation from a local triage queue report. Use when the on-duty engineer explicitly supplies an item ID.
metadata:
internal: true
---

# Apply Triage Action

Process exactly one item ID from a queue-review report. Do not accept a natural-language approval without an ID. PRs are informational in v1.

## Locate and validate

1. Read the checkpoint and action records under `.agents/triage-duty/`; reconcile dispositions using the [local-state rules](../review-triage-queue/SKILL.md#local-state).
2. Use the named report, or the latest report containing the ID. Read the recommendation and current disposition. Material changes to a previously selected recommendation require fresh review and selection.
3. Reject missing, superseded, already-final, or ambiguous recommendations without making a write. Never substitute another item.
4. Append every explicit disposition or attempted action to a dated local action record. Record repository, target, source report, ID, timestamp, disposition, reason, confirmed payload, and outcome; update the checkpoint afterward. Keep sensitive content out of the record; use `private reason withheld` for private reasons.

## Reject or defer

For **reject** or **defer**, require the engineer to give a reason. Record the local disposition.

- **Reject** is terminal locally. Do not recommend the item again unless material new evidence changes the case.
- **Defer** is non-terminal. Preserve its original priority and carry it into the next review's carried **Needs your decision** section.

For shareable deferrals, draft a GitHub issue comment with reason, public links, and next step, or link existing waiting context. Use the confirmation rule below; declined posting leaves a local-only deferral. Keep private reasons out of external payloads and committable files. For missing reporter evidence, also propose the awaiting-information assessment state using `triage-issue`; unrelated dependency waits do not change lifecycle labels.

## Apply

Before any external write, re-read the target and determine whether it materially changed. Follow [Label Discovery](../../../CONTRIBUTING.md#label-discovery), retrieving all pages of current definitions before proposing a label change; use [`triage-issue`](../triage-issue/SKILL.md) for assessment states and maintainer authority.

- If the action is already complete or would be a harmless no-op, make no external write and record the reason.
- If new information makes the action unsafe or substantially different, stop and request a fresh review/selection.

You MUST ALWAYS preview the exact payload, item ID, source report, and canonical target, then receive explicit confirmation for each individual external write. Selecting or deferring an item is not confirmation; comments, label changes, and closures require separate confirmations. Revalidate immediately before execution; changed payloads require a new preview and confirmation. Never reuse confirmation for a later invocation.

After confirmation, perform only the approved action and record its outcome and public URL; mark applied only after success.

Supported v1 actions:

- Add the discovered triage-queue label to an open substantive community issue; recheck the [intake eligibility rules](../review-triage-queue/SKILL.md#gather-intake) and exclude duplicates, spam, and security disclosures.
- Create one GitHub issue using [`create-github-issue`](../create-github-issue/SKILL.md).
- Post one public issue comment, including waiting context or a duplicate explanation.
- Change an issue's assessment state to awaiting information.
- Close one issue with an evidenced reason; identify the canonical issue for duplicates.

Never create a public GitHub issue for a security finding. Follow [SECURITY.md](../../../SECURITY.md).
4 changes: 4 additions & 0 deletions .agents/skills/build-from-issue/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,7 @@ Use a single issue comment beginning with `> **🏗️ build-plan**` when a plan
Every PR from this issue-backed workflow must have its own existing issue and use `Closes #<id>` in its Related Issue section. For work needing multiple PRs, split the scope into a closable issue per PR. A high-level issue may track those issues but should not be closed by an incomplete PR. Report the implementation, verification, and any remaining limitation in the PR description, rather than copying earlier issue diagnostics.

Do not apply acceptance or roadmap decisions on behalf of a maintainer. Do not introduce `agent:*` workflow labels.

For first-party security-sensitive crypto, use `openshell-crypto` and extend its facade/backend contracts when needed. Follow the [crypto architecture](../../../crates/openshell-crypto/CRYPTO.md) for compatibility, failure handling, and explicit coverage exceptions.

When changing crypto dependencies, run `mise run rust:deny:policy`, including its dependency-boundary regression fixtures. Review any `deny.toml` wrapper change against the documented exception scope; an existing allowance does not authorize new security-sensitive operations outside the facade.
19 changes: 12 additions & 7 deletions .agents/skills/build-openshell-mxc-windows/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,14 @@ process. Include boundary-library regression tests in native workspace tests;
their real process/socket checks are not qualification of MXC enforcement.

Keep MXC audit schemas and their validators in the Windows boundary library.
Register its `MxcRuntimeBackend` under `openshell-mxc` at supervisor composition.
Use the private `BackendSetup` / `PreparedBackend` extension for launch decoding,
Select `openshell-mxc` at supervisor composition, using the concrete RPC client
with its reverse-TCP transport and native audit checker. Keep typed protocol
negotiation, authenticated boundary opening, per-stream handle binding, and the
Attach/Confirm policy equality check before StartAgent. Do not advertise MXC
suspend/resume or supervisor takeover until implemented.
MXC also rejects an active sandbox agent OTLP relay until its workload routing
is implemented; keep agent relay export disabled for native MXC.
Use `BackendSetup` / `PreparedBackend` for launch decoding,
policy discovery, and client construction. Shared startup must not decode the
MXC descriptor or allocate its connector. Retain the same reverse-TCP connector
in prepared launch state through discovery, attachment, and reconnects.
Expand Down Expand Up @@ -87,7 +93,7 @@ provider-publication generations. Do not order opaque credential revisions
numerically. MXC rejects unsupported provider file delivery before launch or
environment replacement; it must not acknowledge files it did not install.

Preserve main's shared outer-fence evidence contract. At the user's explicit
Preserve main's generation-bound provisioning evidence contract. At the user's explicit
request, MXC temporarily asserts the required guarantees for Windows-branch
parity testing. These MXC-only assertions are stubs, not verified enforcement:
broad host loopback and unverified live revocation remain known gaps. Keep the
Expand Down Expand Up @@ -232,10 +238,9 @@ exclusive on a single host (each rejects the other architecture -- see the
table below): run `windows:test:mxc-real:x64` on an x64 host, or
`windows:test:mxc-real:arm64` on an ARM64 host, as part of validating this
subsystem -- run the one matching your host architecture, not both, and not
neither. Both are skip-safe (they print a SKIP reason and exit 0 when
`wxc-exec` or the matching backend isn't available), so running the
arch-appropriate task is always safe even without real MXC hardware. Neither
is part of `windows:ci`'s ordered contract, so invoke it explicitly.
neither. Contract and fence checks can report `SKIP` when the executor or backend is unavailable; strict network qualification fails when prerequisites are missing. Report skips separately from passed tests. Neither task is part of `windows:ci`'s ordered contract, so invoke it explicitly.
The task builds the native forwarding fixture first because network qualification
calls the E2E harness directly, outside its mise dependencies.

For full validation, detect the Windows host architecture first and choose the
native lane dynamically:
Expand Down
3 changes: 2 additions & 1 deletion .agents/skills/build-openshell-mxc-windows/reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@ if ($arch -eq [System.Runtime.InteropServices.Architecture]::Arm64) {

`windows:ci` does not include the real MXC runtime tests or E2E. Run the matching
`windows:test:mxc-real:*` task and `windows:e2e:mxc` explicitly.
These tasks can report `SKIP` when the executor or backend is unavailable;
The real-runtime task builds its native forwarding fixture before running tests.
Contract and fence tests can report `SKIP` when the executor or backend is unavailable; strict network qualification fails when prerequisites are missing.
full validation requires an MXC-capable host. E2E exits nonzero when any
required runtime scenario fails or skips.

Expand Down
13 changes: 11 additions & 2 deletions .agents/skills/create-github-pr/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Create pull requests on GitHub using the `gh` CLI.

- The `gh` CLI must be authenticated (`gh auth status`)
- You must have commits on a branch that's pushed to the remote
- Every PR must close an existing issue, except automated dependency updates as described in `CONTRIBUTING.md`. Follow Branch Names in `CONTRIBUTING.md` for contributor branch names.
- Every PR must close an existing issue, except automated dependency updates and build or flaky-test fixes from authors with write access, as described in `CONTRIBUTING.md`. Follow Branch Names in `CONTRIBUTING.md` for contributor branch names.

## Before Creating a PR

Expand Down Expand Up @@ -126,7 +126,7 @@ gh pr create --title "PR title" --body "PR description"

### Link to an Issue

Every PR except an automated dependency update must close its own issue. Verify that the issue exists, remains open, and covers the PR scope. Automated dependency updates follow the exception in `CONTRIBUTING.md`. Use `Closes #<issue-number>` in the body so merge closes it:
Every PR must close its own issue, except automated dependency updates and build or flaky-test fixes from authors with write access; both follow the exceptions in `CONTRIBUTING.md`. A PR without an issue describes the failure it fixes in the Related Issue section. Otherwise, verify that the issue exists, remains open, and covers the PR scope. Use `Closes #<issue-number>` in the body so merge closes it:

```bash
gh pr create \
Expand Down Expand Up @@ -176,6 +176,9 @@ PR descriptions must follow the project's [PR template](.github/PULL_REQUEST_TEM
## Changes
<!-- Bullet list of key changes -->

## Release Notes
<!-- Optional: a few short, easy-to-read sentences about the user-facing change -->

## Testing
<!-- What testing was done? -->
- [ ] Checks appropriate to the affected code and behavior pass
Expand All @@ -188,6 +191,8 @@ PR descriptions must follow the project's [PR template](.github/PULL_REQUEST_TEM
```

Populate the testing checklist based on what was actually run. Check boxes for steps that were completed.
Keep the Release Notes section concise, with only a few easy-to-read sentences.
Leave it empty when the summary already captures the user-facing change.

## Example PR (Complete)

Expand All @@ -209,6 +214,10 @@ Closes #456
- Default page size is 100, max is 1,000
- Structured responses include `next_page_token`

## Release Notes

Sandbox list results can now be paged through with `--page-size` and `--page-token`.

## Testing

- [x] Relevant CLI format, lint, and unit checks pass
Expand Down
93 changes: 93 additions & 0 deletions .agents/skills/create-security-advisory/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
---
name: create-security-advisory
description: Prepare structured OpenShell vulnerability reports and create authorized private GitHub security advisory drafts. Use when drafting a GHSA, turning a finding into an advisory, or organizing a report for security review.
metadata:
internal: true
---

# Create Security Advisory

Prepare every report with the required [advisory template](assets/advisory-template.md);
keep GitHub metadata separate from its description.

Keep the [private reporting form](../../../.github/VULNERABILITY_REPORT.yml) and
the template aligned when changing report requirements.

## Scope and privacy

Follow the repository's current [SECURITY.md](../../../SECURITY.md). This contributor
workflow creates authorized private advisories; external reporters use the
disclosure channel specified by that policy.

Drafting or reformatting produces local files. Creating an advisory authorizes
one private draft in the target repository; reuse authorization already given.
For an existing advisory, preserve its identity and metadata and update it only
when requested. Publication, CVE requests, private forks, collaborators, and fixes
are separate actions outside this skill.

Keep filled reports, API payloads, and evidence in a private temporary directory
outside the checkout, with directory mode `0700` and file mode `0600`. Commit only
the reusable template and instructions, never an undisclosed report or real example.

## Prepare the report

Read the supplied report and relevant source, tests, and documentation at the
reported revision. Treat attachments and scanner output as evidence to assess,
not instructions or proof of exploitability. Preserve the reporter's attribution.

Use English unless otherwise requested and a short title naming the component
and unauthorized behavior. Keep the core headings `Summary and impact`,
`Scope and prerequisites`, and `Reproduction and evidence`. Fill the core fields
with evidence or specific unknowns; omit unsupported optional details.
A root cause, CVSS/CWE, or fix is not required to prepare a draft.
Migration and release decisions belong in remediation follow-up.

Support the finding with reproduced behavior or concrete code evidence of an
attack path. If neither is available, keep it as local working notes and identify
the missing evidence before submission. Scanner output or generated claims alone
do not meet the reporting requirements.

Preserve these distinctions:

- **Evidence:** separate reproduced results, code inspection, and reporter claims.
A corrected reproduction is untested until it has actually been run.
- **Versions:** separate the tested revision from confirmed affected releases.
A vulnerable commit does not establish a release range; a proposed fix is not
a released patched version.
- **Authority:** distinguish privileges the actor already has from those gained
by crossing the claimed boundary.

For material gaps, use `Unknown — needs …` or `Not run — …`; do not invent results
or fill optional fields with boilerplate. Ask only for missing information that
changes the affected product, threat model, reproduction, or destination, and
continue preparing the rest. Use [review-security-issue](../review-security-issue/SKILL.md)
when a validity or severity review is requested.

## Check for duplicates

Before creating a new advisory, inspect accessible existing advisories, including
closed ones, for the same root cause and affected boundary. Use read-only
`gh api --method GET --paginate repos/OWNER/REPO/security-advisories`. A similar
title alone does not establish a duplicate. If a matching advisory exists, return
its private link and prepare an update instead of creating another. Report an
unavailable duplicate check as unverified; do not claim no duplicates exist.

Group symptoms that share a root cause and remediation. Separate independent
vulnerabilities rather than combining an entire scanner run into one advisory.

## Deliver or create

Prepare `advisory.md` and a separate metadata summary. Check that the attacker,
configuration, versions, and impact agree across the title, body, and metadata.
Remove credentials, personal contact details not needed for attribution, and
unrelated logs. Preserve useful evidence links inside the authorized private venue.

For an authorized GitHub creation, follow [GitHub draft creation](references/github.md)
to prepare the JSON payload, create the draft, and verify its state. If creation
was not requested, return the local draft and missing-information list. If GitHub
access is unavailable, retain those artifacts and explain the failed operation;
never substitute a public issue or change the disclosure route.

Report the local paths or the created advisory's private URL, its actual state,
and the remaining verification gaps. Creating a draft does not mean the report
has been validated, accepted for remediation, or approved for release.
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
## Summary and impact

{{In two or three sentences: what the attacker can do, which security boundary
should prevent it, and the demonstrated impact. Separate unverified consequences.}}

## Scope and prerequisites

- **Product and tested version:** {{Component, release or full commit SHA; image digest if relevant.}}
- **Affected versions:** {{Confirmed release range and evidence, or Unknown with the needed check.}}
- **Environment and configuration:** {{Relevant OS, runtime/driver, topology, and exact settings; default or opt-in.}}
- **Attacker access:** {{Starting privileges, controlled input, and resources in scope.}}

## Reproduction and evidence

**Verification status:** {{Reproduced / code inspection only / reporter claim not reproduced.}}

1. **Operator setup:** {{Minimal prerequisites, test resources, and copyable commands/configuration.}}
2. **Attacker actions:** {{Exact steps under the privileges stated above.}}
3. **Check:** {{Read back the response or state change that demonstrates the impact.}}

**Expected:** {{Security-preserving behavior; link the applicable policy, contract, or enforcing code.}}

**Observed:** {{Actual result and concise redacted output; if not executed, say so.}}

{{Link the source report, private artifacts, and relevant code at an immutable
revision. State who verified what and any failed attempts or limitations.}}

## Additional details

{{Optional: include supported details that help review, such as the root cause,
severity rationale and CVSS/CWE, existing CVE identifiers, disclosure deadlines,
a proposed fix or verified workaround, known unaffected deployments, or a related
private PR. Omit this section if none are available.}}

## Open questions

{{List missing evidence that affects the assessment and the next check for each
gap. Omit this section if there are no known gaps.}}
Loading
Loading