Skip to content

Commit e344f86

Browse files
committed
Prepare OEBP community baseline
0 parents  commit e344f86

152 files changed

Lines changed: 13270 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Bug report
2+
description: Report a bug in docs, schemas, examples, or tooling.
3+
title: "[Bug]: "
4+
labels: ["bug", "needs-triage"]
5+
body:
6+
- type: textarea
7+
id: observed
8+
attributes:
9+
label: Observed Behavior
10+
validations:
11+
required: true
12+
- type: textarea
13+
id: expected
14+
attributes:
15+
label: Expected Behavior
16+
validations:
17+
required: true
18+
- type: textarea
19+
id: reproduce
20+
attributes:
21+
label: Reproduction
22+
description: Include files, commands, schema paths, or JSON pointers when possible.
23+
- type: textarea
24+
id: impact
25+
attributes:
26+
label: Impact
27+
description: Explain whether this affects interoperability, validation, safety, or conformance.
28+

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: Security and safety report
4+
url: https://github.com/Cybefutu/embodied-behavior-protocol/security/advisories/new
5+
about: Report validator bypasses, unsafe semantics, registry poisoning, or adapter abuse privately.
6+
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Interoperability report
2+
description: Report how OEBP maps to a robot, simulator, middleware, or dataset.
3+
title: "[Interop]: "
4+
labels: ["interoperability", "needs-triage"]
5+
body:
6+
- type: input
7+
id: target
8+
attributes:
9+
label: Target
10+
description: Robot, simulator, middleware, dataset, SDK, or adapter.
11+
validations:
12+
required: true
13+
- type: textarea
14+
id: mapping
15+
attributes:
16+
label: Mapping
17+
description: Which OEBP concepts map cleanly, and which do not?
18+
validations:
19+
required: true
20+
- type: textarea
21+
id: gaps
22+
attributes:
23+
label: Gaps
24+
description: Missing capabilities, ambiguous semantics, safety issues, or schema limitations.
25+
- type: textarea
26+
id: evidence
27+
attributes:
28+
label: Evidence
29+
description: Links to examples, logs, traces, fixtures, demos, or implementation notes.
30+
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Standards proposal
2+
description: Propose a protocol, schema, registry, or conformance change.
3+
title: "[Proposal]: "
4+
labels: ["proposal", "needs-triage"]
5+
body:
6+
- type: textarea
7+
id: problem
8+
attributes:
9+
label: Problem
10+
description: What interoperability, explainability, safety, or data problem does this solve?
11+
validations:
12+
required: true
13+
- type: textarea
14+
id: proposal
15+
attributes:
16+
label: Proposal
17+
description: Describe the semantic change.
18+
validations:
19+
required: true
20+
- type: textarea
21+
id: examples
22+
attributes:
23+
label: Examples
24+
description: Include valid or invalid examples if available.
25+
- type: textarea
26+
id: compatibility
27+
attributes:
28+
label: Compatibility
29+
description: Describe migration or versioning impact.
30+
- type: textarea
31+
id: conformance
32+
attributes:
33+
label: Conformance Plan
34+
description: What tests, fixtures, schemas, or adapters should prove this works?
35+

.github/pull_request_template.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
## Summary
2+
3+
What changed, and why?
4+
5+
## Type
6+
7+
- [ ] Editorial/documentation
8+
- [ ] Specification semantics
9+
- [ ] Schema or fixture
10+
- [ ] Registry
11+
- [ ] Validator/conformance
12+
- [ ] Adapter/binding
13+
- [ ] Governance/process
14+
15+
## Interoperability Impact
16+
17+
Describe how this affects cross-embodiment behavior, adapters, datasets, or conformance.
18+
19+
## Safety and Security Impact
20+
21+
Describe new risks, trust boundaries, or validation requirements.
22+
23+
## Checklist
24+
25+
- [ ] Normative text and schemas agree.
26+
- [ ] Examples or fixtures were updated when behavior changed.
27+
- [ ] Compatibility impact is described.
28+
- [ ] Related RFCs, ADRs, or issues are linked.
29+

.github/workflows/ci.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: OEBP CI
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- main
8+
9+
jobs:
10+
conformance:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Check out repository
14+
uses: actions/checkout@v4
15+
16+
- name: Set up Python
17+
uses: actions/setup-python@v5
18+
with:
19+
python-version: "3.11"
20+
21+
- name: Compile Python sources
22+
run: python -m py_compile scripts/create_training_data.py scripts/run_conformance.py scripts/check_fixtures.py scripts/validate_oebp.py src/oebp/*.py
23+
24+
- name: Run unit tests
25+
run: python -m unittest discover -s tests
26+
27+
- name: Check fixtures
28+
run: python scripts/check_fixtures.py
29+
30+
- name: Run conformance suite
31+
run: python scripts/run_conformance.py --json
32+
33+
- name: Create training-data views
34+
run: python scripts/create_training_data.py --output-dir /tmp/oebp-training
35+
36+
- name: Check whitespace
37+
run: git diff --check
38+
39+
- name: Check ASCII repository content
40+
run: |
41+
if grep -R -n -P '[^\x00-\x7F]' README.md docs scripts src tests datasets examples pyproject.toml; then
42+
exit 1
43+
fi

.gitignore

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# OS and editor files
2+
.DS_Store
3+
*.swp
4+
*.swo
5+
6+
# Python
7+
__pycache__/
8+
*.py[cod]
9+
.pytest_cache/
10+
.mypy_cache/
11+
.ruff_cache/
12+
.venv/
13+
venv/
14+
15+
# Node
16+
node_modules/
17+
npm-debug.log*
18+
19+
# Build and coverage
20+
build/
21+
dist/
22+
coverage/
23+
.coverage
24+
25+
# Local artifacts
26+
.env
27+
.env.*
28+
tmp/
29+

CITATION.cff

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
cff-version: 1.2.0
2+
message: "If you use OEBP in research, please cite the repository until a formal specification release is published."
3+
title: "Open Embodied Behavior Protocol"
4+
version: "0.1.0-proposal"
5+
date-released: "2026-06-16"
6+
authors:
7+
- name: "OEBP Contributors"
8+
repository-code: "https://github.com/Cybefutu/embodied-behavior-protocol"
9+
license: "Apache-2.0 AND CC-BY-4.0"
10+

CODE_OF_CONDUCT.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Code of Conduct
2+
3+
OEBP is an open technical collaboration. Participants are expected to keep
4+
discussion respectful, specific, and useful.
5+
6+
## Expected Behavior
7+
8+
- Assume good intent while still asking for evidence.
9+
- Critique ideas, designs, and implementations, not people.
10+
- Make technical disagreement concrete and testable.
11+
- Welcome newcomers and explain project context when needed.
12+
- Respect different robotics backgrounds, regions, languages, and institutions.
13+
14+
## Unacceptable Behavior
15+
16+
- Harassment, threats, insults, or personal attacks.
17+
- Dismissive comments based on identity, affiliation, nationality, language, or experience level.
18+
- Publishing private information without consent.
19+
- Repeated disruption after maintainers ask for a change in behavior.
20+
21+
## Enforcement
22+
23+
Maintainers may edit, hide, or remove comments; close discussions; restrict
24+
participation; or escalate to platform moderation when needed. Enforcement
25+
decisions should be documented privately by maintainers and summarized publicly
26+
when doing so improves trust without exposing private information.
27+

CONTRIBUTING.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Contributing to OEBP
2+
3+
OEBP is trying to become an open, explainable, composable, cross-embodiment
4+
behavior protocol. Contributions are welcome from robotics researchers,
5+
robot vendors, middleware maintainers, dataset builders, safety reviewers, and
6+
application developers.
7+
8+
## Contribution Types
9+
10+
- Specification clarifications and normative wording.
11+
- JSON Schemas, fixtures, semantic validators, and conformance tests.
12+
- Core skill, predicate, error, capability, and trace registry entries.
13+
- Mock, simulation, ROS 2, gRPC, SDK, and robot-specific adapters.
14+
- Dataset annotation and conversion utilities.
15+
- Security, safety, threat-model, and governance improvements.
16+
- Documentation, tutorials, diagrams, examples, and translations.
17+
18+
## Working Rules
19+
20+
- Prefer small, reviewable pull requests.
21+
- Explain the interoperability problem before proposing a new abstraction.
22+
- Use RFC-style terms consistently: MUST, MUST NOT, SHOULD, SHOULD NOT, MAY.
23+
- Keep protocol semantics separate from implementation-specific behavior.
24+
- Do not embed arbitrary executable code in core protocol documents.
25+
- Treat model-generated behavior proposals as untrusted data.
26+
- Add conformance fixtures for semantic changes whenever possible.
27+
- Keep extension points namespaced under an owned namespace.
28+
29+
## When To Use an RFC
30+
31+
Open an RFC for changes that affect:
32+
33+
- protocol semantics;
34+
- canonical identifiers;
35+
- behavior graph execution rules;
36+
- safety or trust boundaries;
37+
- schema compatibility;
38+
- conformance requirements;
39+
- registry graduation from extension to core.
40+
41+
Small editorial fixes, examples, tests, and non-normative documentation can be
42+
submitted directly as pull requests.
43+
44+
## Pull Request Checklist
45+
46+
- The problem statement is clear.
47+
- The change is scoped to one topic.
48+
- Normative text and schemas agree.
49+
- Valid and invalid examples are updated when behavior changes.
50+
- Security and safety implications are described.
51+
- Compatibility impact is stated.
52+
- Related RFCs or ADRs are linked.
53+
54+
## Review Culture
55+
56+
OEBP favors precise disagreement over vague approval. Reviewers should identify
57+
ambiguity, cross-embodiment failure modes, hidden implementation assumptions,
58+
and missing tests. Authors should expect iteration on terminology and scope.
59+

0 commit comments

Comments
 (0)