\documentclass[tikz,border=12pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta, shapes.geometric, positioning, calc}

\definecolor{bg}{HTML}{171C1A}
\definecolor{text}{HTML}{E3E7E4}
\definecolor{textsoft}{HTML}{C8D0CC}
\definecolor{muted}{HTML}{9AA59F}
\definecolor{accent}{HTML}{7AA88A}
\definecolor{pink}{HTML}{B08A9A}

\begin{document}
\begin{tikzpicture}[font=\sffamily]

  % ---------- Explicit bounding box for consistent rendering ----------
  % Design width: 14cm, expanded layout to use full width
  \path[use as bounding box] (-0.5, -4.0) rectangle (13.5, 4.5);

  % ---------- Style definitions ----------

  % Unchanged assumption: recedes visually
  \tikzset{
    assumption/.style={
      circle,
      draw=accent!60,
      line width=0.8pt,
      fill=bg,
      minimum size=1.8cm,
      text=textsoft,
      font=\sffamily\footnotesize,
      align=center
    }
  }

  % Changed assumption: prominent entry point
  \tikzset{
    assumptionchanged/.style={
      circle,
      draw=pink,
      line width=1.4pt,
      fill=bg,
      minimum size=2.0cm,
      text=text,
      font=\sffamily\footnotesize,
      align=center
    }
  }

  % Unchanged decision: recedes
  \tikzset{
    decision/.style={
      regular polygon,
      regular polygon sides=6,
      draw=accent!60,
      line width=0.8pt,
      fill=bg,
      minimum width=2.4cm,
      text=textsoft,
      font=\sffamily\footnotesize,
      align=center
    }
  }

  % Decision needing review: noticeable but calm
  \tikzset{
    decisionreview/.style={
      regular polygon,
      regular polygon sides=6,
      draw=pink!75,
      line width=1.1pt,
      fill=bg,
      minimum width=2.6cm,
      text=text,
      font=\sffamily\footnotesize,
      align=center
    }
  }

  % Unaffected work: recedes
  \tikzset{
    work/.style={
      rectangle,
      draw=accent!60,
      line width=0.8pt,
      fill=bg,
      rounded corners=3pt,
      minimum width=2.2cm,
      minimum height=1.1cm,
      text=textsoft,
      font=\sffamily\footnotesize,
      align=center
    }
  }

  % Potentially affected work: softer than decisions
  \tikzset{
    workaffected/.style={
      rectangle,
      draw=pink!50,
      line width=0.9pt,
      dashed,
      dash pattern=on 3pt off 1.5pt,
      fill=bg,
      rounded corners=3pt,
      minimum width=2.2cm,
      minimum height=1.1cm,
      text=textsoft,
      font=\sffamily\footnotesize,
      align=center
    }
  }

  % Badge styles (pill-shaped state indicators)
  \tikzset{
    badge-changed/.style={
      rectangle,
      rounded corners=4pt,
      fill=pink,
      draw=none,
      text=bg,
      font=\sffamily\fontsize{6pt}{6pt}\selectfont\bfseries,
      inner xsep=4pt,
      inner ysep=2pt
    },
    badge-review/.style={
      rectangle,
      rounded corners=4pt,
      fill=pink!70,
      draw=none,
      text=bg,
      font=\sffamily\fontsize{6pt}{6pt}\selectfont\bfseries,
      inner xsep=4pt,
      inner ysep=2pt
    },
    badge-affected/.style={
      rectangle,
      rounded corners=4pt,
      fill=pink!45,
      draw=none,
      text=bg,
      font=\sffamily\fontsize{6pt}{6pt}\selectfont\bfseries,
      inner xsep=4pt,
      inner ysep=2pt
    }
  }

  % Edge styles
  \tikzset{
    arrow/.style={-{Stealth[length=5pt, width=4pt]}, draw=accent!60, line width=0.7pt},
    arrowaffected/.style={-{Stealth[length=5pt, width=4pt]}, draw=pink!55, line width=0.7pt},
    relate/.style={{Stealth[length=4pt, width=3pt]}-{Stealth[length=4pt, width=3pt]}, draw=pink!40, line width=0.8pt},
    % Reference edge: non-causal association (dotted, no arrow)
    reference/.style={draw=muted!80, line width=1pt, dotted, dash pattern=on 4pt off 2pt}
  }

  % ---------- Navigability boundary (faint dotted outline) ----------
  \draw[draw=muted!25, line width=0.5pt, dashed, dash pattern=on 4pt off 4pt, rounded corners=10pt]
    (0.3, 3.5) rectangle (12.8, -3.5);

  % ---------- Title ----------
  \node[font=\sffamily\large, text=text, anchor=north west] at (0.5, 4.2)
    {Decisions as a Living Graph};

  % ---------- Assumptions ----------

  % Changed assumption: upper area, entry point
  \node[assumptionchanged] (a1) at (6.5, 2.4) {Assumption\\[-1pt]A};

  % Unchanged assumption: lower-left, provides contrast
  \node[assumption] (a2) at (1.5, 1.4) {Assumption\\[-1pt]B};

  % ---------- Decisions ----------

  \node[decisionreview] (d1) at (3.5, -0.8) {Decision\\[-1pt]1};
  \node[decisionreview] (d2) at (10.0, 0.2) {Decision\\[-1pt]2};

  % ---------- Artifacts ----------

  \node[workaffected] (w1) at (2.0, -2.8) {Artifact\\[-1pt]X};
  \node[work] (w2) at (11.0, -2.0) {Artifact\\[-1pt]Y};

  % ---------- Edges ----------

  % Changed assumption affects both decisions
  \draw[arrowaffected] (a1) -- (d1);
  \draw[arrowaffected] (a1) -- (d2);

  % Unchanged assumption also feeds into d1
  \draw[arrow] (a2) -- (d1);

  % Decision 1 causally influences Artifact X (affected path)
  \draw[arrowaffected] (d1) -- (w1);

  % Artifact Y is referenced by Decision 2, but not causally downstream
  % (non-causal association: thin dotted line, no arrow)
  \draw[reference] (d2) -- (w2);

  % Decisions are related
  \draw[relate] (d1) -- (d2);

  % ---------- Node-attached state badges ----------

  % CHANGED badge on Assumption A (top-right)
  \node[badge-changed, anchor=south west] at ($(a1.north east)+(-0.2, -0.25)$) {CHANGED};

  % REVIEW badges on Decision 1 and Decision 2 (top-right)
  \node[badge-review, anchor=south west] at ($(d1.north)+(0.25, -0.2)$) {REVIEW};
  \node[badge-review, anchor=south west] at ($(d2.north)+(0.25, -0.2)$) {REVIEW};

  % AFFECTED badge on Artifact X (top-right)
  \node[badge-affected, anchor=south west] at ($(w1.north east)+(-0.15, -0.12)$) {AFFECTED};

\end{tikzpicture}
\end{document}
