Affirmation Recorder

An affirmation is a human judgement that an edge still holds, recorded against the exact content it was judged against. The affirmation recorder builds that record: what it binds, what anchors it in source history, and the reason the reviewer gave. It originates nothing on its own, and it accepts an affirmation only for an edge where one can mean something.

Software Requirement: Affirmations bind both endpoints SEG-SREQ-024
refines: SEG-SYS-004

The affirmation recorder shall record each affirmation as a review event carrying the content hashes of both endpoints of the affirmed edge.

Software Requirement: Affirmations carry their source anchor SEG-SREQ-025
refines: SEG-SYS-004

The affirmation recorder shall record in every review event the source commit of each endpoint at the moment of affirmation.

Software Requirement: Affirmations carry the role they were made in SEG-SREQ-049
refines: SEG-SYS-004

The affirmation recorder shall record in every review event the role in which the affirmation was made.

Software Requirement: The recorder originates nothing SEG-SREQ-026
refines: SEG-SYS-004

The affirmation recorder shall originate no affirmation of its own.

Software Requirement: Only unaffirmed or outdated edges are affirmable SEG-SREQ-027
refines: SEG-SYS-004

The affirmation recorder shall accept an affirmation only for an edge that is pending, directly outdated, or doubly outdated.

Software Requirement: Only strong edges are affirmable SEG-SREQ-056
refines: SEG-SYS-004

The affirmation recorder shall accept an affirmation only for a strong edge.

Software Requirement: Supplied reasons are preserved SEG-SREQ-028
refines: SEG-SYS-004

The affirmation recorder shall record the reason supplied with an affirmation in the review event without altering it.

Software Requirement: Affirmations bind each endpoint's named content hashes and anchors SEG-SREQ-127
refines: SEG-SYS-004

The affirmation recorder shall record in every review event, for each endpoint of the affirmed edge, every named content hash it carries together with that hash’s anchor, as they stood at the moment of judgement.