Skip to main content
Compendium / Pillars & Roles / Loops & Cycles / RE-Feedback Arrow
#385

RE-Feedback Arrow

A single curved arrow closing the loop from Deliver back to Document — the reflexive RE-step that makes DoCoDeGo cyclic.

STABLE GO
#svg #real-content #dark-mode-tested #responsive
Live
// return RE-FEEDBACK
DO DE delivery informs intent
Spec

Intent

DoCoDeGo is not a waterfall; what leaves DE feeds back into DO. This atom is the one-arrow icon of that return path — the visual full-stop on the cycle.

Acceptance Criteria

  • [ ] Curved arrow from DE label back to DO label
  • [ ] Both endpoints visible with pillar-coloured pills
  • [ ] Caption names the return as "RE-FEEDBACK"
  • [ ] Negative: does NOT require JS

Constraints

  • Pure SVG
  • Theme-aware via tokens
// re-feedback-arrow.astro
---
import type { CompendiumMeta } from '../../../data/types';

export const meta: CompendiumMeta = {
  id: 385,
  slug: 're-feedback-arrow',
  name: 'RE-Feedback Arrow',
  category: 'pillars-roles',
  subcategory: 'loops-cycles',
  pillar: 'go',
  description: 'A single curved arrow closing the loop from Deliver back to Document — the reflexive RE-step that makes DoCoDeGo cyclic.',
  spec: `## Intent
DoCoDeGo is not a waterfall; what leaves DE feeds back into DO. This atom is the one-arrow icon of that return path — the visual full-stop on the cycle.

## Acceptance Criteria
- [ ] Curved arrow from DE label back to DO label
- [ ] Both endpoints visible with pillar-coloured pills
- [ ] Caption names the return as "RE-FEEDBACK"
- [ ] Negative: does NOT require JS

## Constraints
- Pure SVG
- Theme-aware via tokens`,
  tags: ['svg', 'real-content', 'dark-mode-tested', 'responsive'],
  status: 'stable',
  health: { ics: 90, a11y: 'aa', themed: true, animated: false },
};
---

<div data-this-component class="w-full bg-paper text-black border-4 border-black p-3 overflow-hidden">
  <div class="flex items-baseline justify-between mb-2 gap-2">
    <span class="font-mono text-[10px] uppercase tracking-widest opacity-60">// return</span>
    <span class="font-mono text-[10px] uppercase tracking-widest">RE-FEEDBACK</span>
  </div>
  <svg viewBox="0 0 220 110" class="w-full block" aria-label="Re-feedback arrow from Deliver back to Document" role="img">
    <defs>
      <marker id="rf-arr" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
        <path d="M 0 0 L 10 5 L 0 10 z" fill="var(--color-ink)" />
      </marker>
    </defs>
    <rect x="14" y="68" width="50" height="28" fill="var(--color-do)" stroke="var(--color-ink)" stroke-width="3" />
    <text x="39" y="86" text-anchor="middle" font-family="Inter, sans-serif" font-weight="900" font-size="13" fill="var(--color-ink)">DO</text>
    <rect x="156" y="68" width="50" height="28" fill="var(--color-de)" stroke="var(--color-ink)" stroke-width="3" />
    <text x="181" y="86" text-anchor="middle" font-family="Inter, sans-serif" font-weight="900" font-size="13" fill="var(--color-ink)">DE</text>
    <path d="M 181 66 C 181 24, 39 24, 39 66" stroke="var(--color-ink)" stroke-width="3" fill="none" marker-end="url(#rf-arr)" />
    <text x="110" y="20" text-anchor="middle" font-family="JetBrains Mono, monospace" font-size="9" letter-spacing="2" fill="var(--color-ink)" opacity="0.6">delivery informs intent</text>
  </svg>
</div>