Skip to main content
Compendium / AI Collaboration / Composition / Agent Pipeline Node
#642

Agent Pipeline Node

A single addressable node in an agent pipeline — role, input contract, output contract.

STABLE CO
#card #real-content #dark-mode-tested #responsive
Live
Coder A2 / 4
in
task-graph.json
out
diff.patch
pipeline node scoped tools
Spec

Intent

Pipelines are only as accountable as their nodes. A node names its role, declares one input contract and one output contract, and exposes its position in the chain.

Acceptance Criteria

  • [ ] Role title with stage index pill (A2 / 3)
  • [ ] Input and output contract rows, both labelled
  • [ ] Co-pillar accent on the role band
  • [ ] Negative: does NOT show internal tool calls

Constraints

  • Pure markup
  • Theme-aware via tokens
// agent-pipeline-node.astro
---
import type { CompendiumMeta } from '../../../data/types';

export const meta: CompendiumMeta = {
  id: 642,
  slug: 'agent-pipeline-node',
  name: 'Agent Pipeline Node',
  category: 'ai-collaboration',
  subcategory: 'composition',
  pillar: 'co',
  description: 'A single addressable node in an agent pipeline — role, input contract, output contract.',
  spec: `## Intent
Pipelines are only as accountable as their nodes. A node names its role, declares one input contract and one output contract, and exposes its position in the chain.

## Acceptance Criteria
- [ ] Role title with stage index pill (A2 / 3)
- [ ] Input and output contract rows, both labelled
- [ ] Co-pillar accent on the role band
- [ ] Negative: does NOT show internal tool calls

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

const node = { idx: 2, total: 4, role: 'Coder', inc: 'task-graph.json', out: 'diff.patch' };
---

<article data-this-component class="w-full bg-paper text-black border-4 border-black overflow-hidden">
  <header class="flex items-baseline justify-between gap-2 px-3 py-2 border-b-2 border-black bg-co">
    <span class="font-black text-[12px] uppercase tracking-widest text-black">{node.role}</span>
    <span class="font-mono text-[10px] uppercase tracking-widest text-black opacity-80">A{node.idx} / {node.total}</span>
  </header>
  <dl class="p-3 grid grid-cols-[auto_1fr] gap-x-2 gap-y-1.5 text-[11px]">
    <dt class="font-mono text-[9px] uppercase tracking-widest opacity-60 self-center">in</dt>
    <dd class="font-mono font-black uppercase tracking-widest truncate">{node.inc}</dd>
    <dt class="font-mono text-[9px] uppercase tracking-widest opacity-60 self-center">out</dt>
    <dd class="font-mono font-black uppercase tracking-widest truncate">{node.out}</dd>
  </dl>
  <footer class="px-3 py-1.5 border-t-2 border-black font-mono text-[9px] uppercase tracking-widest opacity-60 flex justify-between">
    <span>pipeline node</span>
    <span>scoped tools</span>
  </footer>
</article>