Skip to content

execution contract#2475

Merged
MaximilianSoerenPollak merged 7 commits into
mainfrom
dcalavrezo_execution_contract
Jun 22, 2026
Merged

execution contract#2475
MaximilianSoerenPollak merged 7 commits into
mainfrom
dcalavrezo_execution_contract

Conversation

@dcalavrezo-qorix

Copy link
Copy Markdown
Contributor

No description provided.

prepared an execution contract draft

Signed-off-by: Dan Calavrezo <195309321+dcalavrezo-qorix@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown

⚠️ Docs-as-Code version mismatch detected
Please check the CI build logs for details and align the documentation version with the Bazel dependency.

@github-actions

Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html

@AlexanderLanin AlexanderLanin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Lots of comments, but this was a great read! Good content IMHO!

Comment thread docs/design_decisions/DR-001-infra-extension.md
Comment thread docs/design_decisions/DR-001-infra-extension.md Outdated
Comment thread docs/design_decisions/DR-001-infra-extension.md
Comment thread docs/design_decisions/DR-001-infra-extension.md Outdated
Comment thread docs/design_decisions/DR-001-infra-extension.md
Comment thread docs/design_decisions/DR-001-infra-extension.md
Comment thread docs/design_decisions/DR-001-infra-extension.md Outdated
Comment thread docs/design_decisions/DR-001-infra-extension.md Outdated
Comment thread docs/design_decisions/DR-001-infra-extension.md Outdated
Comment thread docs/design_decisions/DR-001-infra-extension.md Outdated
Co-authored-by: Alexander Lanin <Alexander.Lanin@etas.com>
Signed-off-by: Dan Calavrezo <195309321+dcalavrezo-qorix@users.noreply.github.com>
Comment thread docs/design_decisions/DR-001-infra-extension.md
Comment thread docs/design_decisions/DR-001-infra-extension.md
Comment thread docs/design_decisions/DR-001-infra-extension.md Outdated
@MaximilianSoerenPollak

Copy link
Copy Markdown
Contributor

Thanks for the write up, looks over all quite good and a great baseline we can work out the small other stuff.

Comment thread docs/design_decisions/DR-001-infra-extension.md
Comment thread docs/design_decisions/DR-001-infra-extension.md
Comment thread docs/design_decisions/DR-001-infra-extension.md
Comment thread docs/design_decisions/DR-001-infra-extension.md Outdated
Co-authored-by: Alexander Lanin <Alexander.Lanin@etas.com>
Signed-off-by: Dan Calavrezo <195309321+dcalavrezo-qorix@users.noreply.github.com>
Comment thread docs/design_decisions/DR-001-infra-extension.md Outdated
dcalavrezo-qorix and others added 2 commits January 22, 2026 14:58
Co-authored-by: lurtz <727209+lurtz@users.noreply.github.com>
Signed-off-by: Dan Calavrezo <195309321+dcalavrezo-qorix@users.noreply.github.com>
solved comments from PRs

Signed-off-by: Dan Calavrezo <195309321+dcalavrezo-qorix@users.noreply.github.com>
@FScholPer

Copy link
Copy Markdown
Contributor

@dcalavrezo-qorix whats the state here?

@FScholPer

Copy link
Copy Markdown
Contributor

@dcalavrezo-qorix last call for action! I will close it next week if there is no feedback if we now can merge or not

@MaximilianSoerenPollak

Copy link
Copy Markdown
Contributor

@dcalavrezo-qorix last call for action! I will close it next week if there is no feedback if we now can merge or not

Please do not close it yet.
I have asked for feedback again in the Infra round and Dan is also preparing a PoC.
I would propose to give it until next week, and if then no satisfactory conclusion or at least path forward is reached we take action?

@dcalavrezo-qorix

Copy link
Copy Markdown
Contributor Author

Let’s resume the discussion and look at a few remaining gaps around traceability and long-term reproducibility, if that is ok with you.

For ease of discussion I picked persistency as an example, but the same observations likely apply to most S-CORE repositories.

I would like to focus specifically on build reproducibility over a longer time horizon (10+ years).

  1. MODULE.bazel.lock is not versioned

We currently do not generate and commit MODULE.bazel.lock.

Even if bazel_dep versions are fixed, dependency resolution can still drift due to:

  • transitive selection changes
  • registry metadata updates
  • yanked releases

Without committing the lock file, we are not freezing the fully resolved module graph. From a reproducibility and auditability standpoint, this seems like a gap.

  1. Use of overrides in MODULE.bazel

We still rely on overrides (for ex. git_override).
Even when pinned to a commit SHA, this assumes:

  • long-term availability of the upstream repository
  • no forced rewrite

For long-term reproducibility, overrides pointing to external GitHub repos may not be sufficient unless we define a mirroring or archival strategy.

  1. External toolchain blobs should be mirrored

We fetch external toolchain artifacts (e.g. SDK archives, toolchain tarballs) from vendor URLs.

Even if we verify SHA256, long-term availability of those URLs is not guaranteed.
For true reproducibility, we should clarify whether:

all such artifacts must be mirrored into an S-CORE controlled artifact store, or we accept vendor URLs as a long-term dependency.

This should probably be made explicit in the design decision.

  1. Devcontainer image tag is not immutable

The devcontainer currently references an image tag (e.g. v1.1.0).
Container tags can be re-pushed.

If we rely on devcontainer as part of the reproducible developer environment, we may want to:

pin by digest (@sha256:…), or

define a policy that tagged images are immutable and archived.

will add more stuff

Defined the MSV for dev platform

Signed-off-by: Dan Calavrezo <195309321+dcalavrezo-qorix@users.noreply.github.com>
Comment thread docs/design_decisions/DR-001-infra-extension.md Outdated
Comment thread docs/design_decisions/DR-001-infra-extension.md Outdated
Comment thread docs/design_decisions/DR-001-infra-extension.md
improved wording based on comments

Signed-off-by: Dan Calavrezo <195309321+dcalavrezo-qorix@users.noreply.github.com>
@FScholPer

Copy link
Copy Markdown
Contributor

I think DR would not be enough. We also need some kind of Stakeholder requirements -> tool_Req...

Comment thread docs/design_decisions/DR-001-infra-extension.md
@antonkri antonkri self-requested a review May 26, 2026 09:16
**practical hermeticity**, despite changes in underlying infrastructure such as
GitHub-hosted runners.

It builds on [DR-001], which was concerned about the same topics, but was focused on tools only. This adds details where the original description was too fuzzy.

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.

was the intention to have link to DR-001 in the generated documentation? At the moment this is not the case

# DR-001-B-Infra-Extension: S-CORE Build Execution Contract


* **Date:** 2026-01-20

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.

Should this not be changed to the latest edit?

@MaximilianSoerenPollak MaximilianSoerenPollak merged commit 8df1e71 into main Jun 22, 2026
8 checks passed
@MaximilianSoerenPollak MaximilianSoerenPollak deleted the dcalavrezo_execution_contract branch June 22, 2026 07:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

9 participants