Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Binary file added docs/assets/openshell-research/hero-dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/openshell-research/hero.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 4 additions & 1 deletion docs/dev-notes/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ matter and prose; `python3 scripts/render-dev-notes.py` generates the title,
optional subtitle and hero, author byline, index cards, and navigation.

- Set `categories` to a list containing exactly one of `Announcements`,
`Research`, `Case Studies`, or `Examples`. Use tags for technical topics.
`Research`, `Case Studies`, or `Examples`. Use one `tags` list for specific
technical topics. Omit generic `openshell` and `agents` tags, and use
`agent-security` instead of `security`. Tags feed search metadata; articles
and index cards do not display tag badges.
The renderer rejects missing, unknown, or multiple categories.
- Use `subtitle` for an optional short deck and `hero_image_alt` to describe a
`hero_image`. `hero_image_dark` is optional. Do not copy header HTML from a post.
Expand Down
65 changes: 32 additions & 33 deletions docs/dev-notes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,23 +50,19 @@ hide:
<div class="journal-section__head">
<h2 id="featured-note-title" aria-live="polite" aria-atomic="true">Featured note</h2>
</div>
<article class="dev-note-card dev-note-card--featured dev-note-card--research dev-note-card--has-image" data-category="research" data-authors="[&quot;johnnygreco&quot;]">
<a class="dev-note-card__link" href="posts/2026-09-26-network-redaction-is-not-enough/">
<div class="dev-note-card__visual dev-note-card__visual--research dev-note-card__visual--image" aria-hidden="true">
<img class="dev-note-card__visual-image dev-note-image--light" src="../assets/pi-admission/hero-light.png" alt="" loading="eager" fetchpriority="high">
<img class="dev-note-card__visual-image dev-note-image--dark" src="../assets/pi-admission/hero-dark.png" alt="" loading="eager" fetchpriority="high">
<article class="dev-note-card dev-note-card--featured dev-note-card--announcements dev-note-card--has-image" data-category="announcements" data-authors="[&quot;johnnygreco&quot;]">
<a class="dev-note-card__link" href="posts/2026-09-28-introducing-openshell-research/">
<div class="dev-note-card__visual dev-note-card__visual--announcements dev-note-card__visual--image" aria-hidden="true">
<img class="dev-note-card__visual-image dev-note-image--light" src="../assets/openshell-research/hero.png" alt="" loading="eager" fetchpriority="high">
<img class="dev-note-card__visual-image dev-note-image--dark" src="../assets/openshell-research/hero-dark.png" alt="" loading="eager" fetchpriority="high">
</div>
<div class="dev-note-card__copy">
<div class="dev-note-card__meta">
<time datetime="2026-09-26">September 26, 2026</time>
<span>Research</span>
</div>
<h3>The leak is coming from inside the sandbox</h3>
<p class="dev-note-card__summary">A simple experiment shows why network-layer redaction isn’t enough.</p>
<div class="dev-note-card__tags" aria-label="Tags">
<span>agent-security</span>
<span>runtime-and-harness</span>
<time datetime="2026-09-28">September 28, 2026</time>
<span>Announcements</span>
</div>
<h3>Introducing OpenShell Research</h3>
<p class="dev-note-card__summary">Hello, world—from the OpenShell Research team.</p>
<div class="dev-note-card__footer">
<span class="dev-note-card__authors" aria-label="Author: Johnny Greco">
<img src="https://github.com/johnnygreco.png?size=64" alt="" loading="lazy">
Expand All @@ -84,6 +80,29 @@ hide:
<h2 id="recent-notes-title">Recent notes</h2>
</div>
<div class="dev-notes-recent-list">
<article class="dev-note-card dev-note-card--recent dev-note-card--research dev-note-card--has-image" data-category="research" data-authors="[&quot;johnnygreco&quot;]">
<a class="dev-note-card__link" href="posts/2026-09-26-network-redaction-is-not-enough/">
<div class="dev-note-card__visual dev-note-card__visual--research dev-note-card__visual--image" aria-hidden="true">
<img class="dev-note-card__visual-image dev-note-image--light" src="../assets/pi-admission/hero-light.png" alt="" loading="lazy">
<img class="dev-note-card__visual-image dev-note-image--dark" src="../assets/pi-admission/hero-dark.png" alt="" loading="lazy">
</div>
<div class="dev-note-card__copy">
<div class="dev-note-card__meta">
<time datetime="2026-09-26">September 26, 2026</time>
<span>Research</span>
</div>
<h3>The leak is coming from inside the sandbox</h3>
<p class="dev-note-card__summary">A simple experiment shows why network-layer redaction isn’t enough.</p>
<div class="dev-note-card__footer">
<span class="dev-note-card__authors" aria-label="Author: Johnny Greco">
<img src="https://github.com/johnnygreco.png?size=64" alt="" loading="lazy">
<span class="dev-note-card__author-names">Johnny Greco</span>
</span>
<span class="dev-note-card__read">Read note</span>
</div>
</div>
</a>
</article>
<article class="dev-note-card dev-note-card--recent dev-note-card--research dev-note-card--has-image" data-category="research" data-authors="[&quot;zredlined&quot;]">
<a class="dev-note-card__link" href="posts/2026-09-10-learning-formal-methods-agent-policy-prover/">
<div class="dev-note-card__visual dev-note-card__visual--research dev-note-card__visual--image" aria-hidden="true">
Expand All @@ -96,11 +115,6 @@ hide:
</div>
<h3>What we have learned applying formal methods to control AI agents</h3>
<p class="dev-note-card__summary">An intro to using formal methods to reason about permission changes in long-running AI agents.</p>
<div class="dev-note-card__tags" aria-label="Tags">
<span>formal-methods</span>
<span>z3</span>
<span>agents</span>
</div>
<div class="dev-note-card__footer">
<span class="dev-note-card__authors" aria-label="Author: Alex Watson">
<img src="https://github.com/zredlined.png?size=64" alt="" loading="lazy">
Expand All @@ -123,11 +137,6 @@ hide:
</div>
<h3>Adversarial prototype: AI policy auto-approval for long-horizon agents in OpenShell</h3>
<p class="dev-note-card__summary">Can an attacker agent convince an equally capable reviewer agent to grant a capability that is explicitly prohibited?</p>
<div class="dev-note-card__tags" aria-label="Tags">
<span>agents</span>
<span>policy</span>
<span>security</span>
</div>
<div class="dev-note-card__footer">
<span class="dev-note-card__authors" aria-label="Author: Alex Watson">
<img src="https://github.com/zredlined.png?size=64" alt="" loading="lazy">
Expand All @@ -150,11 +159,6 @@ hide:
</div>
<h3>Can Formal Methods Govern AI-Generated Robot Actions?</h3>
<p class="dev-note-card__summary">A robotics experiment asks whether an independent, SMT-backed policy boundary can efficiently govern AI-generated plans before they reach a simulated or physical robot.</p>
<div class="dev-note-card__tags" aria-label="Tags">
<span>physical-ai</span>
<span>formal-methods</span>
<span>policy</span>
</div>
<div class="dev-note-card__footer">
<span class="dev-note-card__authors" aria-label="Author: Alex Watson">
<img src="https://github.com/zredlined.png?size=64" alt="" loading="lazy">
Expand All @@ -177,11 +181,6 @@ hide:
</div>
<h3>Bringing Privacy and Security to the Edge with OpenShell</h3>
<p class="dev-note-card__summary">Edge agents handle sensitive data and make decisions with physical consequences. Reachy Mini shows why privacy and safety controls must be deterministic and local.</p>
<div class="dev-note-card__tags" aria-label="Tags">
<span>edge-ai</span>
<span>reachy-mini</span>
<span>policy</span>
</div>
<div class="dev-note-card__footer">
<span class="dev-note-card__authors" aria-label="Author: Kirit Thadaka">
<img src="https://github.com/kirit93.png?size=64" alt="" loading="lazy">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,13 @@ categories:
- Examples
tags:
- reachy-mini
- openshell
- edge-ai
- sandbox
- robotics
- policy
authors:
- kirit93
card_tags:
- edge-ai
- reachy-mini
- policy

---

<!-- dev-note:header:start -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,13 @@ social_image: "assets/robotics-policy-prover/robotics-policy-prover-hero.png"
categories:
- Research
tags:
- openshell
- robotics
- physical-ai
- formal-methods
- policy
- agents
authors:
- zredlined
card_tags:
- physical-ai
- formal-methods
- policy

---

<!-- dev-note:header:start -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,12 @@ social_image: "assets/long-horizon-agent-evals/back-and-forth-by-session.png"
categories:
- Research
tags:
- openshell
- agents
- policy
- security
- agent-security
- long-horizon
authors:
- zredlined
card_tags:
- agents
- policy
- security

---

<!-- dev-note:header:start -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,12 @@ social_image: "assets/agent-policy-prover/hero-concept.png"
categories:
- Research
tags:
- openshell
- formal-methods
- z3
- agents
- security
- agent-security
authors:
- zredlined
card_tags:
- formal-methods
- z3
- agents

---

<!-- dev-note:header:start -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,13 @@ hero_image_dark: "../../assets/pi-admission/hero-dark.png"
categories:
- Research
tags:
- openshell
- agent-security
- runtime-and-harness
- redaction
- pi
authors:
- johnnygreco
card_tags:
- agent-security
- runtime-and-harness

---

<!-- dev-note:header:start -->
Expand Down
73 changes: 73 additions & 0 deletions docs/dev-notes/posts/2026-09-28-introducing-openshell-research.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
title: "Introducing OpenShell Research"
date: 2026-09-28
description: "Hello, world—from the OpenShell Research team."
subtitle: "Hello, world—from the OpenShell Research team."
author: "Johnny Greco"
agent_markdown: true
social_image: "assets/openshell-research/hero.png"
hero_image: "../../assets/openshell-research/hero.png"
hero_image_dark: "../../assets/openshell-research/hero-dark.png"
hero_image_alt: "The OpenShell logo and Research label surrounded by green network nodes and translucent boundaries."
authors:
- johnnygreco
categories:
- Announcements
tags:
- agent-security
---

<!-- dev-note:header:start -->

<!-- Generated by scripts/render-dev-notes.py; edit front matter and authors.json. -->

<div class="dev-note-header" markdown="1">

# Introducing OpenShell Research

<p class="dev-note-deck">Hello, world—from the OpenShell Research team.</p>

<figure class="dev-note-figure dev-note-figure--hero">
<a class="dev-note-image--light" href="../../assets/openshell-research/hero.png" aria-label="View full-size image: The OpenShell logo and Research label surrounded by green network nodes and translucent boundaries."><img src="../../assets/openshell-research/hero.png" alt="The OpenShell logo and Research label surrounded by green network nodes and translucent boundaries." loading="eager" fetchpriority="high"></a>
<a class="dev-note-image--dark" href="../../assets/openshell-research/hero-dark.png" aria-label="View full-size image: The OpenShell logo and Research label surrounded by green network nodes and translucent boundaries."><img src="../../assets/openshell-research/hero-dark.png" alt="The OpenShell logo and Research label surrounded by green network nodes and translucent boundaries." loading="eager" fetchpriority="high"></a>
</figure>

</div>

<!-- dev-note:byline:start -->
<!-- Generated by scripts/render-dev-notes.py; edit front matter and authors.json. -->
<div class="dev-note-byline">
<div class="dev-note-byline__authors" aria-label="Author: Johnny Greco">
<a class="dev-note-byline__author" href="../index.md?author=johnnygreco">
<img src="https://github.com/johnnygreco.png?size=96" alt="" loading="lazy">
<span class="dev-note-byline__copy">
<strong>Johnny Greco</strong>
<span>OpenShell Team @ NVIDIA</span>
</span>
</a>
</div>
<p class="dev-note-byline__label">
<span>Dev Note</span>
<time datetime="2026-09-28">September 28, 2026</time>
<a href="../index.md?category=announcements">Announcements</a>
</p>
</div>
<!-- dev-note:byline:end -->

<!-- dev-note:header:end -->

<p class="dev-note-greeting"><span><span class="dev-note-greeting__prompt">&gt;_</span> Hello, world!</span></p>

Today we announced the [NVIDIA Open Agent Safety Platform](https://developer.nvidia.com/blog/nvidia-open-agent-safety-platform-a-reference-for-continuous-in-silicon-agent-monitoring), which runs on the open-source OpenShell platform. This feels like a great opportunity to introduce our team — **OpenShell Research**. We’re a cross-functional team of researchers, engineers, and product managers working together to shape OpenShell’s roadmap and advance the safe and secure use of autonomous AI agents in the enterprise and beyond.

We believe AI agents have enormous potential to deliver value and help people, but realizing this potential requires understanding and limiting the harm they can cause. And as agents become more capable, the risks of deploying them evolve, which is why we started this team — to ensure OpenShell keeps pace with the demands of safe agent deployment. Our initial research efforts will span harness integrations, long-running and multi-agent systems, adversarial testing, policy verification using formal methods, and applications in robotics. We’ll build prototypes, run benchmarks and large-scale experiments, and turn what we learn into dependable OpenShell capabilities — we’re just getting started!

We also believe that open research is essential to making AI safe. This is why we are committed to working with the open-source community and building in public. [Dev Notes](../index.md) is where we’ll share our latest research, announcements, and the implementation lessons we learn along the way. When it makes sense to share (and maintain) code, we’ll put it in our [OpenShell Research repo](https://github.com/NVIDIA/OpenShell-Research). All code used in our research is always available upon request.

<div class="dev-note-section-heading--compact" markdown="1">

## Join us

</div>

We’re hiring! We are actively looking for researchers and engineers who love to build and are passionate about pushing the boundaries of what’s possible through open research. If this sounds like you, please reach out and consider [applying to join our team](https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite/job/US-Remote/Software-Engineer--OpenShell_JR2020825).
6 changes: 4 additions & 2 deletions docs/development/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,10 @@ The renderer validates this list before updating any generated content. Missing,
unknown, or multiple categories fail the build with an author-facing error.
Categories appear consistently on index cards and article bylines. Categories
remain available even when they have no posts; do not create placeholder notes.
Use tags for subject areas such as robotics, formal methods, or agent security.
Use one `tags` list for specific topics such as `robotics`, `formal-methods`, or
`agent-security`. Avoid generic `openshell` and `agents` tags; use
`agent-security` consistently instead of `security`. Tags feed site search
metadata; articles and index cards do not display tag badges.

Readers can combine category and author filters on the Dev Notes index. The
renderer derives the author menu from every post's author IDs and always includes
Expand All @@ -76,7 +79,6 @@ Back/Forward navigation. Article byline names and categories link to these
filtered views. Empty combinations show a message and a clear-filters action.
Keep the full index readable when JavaScript is unavailable.

The renderer uses `card_tags` as the card's tags, falling back to `tags`.
An optional `card_variant` must have matching card and
artwork CSS modifiers in `docs/stylesheets/dev-notes.css`. Set `hero_image` to
an image path relative to the post, and describe it with `hero_image_alt`. The
Expand Down
Loading
Loading