Skip to content

feat: DRS chain-viz — delegation chain visualization command #5

@OkeyAmy

Description

@OkeyAmy

Problem

Delegation chains can be deep and complex. Without visualization, understanding the delegation path from root to invocation requires manually parsing JWT payloads and tracing issuer/audience relationships.

Proposed Solution

Build a drs chain-viz CLI command that renders a delegation chain as a visual tree or graph.

Acceptance Criteria

  • CLI command that accepts a chain bundle (file path or stdin) and outputs a visual representation
  • Shows: each receipt as a node with issuer DID (abbreviated), audience DID, command, policy summary
  • Shows: chain linkage arrows with hash references
  • Output formats: ASCII art (default for terminal), Mermaid diagram (for docs/markdown), DOT (for Graphviz)
  • Tests cover: formatting logic for each output format, single-receipt chains, multi-hop chains
  • No hardcoded DIDs in tests — use conformance fixtures from fixtures/conformance/receipts/

Relevant Files

  • fixtures/conformance/receipts/full-chain-bundle.json — test input
  • drs-sdk/src/cli/ — CLI infrastructure
  • drs-sdk/src/sdk/types.ts — receipt type definitions

Implementation Notes

ASCII art is the priority output format. Mermaid and DOT can be follow-ups. The command should decode JWT payloads without verifying signatures (verification is the verifier's job, not the visualizer's).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions