Ctrl K
ComunidadGuías…

docs/rementum-flow.html

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
<!DOCTYPE html>
<html lang="tr">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Rementum nasıl çalışır?</title>
  <link href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&amp;display=swap" rel="stylesheet">
  <style>
    *, *::before, *::after { box-sizing: border-box; }
    :root {
      --paper: #efede7;
      --panel: #f8f7f3;
      --ink: #18211d;
      --muted: #646d68;
      --soft: #7a827d;
      --line: #cac7bd;
      --accent: #ce4f2f;
      --accent-tint: rgba(206, 79, 47, 0.08);
      --link: #315d49;
      --sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --serif: "Instrument Serif", Georgia, serif;
      --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    }
    body {
      min-height: 100vh;
      margin: 0;
      padding: 48px 32px;
      background: var(--paper);
      color: var(--ink);
      font-family: var(--sans);
    }
    main { width: min(1280px, 100%); margin: 0 auto; }
    .eyebrow {
      margin: 0 0 8px;
      color: var(--accent);
      font: 650 11px/1 var(--mono);
      letter-spacing: 0.16em;
      text-transform: uppercase;
    }
    h1 {
      max-width: 760px;
      margin: 0;
      font: 400 clamp(40px, 6vw, 72px)/0.96 var(--serif);
      letter-spacing: -0.04em;
    }
    .intro {
      max-width: 680px;
      margin: 20px 0 32px;
      color: var(--muted);
      font-size: 17px;
      line-height: 1.55;
    }
    .diagram { overflow-x: auto; padding-bottom: 8px; }
    svg { display: block; width: 100%; min-width: 840px; }
    .step-number, .step-label, .lane-label, .role-text, .chip-text, .legend-label {
      font-family: var(--mono);
      text-anchor: middle;
    }
    .step-number { fill: var(--ink); font-size: 8px; font-weight: 700; }
    .step-label { fill: var(--muted); font-size: 8px; font-weight: 600; letter-spacing: 0.08em; }
    .lane-label { fill: var(--muted); font-size: 8px; font-weight: 600; letter-spacing: 0.12em; }
    .role-text { fill: var(--ink); font-size: 8px; font-weight: 700; }
    .node-title { fill: var(--ink); font: 650 8px var(--sans); text-anchor: middle; }
    .node-sub { fill: var(--muted); font: 500 8px var(--mono); text-anchor: middle; }
    .node-tool { fill: var(--soft); font: 400 8px var(--mono); text-anchor: middle; }
    .chip-text { fill: #fff; font-size: 8px; font-weight: 700; }
    .focal-text { fill: var(--accent); }
    .legend-label { fill: var(--muted); font-size: 8px; font-weight: 600; letter-spacing: 0.1em; text-anchor: end; }
    .legend-text { fill: var(--muted); font: 500 8px var(--sans); }
    .notes {
      display: grid;
      grid-template-columns: 1.15fr 0.85fr;
      gap: 24px;
      margin-top: 28px;
      border-top: 1px solid var(--line);
      padding-top: 24px;
    }
    .note { border-left: 3px solid var(--ink); padding: 4px 20px 4px 16px; }
    .note.write { border-color: var(--accent); }
    .note h2 { margin: 0 0 8px; font-size: 16px; }
    .note p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
    footer {
      margin-top: 28px;
      border-top: 1px solid var(--line);
      padding-top: 12px;
      color: var(--soft);
      font: 10px var(--mono);
    }
    @media (max-width: 720px) {
      body { padding: 32px 20px; }
      .notes { grid-template-columns: 1fr; }
    }
  </style>
</head>
<body>
  <main>
    <p class="eyebrow">Rementum · Data flow</p>
    <h1>Bir bilgi, ajanlar arasında nasıl kalıcı olur?</h1>
    <p class="intro">Ajan önce küçük routing index’i okur, yalnızca gereken makaleyi çeker ve değişikliği staged protokolle güvenli biçimde sürümler.</p>

    <div class="diagram">
      <svg viewBox="0 0 840 436" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="rementum-flow-title rementum-flow-desc">
        <title id="rementum-flow-title">Rementum okuma ve yazma akışı</title>
        <desc id="rementum-flow-desc">Claude, Codex ve OpenCode istemcilerinin MCP üzerinden bilgi okumasını; conflict-free staged write'ları otomatik promote edip riskli değişiklikleri kullanıcıya yönlendirmesini gösterir.</desc>
        <defs>
          <marker id="rementum-flow-arr-muted" markerWidth="8" markerHeight="8" refX="7" refY="4" orient="auto"><path d="M0 0 L8 4 L0 8 Z" fill="#646d68"/></marker>
          <marker id="rementum-flow-arr-accent" markerWidth="8" markerHeight="8" refX="7" refY="4" orient="auto"><path d="M0 0 L8 4 L0 8 Z" fill="#ce4f2f"/></marker>
          <marker id="rementum-flow-arr-link" markerWidth="8" markerHeight="8" refX="7" refY="4" orient="auto"><path d="M0 0 L8 4 L0 8 Z" fill="#315d49"/></marker>
        </defs>

        <rect width="840" height="436" fill="#efede7"/>
        <rect x="0" y="36" width="840" height="80" fill="rgba(24,33,29,0.018)"/>
        <rect x="0" y="196" width="840" height="80" fill="rgba(24,33,29,0.018)"/>

        <line x1="0" y1="36" x2="840" y2="36" stroke="rgba(24,33,29,0.14)" stroke-width="0.8"/>
        <line x1="0" y1="116" x2="840" y2="116" stroke="rgba(24,33,29,0.14)" stroke-width="0.8"/>
        <line x1="0" y1="196" x2="840" y2="196" stroke="rgba(24,33,29,0.14)" stroke-width="0.8"/>
        <line x1="0" y1="276" x2="840" y2="276" stroke="rgba(24,33,29,0.14)" stroke-width="0.8"/>
        <line x1="0" y1="356" x2="840" y2="356" stroke="rgba(24,33,29,0.14)" stroke-width="0.8"/>
        <line x1="140" y1="36" x2="140" y2="356" stroke="rgba(24,33,29,0.14)" stroke-width="0.8"/>

        <g aria-label="Akış adımları">
          <rect x="180" y="4" width="32" height="16" rx="8" fill="rgba(24,33,29,0.12)"/><text x="196" y="16" class="step-number">01</text><text x="196" y="32" class="step-label">BAĞLAN</text>
          <rect x="292" y="4" width="32" height="16" rx="8" fill="rgba(24,33,29,0.12)"/><text x="308" y="16" class="step-number">02</text><text x="308" y="32" class="step-label">YÖNLENDİR</text>
          <rect x="404" y="4" width="32" height="16" rx="8" fill="rgba(24,33,29,0.12)"/><text x="420" y="16" class="step-number">03</text><text x="420" y="32" class="step-label">ARA</text>
          <rect x="516" y="4" width="32" height="16" rx="8" fill="rgba(24,33,29,0.12)"/><text x="532" y="16" class="step-number">04</text><text x="532" y="32" class="step-label">OKU</text>
          <rect x="628" y="4" width="32" height="16" rx="8" fill="rgba(206,79,47,0.20)"/><text x="644" y="16" class="step-number focal-text">05</text><text x="644" y="32" class="step-label focal-text">ÖNER</text>
          <rect x="740" y="4" width="32" height="16" rx="8" fill="rgba(24,33,29,0.12)"/><text x="756" y="16" class="step-number">06</text><text x="756" y="32" class="step-label">ONAYLA</text>
        </g>

        <g aria-label="Rol şeritleri">
          <text x="68" y="72" class="lane-label">AI</text><text x="68" y="84" class="lane-label">AJANLARI</text>
          <text x="68" y="152" class="lane-label">ERİŞİM</text><text x="68" y="164" class="lane-label">KATMANI</text>
          <text x="68" y="232" class="lane-label">BİLGİ</text><text x="68" y="244" class="lane-label">KATMANI</text>
          <text x="68" y="312" class="lane-label">DEĞİŞİKLİK</text><text x="68" y="324" class="lane-label">KAPISI</text>
        </g>

        <!-- Connectors render before nodes. -->
        <path d="M196 108 V124" fill="none" stroke="#315d49" stroke-width="1.2" marker-end="url(#rementum-flow-arr-link)"/>
        <path d="M246 156 H300 Q308 156 308 164 V204" fill="none" stroke="#646d68" marker-end="url(#rementum-flow-arr-muted)"/>
        <path d="M358 236 H370" fill="none" stroke="#646d68" marker-end="url(#rementum-flow-arr-muted)"/>
        <path d="M470 236 H482" fill="none" stroke="#646d68" marker-end="url(#rementum-flow-arr-muted)"/>
        <path d="M582 236 H636 Q644 236 644 244 V284" fill="none" stroke="#ce4f2f" stroke-width="1.2" marker-end="url(#rementum-flow-arr-accent)"/>
        <path d="M694 316 H706" fill="none" stroke="#646d68" marker-end="url(#rementum-flow-arr-muted)"/>
        <path d="M756 284 V268" fill="none" stroke="#315d49" stroke-width="1.2" marker-end="url(#rementum-flow-arr-link)"/>
        <rect x="584" y="216" width="48" height="12" rx="2" fill="#efede7"/>
        <text x="608" y="224" fill="#ce4f2f" font-size="8" font-family="ui-monospace, monospace" font-weight="700" text-anchor="middle" letter-spacing="0.06em">ÖNERİ</text>

        <!-- Agent clients -->
        <rect x="146" y="44" width="100" height="64" rx="6" fill="#efede7" stroke="rgba(24,33,29,0.28)"/>
        <rect x="150" y="48" width="20" height="12" rx="3" fill="rgba(24,33,29,0.12)"/><text x="160" y="57" class="role-text">AGN</text>
        <text x="196" y="72" class="node-title">Claude · Codex</text><text x="196" y="84" class="node-sub">OpenCode · aynı brain</text><text x="196" y="96" class="node-tool">skills + prompts</text>
        <rect x="226" y="98" width="16" height="8" rx="3" fill="#6e6479"/><text x="234" y="105" class="chip-text">WB</text>

        <!-- OAuth and MCP -->
        <rect x="146" y="124" width="100" height="64" rx="6" fill="#efede7" stroke="rgba(24,33,29,0.28)"/>
        <rect x="150" y="128" width="20" height="12" rx="3" fill="rgba(24,33,29,0.12)"/><text x="160" y="137" class="role-text">MCP</text>
        <text x="196" y="152" class="node-title">OAuth + MCP</text><text x="196" y="164" class="node-sub">kimlik + scope</text><text x="196" y="176" class="node-tool">HTTP tools</text>
        <rect x="150" y="178" width="16" height="8" rx="3" fill="#6e6479"/><text x="158" y="185" class="chip-text">WB</text>
        <rect x="226" y="178" width="16" height="8" rx="3" fill="#6e6479"/><text x="234" y="185" class="chip-text">WB</text>

        <!-- Routing index -->
        <rect x="258" y="204" width="100" height="64" rx="6" fill="#efede7" stroke="rgba(24,33,29,0.28)"/>
        <rect x="262" y="208" width="20" height="12" rx="3" fill="rgba(24,33,29,0.12)"/><text x="272" y="217" class="role-text">IDX</text>
        <text x="308" y="232" class="node-title">Routing Index</text><text x="308" y="244" class="node-sub">başlık · özet · slug</text><text x="308" y="256" class="node-tool">compact metadata</text>
        <rect x="262" y="258" width="16" height="8" rx="3" fill="#6e6479"/><text x="270" y="265" class="chip-text">WB</text>
        <rect x="338" y="258" width="16" height="8" rx="3" fill="#b8915a"/><text x="346" y="265" class="chip-text">TB</text>

        <!-- Search -->
        <rect x="370" y="204" width="100" height="64" rx="6" fill="#efede7" stroke="rgba(24,33,29,0.28)"/>
        <rect x="374" y="208" width="20" height="12" rx="3" fill="rgba(24,33,29,0.12)"/><text x="384" y="217" class="role-text">SRC</text>
        <text x="420" y="232" class="node-title">Hybrid Search</text><text x="420" y="244" class="node-sub">yalnız gerekirse</text><text x="420" y="256" class="node-tool">FTS + pgvector</text>
        <rect x="374" y="258" width="16" height="8" rx="3" fill="#b8915a"/><text x="382" y="265" class="chip-text">TB</text>
        <rect x="450" y="258" width="16" height="8" rx="3" fill="#b8915a"/><text x="458" y="265" class="chip-text">TB</text>

        <!-- Canonical article -->
        <rect x="482" y="204" width="100" height="64" rx="6" fill="#efede7" stroke="rgba(24,33,29,0.28)"/>
        <rect x="486" y="208" width="20" height="12" rx="3" fill="rgba(24,33,29,0.12)"/><text x="496" y="217" class="role-text">ART</text>
        <text x="532" y="232" class="node-title">Canonical Article</text><text x="532" y="244" class="node-sub">şifreli Markdown</text><text x="532" y="256" class="node-tool">current version</text>
        <rect x="486" y="258" width="16" height="8" rx="3" fill="#b8915a"/><text x="494" y="265" class="chip-text">TB</text>
        <rect x="562" y="258" width="16" height="8" rx="3" fill="#9c6b50"/><text x="570" y="265" class="chip-text">FL</text>

        <!-- Staged write focal -->
        <rect x="594" y="284" width="100" height="64" rx="6" fill="rgba(206,79,47,0.08)" stroke="#ce4f2f" stroke-width="1.2"/>
        <rect x="598" y="288" width="20" height="12" rx="3" fill="rgba(206,79,47,0.20)"/><text x="608" y="297" class="role-text focal-text">STG</text>
        <text x="644" y="312" class="node-title">Staged Write</text><text x="644" y="324" class="node-sub">diff + baseVersion</text><text x="644" y="336" class="node-tool">conflict check</text>
        <rect x="598" y="338" width="16" height="8" rx="3" fill="#9c6b50"/><text x="606" y="345" class="chip-text">FL</text>
        <rect x="674" y="338" width="16" height="8" rx="3" fill="#9c6b50"/><text x="682" y="345" class="chip-text">FL</text>

        <!-- Human review -->
        <rect x="706" y="284" width="100" height="64" rx="6" fill="#efede7" stroke="rgba(24,33,29,0.28)"/>
        <rect x="710" y="288" width="20" height="12" rx="3" fill="rgba(24,33,29,0.12)"/><text x="720" y="297" class="role-text">USR</text>
        <text x="756" y="312" class="node-title">Promotion Gate</text><text x="756" y="324" class="node-sub">auto if clear</text><text x="756" y="336" class="node-tool">human if conflict</text>
        <rect x="710" y="338" width="16" height="8" rx="3" fill="#9c6b50"/><text x="718" y="345" class="chip-text">FL</text>
        <rect x="786" y="338" width="16" height="8" rx="3" fill="#9c6b50"/><text x="794" y="345" class="chip-text">FL</text>

        <!-- New immutable version -->
        <rect x="706" y="204" width="100" height="64" rx="6" fill="rgba(49,93,73,0.06)" stroke="rgba(49,93,73,0.46)"/>
        <rect x="710" y="208" width="20" height="12" rx="3" fill="rgba(49,93,73,0.18)"/><text x="720" y="217" fill="#315d49" class="role-text">VER</text>
        <text x="756" y="232" fill="#315d49" class="node-title">New Version</text><text x="756" y="244" class="node-sub">değişmez geçmiş</text><text x="756" y="256" class="node-tool">audit + provenance</text>
        <rect x="710" y="258" width="16" height="8" rx="3" fill="#9c6b50"/><text x="718" y="265" class="chip-text">FL</text>

        <!-- Legend -->
        <text x="132" y="372" class="legend-label">ADIMLAR</text>
        <rect x="148" y="364" width="24" height="12" rx="6" fill="rgba(24,33,29,0.12)"/><text x="160" y="373" class="step-number">01</text><text x="180" y="372" class="legend-text">Bağlan</text>
        <rect x="236" y="364" width="24" height="12" rx="6" fill="rgba(24,33,29,0.12)"/><text x="248" y="373" class="step-number">02</text><text x="268" y="372" class="legend-text">Yönlendir</text>
        <rect x="340" y="364" width="24" height="12" rx="6" fill="rgba(24,33,29,0.12)"/><text x="352" y="373" class="step-number">03</text><text x="372" y="372" class="legend-text">Ara</text>
        <rect x="416" y="364" width="24" height="12" rx="6" fill="rgba(24,33,29,0.12)"/><text x="428" y="373" class="step-number">04</text><text x="448" y="372" class="legend-text">Oku</text>
        <rect x="492" y="364" width="24" height="12" rx="6" fill="rgba(206,79,47,0.20)"/><text x="504" y="373" class="step-number focal-text">05</text><text x="524" y="372" class="legend-text">Öner</text>
        <rect x="568" y="364" width="24" height="12" rx="6" fill="rgba(24,33,29,0.12)"/><text x="580" y="373" class="step-number">06</text><text x="600" y="372" class="legend-text">Onayla</text>

        <text x="132" y="396" class="legend-label">VERİ</text>
        <rect x="148" y="388" width="16" height="8" rx="3" fill="#6e6479"/><text x="156" y="395" class="chip-text">WB</text><text x="172" y="396" class="legend-text">İstek</text>
        <rect x="244" y="388" width="16" height="8" rx="3" fill="#b8915a"/><text x="252" y="395" class="chip-text">TB</text><text x="268" y="396" class="legend-text">Index</text>
        <rect x="340" y="388" width="16" height="8" rx="3" fill="#9c6b50"/><text x="348" y="395" class="chip-text">FL</text><text x="364" y="396" class="legend-text">Markdown</text>
        <text x="468" y="396" class="legend-text">sol = girdi · sağ = çıktı</text>

        <text x="132" y="420" class="legend-label">AKIŞ</text>
        <line x1="148" y1="416" x2="172" y2="416" stroke="#646d68" marker-end="url(#rementum-flow-arr-muted)"/><text x="180" y="420" class="legend-text">Standart</text>
        <line x1="280" y1="416" x2="304" y2="416" stroke="#ce4f2f" stroke-width="1.2" marker-end="url(#rementum-flow-arr-accent)"/><text x="312" y="420" class="legend-text">Staged proposal</text>
        <line x1="440" y1="416" x2="464" y2="416" stroke="#315d49" stroke-width="1.2" marker-end="url(#rementum-flow-arr-link)"/><text x="472" y="420" class="legend-text">Yetkili geçiş</text>
      </svg>
    </div>

    <section class="notes" aria-label="Akış açıklaması">
      <article class="note">
        <h2>Okuma yolu</h2>
        <p>Ajan routing index’ten ilgili makaleyi seçer. Index yetmezse full-text ve vector search kullanır; sonra yalnızca canonical makaleyi okur.</p>
      </article>
      <article class="note write">
        <h2>Yazma yolu</h2>
        <p>Ajan staged write üretir. Conflict-free normal write otomatik promote edilir; conflict, exception ve override kullanıcı onayına gider.</p>
      </article>
    </section>

    <footer>Rementum · MCP shared agent memory · static architecture diagram</footer>
  </main>
</body>
</html>