Skip to content

reqmgmt: Add Kernel Version requirements (Issue #119 initial slice)#140

Draft
harunobukurokawa wants to merge 1 commit into
zephyrproject-rtos:mainfrom
harunobukurokawa:issue-119-kernel-version-requirements
Draft

reqmgmt: Add Kernel Version requirements (Issue #119 initial slice)#140
harunobukurokawa wants to merge 1 commit into
zephyrproject-rtos:mainfrom
harunobukurokawa:issue-119-kernel-version-requirements

Conversation

@harunobukurokawa

Copy link
Copy Markdown

Add an initial narrow slice of Kernel Version requirements in support of #119.

Changes:

  • docs/system_requirements/index.sdoc: Add ZEP-SYRS-26 — system-level parent for kernel version information
  • docs/software_requirements/version.sdoc: Add ZEP-SRS-26-1 (retrieval) and ZEP-SRS-26-2 (element access)
  • docs/software_requirements/index.sdoc: Register version.sdoc

Scope note:
This PR intentionally covers retrieval and major/minor/patch element access only.
Broader version or release policy requirements are out of scope.
The component name Kernel Version is used to distinguish this topic from release policy concerns;
open to renaming if the maintainers prefer Version or Build Version.

Methodology note (first trial):
This contribution is a trial of an AI-assisted requirements engineering workflow:

  • Prior merged PRs were analyzed using AI to study contribution patterns and review tendencies in this repository.
  • Requirement drafts were independently produced by two AI agents (Claude Code and Codex) and cross-reviewed between them before being submitted here.
  • The workflow itself — using AI not only to write requirements but to analyze past PRs and perform multi-agent review — is offered as a sample approach for the community to evaluate.

Feedback on both the requirements and the AI-assisted process is welcome.

…initial slice)

Add ZEP-SYRS-26 (system) and ZEP-SRS-26-{1,2} (software) for kernel
version information retrieval and element access, linked by Parent
relation. Adds version.sdoc to the software requirements index and a
Kernel Version section to the system requirements index.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@harunobukurokawa harunobukurokawa mentioned this pull request Jul 1, 2026
4 tasks
COMPONENT: Kernel Version
TITLE: Kernel version information retrieval
STATEMENT: >>>
The Zephyr RTOS shall provide a mechanism to retrieve the kernel version information for the present build.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I would suggest replacing information by code which is less ambiguous about the return type (an encoded value of major, minor and patch level)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
The Zephyr RTOS shall provide a mechanism to retrieve the kernel version information for the present build.
The Zephyr RTOS shall provide a mechanism to retrieve the kernel version code.

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.

Could also consider simplifying to "The Zephyr RTOS shall provide a mechanism to retrieve the kernel version."

COMPONENT: Kernel Version
TITLE: Kernel version element extraction
STATEMENT: >>>
The Zephyr RTOS shall provide a mechanism to obtain the major, minor, and patch level elements of the kernel version information for the present build.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Same here, I would use code instead of information.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Also, I don't think we need to repeat "present build" as this already stated in system requirement.

Suggested change
The Zephyr RTOS shall provide a mechanism to obtain the major, minor, and patch level elements of the kernel version information for the present build.
The Zephyr RTOS shall provide a mechanism to obtain the major, minor, and patch level elements from the kernel version code.

@parphane parphane Jul 17, 2026

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.

Rework and add the concept of a "compile-time mechanism" to set these (now only the obtain/get portion is covered)

Consider "The Zephyr RTOS shall provide compile-time mechanism to define the major, minor, and patch components of the kernel version."
Could also consider 1. splitting in 3 for atomicity or 2. removing the concept of major.minor.patch from the requirement to decouple from code
2. would give "The Zephyr RTOS shall provide a compile-time mechanism to define the kernel version.""

COMPONENT: Kernel Version
TITLE: Kernel version information retrieval
STATEMENT: >>>
The Zephyr RTOS shall provide a mechanism to retrieve the kernel version information for the present build.

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.

Could also consider simplifying to "The Zephyr RTOS shall provide a mechanism to retrieve the kernel version."

COMPONENT: Kernel Version
TITLE: Kernel version element extraction
STATEMENT: >>>
The Zephyr RTOS shall provide a mechanism to obtain the major, minor, and patch level elements of the kernel version information for the present build.

@parphane parphane Jul 17, 2026

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.

Rework and add the concept of a "compile-time mechanism" to set these (now only the obtain/get portion is covered)

Consider "The Zephyr RTOS shall provide compile-time mechanism to define the major, minor, and patch components of the kernel version."
Could also consider 1. splitting in 3 for atomicity or 2. removing the concept of major.minor.patch from the requirement to decouple from code
2. would give "The Zephyr RTOS shall provide a compile-time mechanism to define the kernel version.""

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants