Sanity Checks of Replica Versions

In order to “Bless Replica Version”, a group of community members (5) are attempting to build ic-os (on which there is a separate thread) as well as do some amount of Sanity Checks. This post is a strawman of how we intend to do Sanity Checks.

Any feedback would be appreciated.

Sanity Check: “A reasonable assurance, by going through the code, that the code will do what the comments(in release notes, actual comments in code etc) say it should do”

The code itself in context of structure is partitioned along different dimensions (such as consensus, crypto, execution etc) and follows the internet protocol.

Each release note, in the proposal, is materially different in context of quantum of work anticipated to be associated with sanity check of each note.

For example in real release notes found in recent proposals, a release note can be an addition of a single line in one file or changes in 10+files with material changes.

A Sanity Check at the proposal level must include positive affirmations of each release note; meaning that the reviewer has gone through each release note to provide reasonable assurance for the code that accompanies that release note.

A logical consequence of the above would be that statements such as " other code refactoring…" would be difficult to verify and would be detrimental to the integrity of the overall replica.

6 Likes

I have asked the relevant questions https://forum.dfinity.org/t/voting-is-open-for-a-new-ic-release-2694487/19551

These are repeated here for overall tracking and feedback

A couple of overall suggestions:
(a) We might want to be more specific in context of what we actually voting for. Specifically we are voting for an update to the guestos. In that context, we are NOT verifying IC-OS as a whole.
(b) Secondly and correspondingly, there is NO IC-OS disk image. There is IC-OS guestos disk image.

Now on to release notes,

  1. I have a few questions; based on my findings (which are only related to RunTime for now). How should these be asked? Should I ask them here tagging individual dev? Create an issue in git?
  2. How we verify whether " Various tech-debt management: code refactoring, docs, bug fixes, test updates" have taken place or not?

The summary of my review notes are attached.

1 Like

In my experience people are the most responsive if they are tagged personally. If you don’t know who to tag, feel free to tag me and I’ll do my best to track someone down