Skip to content

OSEP (OpenSandbox Enhancement Proposals)

Use this directory to draft, review, and store enhancement proposals before they undergo broader discussion.

NOTE

The OSEP process and template structure is inspired by Tekton Enhancement Proposals (TEPs).

IMPORTANT

When is an OSEP required?

Use the OSEP process for changes that:

  • Introduce new features or major enhancements
  • Modify the core sandbox API or runtime behavior
  • Affect the security model or isolation guarantees

Small bug fixes, documentation updates, and minor refactors can be submitted directly as Pull Requests without an OSEP.

Getting started

  1. Run the init script to create a new proposal:

    bash
    oseps/init-osep.sh "Proposal Title"

    This copies the template, fills in metadata, and creates a sequentially numbered 0001-proposal-title.md draft.

  2. Fill in each section from the template (Summary, Motivation, …).

  3. Once ready, submit the resulting file in a PR for community review.

Available options:

bash
oseps/init-osep.sh --help
oseps/init-osep.sh --status provisional --author "@username" "My Feature"

Template

The template used for new proposals lives at oseps/osep-template.md.template and mirrors Tekton's TEP structure while capturing the key sections needed for OpenSandbox planning. Each generated file starts with YAML front matter followed by the title and TOC:

yaml
---
title: My First Proposal
authors:
  - "@your-github-handle"
creation-date: 2025-12-21
last-updated: 2025-12-21
status: draft
---

# OSEP-0001: My First Proposal

<!-- toc -->
- [Summary](#summary)
...
<!-- /toc -->

This YAML front matter renders as a table on GitHub and keeps the proposal metadata (status, authors, dates) visible at the top of the document.

Status lifecycle

StatusDescription
draftWork in progress; not yet under formal review.
provisionalMaintainers agree with the direction; design details still pending.
implementableDesign approved and compliance checks passed; ready for implementation.
implementingCode is being merged and SDKs are being synchronized.
implementedFeature has reached GA status with complete documentation.
withdrawnAuthor has withdrawn the proposal.
rejectedMaintainers have declined the proposal.

此页内容来自仓库源文件:oseps/README.md