Skip to content

Design the capability and evidence contract for diagnostics (#409) #484

Closed

Description

@hellices

Problem

#409 asks for a shared capability and evidence contract before #410, #411 and the later diagnostics are built. That needs design decisions that every consumer will inherit:

  • the state vocabulary for evidence sources;
  • how failures are classified;
  • what a diagnostic may conclude from incomplete evidence;
  • how API versions are chosen without server-version gates;
  • how observations are scoped and invalidated across context changes;
  • how the Kubernetes support policy is set.

Today three models describe the same idea differently: Pulse coverage, relationship-graph coverage, and the outcome tracker's partial evidence. Discovery failures are only logged. can_i is fail-open. Nothing documents which Kubernetes versions are supported.

Goal

A design spec under docs/superpowers/specs/ that the maintainer reviews before any implementation. It should cover:

  • the units and the layer each lives in;
  • the vocabulary and the classification table;
  • the combining rules;
  • version resolution;
  • bounded collection;
  • scoping and caching;
  • the presentation contract;
  • the support-policy proposal;
  • testing, and the delivery slices that become their own sub-issues.

Done when

Activity

  1. added this to the v0.7.0 milestone on Oct 25, 2026
  2. self-assigned this
    on Oct 25, 2026
  3. added
    enhancementNew feature or request
    concern: architectureModule boundaries, dependency direction, and system structure
    status: acceptedConfirmed bug or accepted change; a pull request may follow once the issue is assigned
    on Oct 25, 2026
  4. added a commit that references this issue on Oct 25, 2026
    89f7354
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

concern: architectureModule boundaries, dependency direction, and system structureenhancementNew feature or requeststatus: acceptedConfirmed bug or accepted change; a pull request may follow once the issue is assigned

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions