Totem · InfraNodus v2 Explainer
Sense → Diagnose → Intervene → Bridge → Re-sense

An Explainer · v0.1

Discourse Has Weather.

An ecological reading of the InfraNodus v2 skill — why thinking is a spiral, not a pipeline, and how to drive it on purpose.

01 · The Premise

Stop running pipelines. Start checking the weather.

The old InfraNodus skill was a pipeline: analyze, find gaps, generate questions, done. Same sequence every time, regardless of what the text actually looked like. The v2 skill replaces that with an ecological loop borrowed from Panarchy theory — the cycle of growth, saturation, release, and reorganization that ecosystems pass through.

Every analysis follows a recursive spiral. You sense the discourse state first, pick tools based on what you find, then re-sense to see what shifted. The agent's job is not to execute a sequence — it's to drive the spiral toward productive states.

It's ecological — like checking the weather before deciding what to plant.

This explainer walks through the five elements that make the v2 skill an actual decision protocol instead of a checklist: the spiral itself, the six discourse states it diagnoses, the transition map between them, the tools that drive each transition, and the failure mode (stagnation) that the whole architecture exists to prevent.

02 · The Spiral

Five steps. No fixed length. The loop is the point.

Sense, then diagnose, then intervene, then bridge, then re-sense. Each cycle generates knowledge, which generates new questions, which require new tool runs. You don't finish — you stop when the discourse is in a productive state.

01SENSE
02DIAGNOSE
03INTERVENE
04BRIDGE
05RE-SENSE
↻ loop until productive — or until stagnation forces an escape

What each step does

Sense — run generate_knowledge_graph to get the structural readout: modularity, cluster count, top-node betweenness, diversity score.

Diagnose — read the full output, not just numbers. The metrics can say "diversified" while the too_focused_on_top_clusters flag says otherwise. Trust the flags.

Intervene — look up the diagnosis in the Adaptive Response Table (Section 03 below) and run the prescribed primary + secondary tools.

Bridgedevelop_conceptual_bridges runs every cycle. v2 promotes it from optional to core practice. It connects the local discourse to broader context.

Re-sense — re-run the graph after intervention. Did the state shift? If yes, loop with the new diagnosis. If no for two cycles in a row, you've hit stagnation — switch to escape mechanisms.

03 · The Six Discourse States

The diagnosis tells you which protocol to run.

Each state has a metric signature (what the modularity and cluster numbers look like) and a prescription (which tools run as primary and secondary intervention). The first job is matching what you see to one of these.

Biased

Low modularity · High top-cluster %

ReadingOne dominant perspective. The discourse is captured by a single hub.
Primarydevelop_latent_topics — surface what's been suppressed.
Secondarygenerate_content_gaps at higher gapDepth.
TipSwitch modifyAnalyzedText to extractEntitiesOnly to break word dominance.

Focused

Medium modularity · Medium-high top-cluster %

ReadingConnected but concentrated. Healthy structure with a strong center of gravity.
Primarygenerate_content_gaps + develop_conceptual_bridges
Secondarygenerate_research_questions with useSeveralGaps: true
TipIncrease gapDepth to find deeper structural holes.

Diversified

High modularity · Medium top-cluster %

ReadingMultiple healthy clusters. The discourse has range. Now go deep.
Primarygenerate_research_questions per cluster — deepen each.
Secondaryoverlap_between_texts to find convergence threads.
TipConnect promising pairs to drive toward "productive."

Dispersed

Very high modularity · Low top-cluster %

ReadingFragmented. No coherence. Lots of clusters, none dominant, no bridges.
Primaryoverlap_between_texts — find common threads.
Secondarygenerate_contextual_hint for synthesis.
TipBuild shared vocabulary first. Then create synthesis notes.

Transitional

Changing modularity · Shifting clusters

ReadingThe structure is in motion. This is where creative potential is highest.
Primarydevelop_conceptual_bridges — lock in the reorganization.
Secondarygenerate_research_ideas with extended ideation mode.
TipCatch the wave. Transitional states don't last.

Stagnant — failure mode

Re-analysis returns the same results · Sameness = symmetry = stuck

ReadingThe discourse has hit a fixed point. Nothing the spiral does moves it.
Escape AScale shift — change modifyAnalyzedText.
Escape BPerspective shift — switch modelToUse.
Escape CStructural shift — increase gapDepth or remove the top three nodes.
The numbers and the flags can disagree. When they do, trust the flags — they're reading distribution, not just magnitude.

04 · State Map

The transitions are the point.

Diagnoses are not destinations. Each state has a default trajectory toward another state — and v2 names the mechanism. Click a state to see where it goes and what gets it there.

Click a state
The state map

Each node is a discourse state. Each arrow is the transition v2 prescribes — labeled with the mechanism that drives it. Click any node to highlight what flows into and out of it.

05 · The Transition Table

How states change — and how to drive the change on purpose.

The map above is the visual. The table below is the protocol. Each row is a transition: the mechanism that produces it and the tool sequence that executes it.

From → To Mechanism Tools
Biased Focused Introduce peripheral concepts. Remove dominant-node influence. develop_latent_topics → add latent content → re-analyze
Focused Diversified Bridge structural gaps with genuinely new content (not just reframing). generate_content_gapsgenerate_research_ideas → add bridging content → re-analyze
Diversified Productive Deepen each cluster with specifics. Connect the most promising pairs. generate_research_questions per cluster → develop each → re-analyze
Dispersed Convergent Find overlap. Create synthesis notes. Build shared vocabulary. overlap_between_textsdevelop_conceptual_bridges → synthesize
Any Stagnant Warning sign. Re-analysis produces the same result twice in a row. Change modifyAnalyzedText · increase gapDepth · switch modelToUse · remove top 3 nodes

What a real transition looks like in metrics

From the live demo in Section 3 of the source walkthrough — adding bridging content to a "focused" graph and re-sensing:

MetricBeforeAfter bridgingDirection
Modularity0.630.54↓ clusters merged
Cluster count86↓ consolidated
Top cluster %29%27%↓ less dominant
Top node BC0.34 (discourse)0.33 (discourse)→ stable
too_focused_on_top_clusterstruefalse✓ flag flipped
Top node influence ratio0.240.19↓ more distributed
Diversity scorefocusedfocused→ healthier, not transitioned

One round moved the needle but didn't complete the transition. Diversity score is still "focused." This is the iterative truth of the spiral: transitions take more than one cycle. You intervene, re-sense, and if the state hasn't fully moved, you intervene again.

06 · Tool Inventory

Twenty-four tools. Six categories. One mental model: cost gating.

The toolbox you draw from when the Adaptive Response Table tells you what to run. The big v2 promotion: develop_conceptual_bridges is now core practice — run it every workflow, not just when you remember.

1
generate_topical_clusters — cheapinteresting?proceed
2
generate_content_gaps — mediumsignificant gaps?proceed
3
develop_text_tool — expensiveonly if Gates 1–2 passed

01 Analysis · text → insight

The sensing and diagnosing tools. Take text in, get structure back.

  • generate_knowledge_graphFull network analysis. Always first — the Sense step.
  • generate_topical_clustersJust the clusters. Cheap gate check.
  • generate_content_gapsStructural holes between clusters. Primary intervention for focused/biased.
  • generate_contextual_hintTopical overview for RAG. Lightweight prompt augmentation.
  • develop_text_toolCombined: gaps + questions + latent topics. The expensive all-in-one.
  • develop_conceptual_bridgesConnect text to broader discourse. EVERY workflow.
  • develop_latent_topicsUnderdeveloped threads. Primary intervention for biased state.

02 Creation & Persistence

For building things that persist across sessions.

  • create_knowledge_graphSave a named graph to your InfraNodus account.
  • memory_add_relationsSave entity relations to persistent memory.
  • memory_get_relationsRecall saved relations by entity or context.

03 Comparison · text vs text

When you have two or more things to compare.

  • overlap_between_textsWhat do they share? Primary tool for dispersed state.
  • difference_between_textsWhat's in B but missing from A?

04 Retrieval & Search

Working with saved graphs and existing knowledge.

  • analyze_existing_graph_by_namePull and analyze a saved graph.
  • retrieve_from_knowledge_baseGraphRAG — query with natural language.
  • searchFind concepts across all your graphs.
  • fetchGet a specific search result by ID.
  • generate_responses_from_graphUse a graph as an expert knowledge base.
  • research_questions_from_graphGenerate questions from a saved graph's gaps.

05 SEO & Search Intelligence

Market and content opportunity analysis.

  • analyze_google_search_resultsWhat people find — supply.
  • analyze_related_search_queriesWhat people search for — demand.
  • search_queries_vs_search_resultsThe gap between demand and supply.
  • generate_seo_reportCompare your content against the landscape.

06 Research & Ideation

For generating novel directions.

  • generate_research_questionsQuestions from structural gaps.
  • generate_research_ideasIdeas from the same gaps.

07 · The Adaptive Workflow

Deep text analysis, end to end.

The primary workflow — what you run when someone hands you text and says "analyze this." The branching logic in steps 3 and 4 is what makes v2 adaptive. Old workflow ran the same four tools every time. v2 picks the right tools for the actual state.

Sense

Run the graph. Read modularity, cluster count, top-node betweenness, diversity score, and the boolean flags.

generate_knowledge_graph

Diagnose

Match the readout to one of the six states. The flags can override the numbers — when too_focused_on_top_clusters is true, you're focused even if modularity reads diversified.

Branch — choose the prescription

Look up the state in the Adaptive Response Table. Run the primary intervention. Run the secondary if you have budget.

generate_content_gapsdevelop_latent_topicsoverlap_between_textsgenerate_research_questions

Always bridge

Run conceptual bridges every workflow, regardless of state. v2 promoted this from optional to core. It's how the local discourse gets connected to broader context.

develop_conceptual_bridges

Re-sense

Re-run the graph on the extended content. Did the state shift? If yes, loop with the new diagnosis. If no for two cycles in a row, you've hit stagnation — switch to escape mechanisms (Section 08).

generate_knowledge_graph
Old workflow: same tools, same order, same parameters, every time. v2: pick the right tools for the actual state — and pick again on the next cycle.

08 · Stagnation & Escape

The whole architecture exists to prevent fixed points.

Stagnation is the failure mode. When re-analysis produces the same clusters and gaps, the discourse has hit a fixed point — the spiral isn't moving anything. Sameness = symmetry = stuck. Each escape mechanism works by injecting asymmetry.

A · Scale Shift

Change the lens.

Switch modifyAnalyzedText mode — for example, from none to extractEntitiesOnly.

Like zooming out on a map. Different patterns become visible at different scales.

B · Perspective Shift

Change the model.

Switch modelToUse — Claude → GPT-5 → Gemini.

Different models surface different latent structure. The text didn't change; the reading did.

C · Structural Shift

Change the depth.

Increase gapDepth. Enable useSeveralGaps. Mentally remove the top three nodes.

Forces the analysis past the obvious.

Why this works

Stagnation is symmetry. The system has reached an equilibrium where the same inputs produce the same outputs. Each escape mechanism breaks a different symmetry: scale (the resolution), perspective (the reader), and structure (the priority order). Inject any one of those and the system has to re-organize.

09 · Open Threads

What's left to build.

Two things from the source walkthrough that should be picked up next. Both are about extending the spiral from single-document analysis to a continuously-running practice.

Re-run Section 5 with a saved graph. The walkthrough's Step 5 demo never actually persisted the graph and shared the link. Run the full adaptive workflow once with create_knowledge_graph + memory_add_relations so the analysis lives somewhere durable and the result is shareable.
The cowork pattern. Set up a two-sequence feedback loop: one agent searches the Obsidian vault for items worth analyzing (recent sessions, drafts, transcripts), another runs the adaptive workflow on each one. The output gets routed back into the DKR. Targets to start with: Limore's session with the failing-company CEO, the MicroCo naming session, David's new concept, the Condo Sales test posts, and the next blog post draft.
The latent question. Each tool call literally moves the discourse through a cycle phase. generate_content_gaps is a release intervention. develop_conceptual_bridges is a reorganization intervention. If the spiral is real (and the metrics say it is), then any piece of intellectual work — not just InfraNodus runs — is moving through these phases. The skill names them. What other practices could be re-described in this vocabulary?