Wonbeen Lee wbeen / AI Product Ops notebook

Lab note · interactive prototype

Public Knowledge Router: Turning Raw AI Conversations into Publishable Knowledge Assets

Route nine fictional raw inputs — chat transcripts, meeting notes, prompt ideas — through four boundary zones and watch the safe ones become typed public assets with canonical pages, markdown mirrors, and llms-full.txt entries.

Published 2026-07-08 Updated 2026-07-08 running public Astro · vanilla JS
Hypothesis
The public/private routing pipeline can be shown, not just described, in a static-site interactive.
Setup
Self-contained Astro component at /labs/public-knowledge-router — keyboard-first routing, pointer drag as enhancement, agent-view pipeline, SVG asset map; no backend.
Next iteration
Collect feedback on whether the agent view makes the markdown-mirror and llms.txt concepts legible to first-time visitors.

Routing simulation

Click a card — or drag it — to route each raw input through the public/private boundary, then pick a destination.

0 / 9 routed
Route all 9 cards to generate the map.

Incoming — raw inputs

The reasoning is worth publishing; the personal context woven through it is not. Strip the context first.
Already written for the public. Nothing to strip — publish verbatim and own the canonical copy here.
Designed to be reused by others from day one. Inputs, outputs, and safety notes are already explicit.
The decision pattern may be worth generalizing later. The source itself must never ship.
Public artifact with public proof. Publish as a project object with status and artifact links.
External source, no sensitivity. Keep the pointer plus your commentary; respect the quote policy.
The steps transfer; the examples do not. Replace internal examples with neutral ones first.
Not everything is knowledge. Discarding is a routing decision too, and it keeps the public layer trustworthy.
The experiment is publishable as a record; the messy specifics need restructuring into hypothesis → setup → result.

Public

Safe to publish verbatim. Becomes a typed asset immediately.

Generalize first

The pattern ships; names, numbers, and context do not.

Private source

Stays in the private layer. Derivatives may ship later — the source never does.

Discard

No reusable knowledge. Deliberate deletion keeps the archive honest.

0 / 9 routed

Hypothesis

This site’s core claim — raw personal knowledge becomes public, reusable, AI-readable assets only after an explicit boundary decision — is easier to show than to explain. A small interactive simulation should teach the routing model faster than the policy document does.

Setup

A self-contained Astro component embedded at /labs/public-knowledge-router. Nine fictional raw inputs (chat transcript, social post draft, prompt idea, internal meeting note, side project demo, reference article, workflow checklist, personal note, agent experiment) are routed into four zones: Public, Generalize first, Private source, Discard. Safe placements generate typed assets; an agent-view toggle exposes the machine-readable path for each one: raw input → sanitized summary → frontmatter → canonical page → markdown mirror → llms-full.txt entry. A final button draws the resulting asset map as a small knowledge graph.

Constraints: static only — no backend, no storage, no network calls, no dependencies beyond what the site already ships. All sample card text is fictional and generalized.

What I tried

  • Keyboard-first interaction as the core path: select a card, choose a zone with buttons or the 1–4 keys. Pointer drag-and-drop is layered on top as an enhancement, using pointer events instead of the HTML5 drag API (which has no touch support and poor assistive-technology behavior).
  • A vertical stepper below 620px instead of shrinking the routing canvas: one card at a time, full-width zone buttons, same state either way.
  • Pre-rendering every DOM node in the Astro template and letting the script only move nodes and toggle attributes, so scoped styles survive without a client framework.
  • Letting “wrong” placements stand. The router keeps the user’s decision and shows a quiet coaching note instead of bouncing the card back — the boundary is a judgment call, and the simulation should feel like one.

Result

In progress. The routing loop, agent view, stepper, and asset map work without a backend, and the interaction still reads correctly with animations disabled (prefers-reduced-motion drops the drag settle and the graph draw-in). What failed first: an early version that generated card markup from script broke the scoped-style contract and was rewritten to the render-static-then-move approach. The open question is legibility — whether the six-step agent view actually explains the mirror and llms.txt concepts to someone who has never seen them.

Next iteration

Collect feedback on the agent view’s legibility, then consider routing a real (already-published) item through the simulation as a worked example instead of fully fictional cards.