All files / TRANSPILE/2-Plan/types IComplianceAnnotation.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30                                                           
/**
 * One construct whose shape a safety standard dictated, rather than the
 * obvious translation.
 *
 * CLAUDE.md makes emitting these a C-Next standard: the generated C is the
 * certification artifact, so a reviewer must be able to trace each non-obvious
 * construct back to the rule that shaped it, and must not mistake it for
 * accidental complexity.
 */
interface IComplianceAnnotation {
  /** Rule number as the standard writes it, e.g. `21.15`. */
  readonly rule: string;
 
  /** What the generated construct does instead of the naive translation. */
  readonly what: string;
 
  /**
   * What the naive form would have done, and why the rule forbids it.
   *
   * This is the half CLAUDE.md is specific about and the half that drifted: an
   * annotation naming the C-Next construct explains nothing to someone reading
   * the C. Rendered inside parentheses, so it carries no trailing period of its
   * own, and it must not contain a comment opener -- a nested one is MISRA
   * C:2012 Rule 3.1, which would make the annotation itself a violation.
   */
  readonly why: string;
}
 
export default IComplianceAnnotation;