Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
73 changes: 70 additions & 3 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,80 @@ body:
validations:
required: true

- type: markdown
attributes:
value: |
## Proposal Details

Answer each required proposal-detail field.
If a field does not apply, enter `Not applicable` and explain why.
If the answer is unknown, enter `Unknown` and state what must be decided.

- type: textarea
id: constraints
attributes:
label: Constraints and Non-goals
description: List only current constraints or exclusions that materially change the solution.
label: Scope and Exclusions
description: |
State what the proposal includes and excludes.
List current constraints that materially change the solution.
validations:
required: false
required: true

- type: textarea
id: ownership
attributes:
label: Ongoing Ownership
description: |
Who will maintain this contribution after merge?
Name the proposed person or team.
validations:
required: true

- type: textarea
id: placement_support
attributes:
label: Placement and Support Expectations
description: |
Request placement in core NemoClaw or NemoClaw Community.
State the support expected after merge.
Maintainers make the final placement and support decision.
Refer to [Community Solutions](https://github.com/NVIDIA/NemoClaw/blob/main/docs/resources/community-contributions.mdx).
validations:
required: true

- type: textarea
id: validation_plan
attributes:
label: Validation Plan
description: |
List the tests, documentation, security analysis, compatibility evidence,
or runtime validation required to evaluate this proposal.
validations:
required: true

- type: textarea
id: compatibility
attributes:
label: Compatibility Requirements
description: |
List the versions, operating systems, hardware, providers, and runtimes
that this proposal is expected to work with. State any exclusions.
validations:
required: true

- type: textarea
id: security_privacy
attributes:
label: Security or Privacy Impact
description: |
Describe changes to permissions, credentials, personal data, network access,
execution boundaries, or third-party trust.
Do not include credential values, personal data, or confidential customer
or partner information.
Do not report a vulnerability in this issue.
Follow [SECURITY.md](https://github.com/NVIDIA/NemoClaw/blob/main/SECURITY.md).
validations:
required: true

- type: textarea
id: implementation
Expand Down
15 changes: 15 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,21 @@ Open an issue when you encounter one of the following situations.
Use [GitHub Discussions](https://github.com/NVIDIA/NemoClaw/discussions) for questions, design exploration, and larger feature proposals before implementation.
Maintainers may ask you to move broad or still-forming proposals from an issue to a discussion so the design can settle before code review.

### Maintainer Triage and Decision

For a substantive product, architecture, security, integration, or supported-surface proposal, a maintainer must record a decision in the issue or linked discussion.
The maintainer must record the decision before implementation starts.

The decision record must include these items:

- **Decision:** `Accept`, `Request changes`, `Defer`, or `Decline`.
- **Reason and placement:** State the reason. For `Accept`, record core NemoClaw or NemoClaw Community. Use `Not applicable` when the decision is not `Accept`.
- **Accountable maintainer:** Name one maintainer when the decision is `Accept`. Use `Not applicable` when the decision is not `Accept`.
- **Validation plan:** List the required validation evidence when the decision is `Accept`. Use `Not applicable` when the decision is not `Accept`.

Contributors must not implement a substantive contribution with an `Accept` decision until the record names one accountable maintainer and an explicit validation plan.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] Make Accept a prerequisite for implementation

As written, this forbids implementation only with an Accept decision until the other fields exist. Combined with line 85, a recorded Request changes, Defer, or Decline can be read as satisfying the decision-before-work gate. State the intended positive gate directly: “Contributors must not start implementing a substantive contribution until a maintainer records Accept, names one accountable maintainer, and states an explicit validation plan.”

Small documentation changes and low-risk fixes may continue directly to a pull request.

## Community Response Expectations

NemoClaw is an alpha project, and maintainer availability varies with release, security, and stability work.
Expand Down
Loading