meta:
  description: Cross-reference graph for all doc instances in derive_tools
  generated: 2026_04_25
  node_count: 5
  edge_count: 14
  component_count: 1

nodes:
  - id: feature/001
    file: feature/001_aggregate_facade.md
    label: Aggregate Facade
    entity: feature
  - id: api/001
    file: api/001_workspace_derives.md
    label: Workspace Derives
    entity: api
  - id: api/002
    file: api/002_external_derives.md
    label: External Derives
    entity: api
  - id: invariant/001
    file: invariant/001_pure_facade.md
    label: Pure Facade
    entity: invariant
  - id: integration/001
    file: integration/001_derive_tools_meta.md
    label: derive_tools_meta
    entity: integration

edges:
  - from: feature/001
    to: api/001
    label: workspace macros re-exported by this facade
  - from: feature/001
    to: api/002
    label: external macros re-exported by this facade
  - from: feature/001
    to: invariant/001
    label: why this crate must not implement its own macros
  - from: feature/001
    to: integration/001
    label: workspace companion implementing the custom macros
  - from: api/001
    to: feature/001
    label: aggregate facade context
  - from: api/001
    to: api/002
    label: companion external derives interface
  - from: api/001
    to: integration/001
    label: crate that implements these macros
  - from: api/002
    to: feature/001
    label: aggregate facade context
  - from: api/002
    to: api/001
    label: workspace-internal derives available in the same facade
  - from: invariant/001
    to: feature/001
    label: behavioral description of the aggregate facade
  - from: invariant/001
    to: integration/001
    label: correct location for custom derive implementations
  - from: integration/001
    to: feature/001
    label: aggregate facade that re-exports these macros
  - from: integration/001
    to: api/001
    label: specific macros re-exported from derive_tools_meta
  - from: integration/001
    to: invariant/001
    label: why this crate and derive_tools are separate

components:
  - id: 1
    size: 5
    isolated: false
    nodes:
      - feature/001
      - api/001
      - api/002
      - invariant/001
      - integration/001

dangling_refs: []
