lantern

oculus-tagging-taxonomy

Oculus Tagging Taxonomy

A living guide to the tagging conventions used in the Oculus knowledge graph. This page includes live statistics that update whenever you view it.

Live Statistics

Live Statistics

Overview

TableConfig:
  array_path: namespaces
  columns:
    Namespace: namespace
    Tag Count: tag_count
    Total Usage: total_usage
  format: markdown

❌ Fence Execution Error: "'tag-statistics' - Down the rabbit hole we went, but that node doesn't exist! Try 'oculus list' to see what's available."

Top 20 Tags

TableConfig:
  array_path: top_tags
  columns:
    Tag: tag
    Count: count
  format: markdown

❌ Fence Execution Error: "'tag-statistics' - Down the rabbit hole we went, but that node doesn't exist! Try 'oculus list' to see what's available."

Pattern/Implementation Summary

TableConfig:
  array_path: patterns
  columns:
    Pattern: tag
    Nodes: count
  format: markdown

❌ Fence Execution Error: "'tag-statistics' - Down the rabbit hole we went, but that node doesn't exist! Try 'oculus list' to see what's available."

TableConfig:
  array_path: implementations
  columns:
    Implementation: tag
    Nodes: count
  format: markdown

❌ Fence Execution Error: "'tag-statistics' - Down the rabbit hole we went, but that node doesn't exist! Try 'oculus list' to see what's available."

Tagging Philosophy

Tags serve three purposes in Oculus:

  • Discovery - Find related content across the graph
  • Classification - Categorize nodes by type, pattern, or domain
  • Audit - Track implementations of patterns and conventions

Namespace Conventions

Tags use namespace:value format for structured categorization. Plain tags (no colon) are general-purpose.

Core Namespaces

Tags use namespace:value format for structured categorization. Plain tags (no colon) are general-purpose.

Wonderland Namespaces

Thematic tags inspired by Alice's adventures:

Namespace Purpose Example
potion: Executable capabilities - tools, utilities, skills you can do potion:graph-navigation
cake: Learning paths - reading lists, curricula, knowledge you consume cake:peregrine-basics

"Drink Me" potions grant abilities. Tag nodes that provide executable tools or reusable capabilities.

"Eat Me" cakes are for consumption. Tag reading lists, learning paths, and curated knowledge collections.

Core Namespaces

Namespace Purpose Example
pattern: Defines a methodology or convention pattern:methodology
implementation: Marks concrete realizations of patterns implementation:looking-glass-development
guide: Documentation guides by audience guide:gentik
test: LGD test nodes for features test:graphnode
fence: Fence provider references fence:graphnode
type: Node type classification type:guide
status: Lifecycle status status:active
component: System component references component:kinesis-statsd

Guide Namespace

The guide: namespace classifies documentation by target audience:

Tag Audience Description
guide:gentik AI Agents Cut-down tool guides for AI consumption. Like MCP schemas but for CLI tools and systems. Quick reference format with commands, workflows, error handling.
guide:user Humans Traditional user documentation with narrative explanations
guide:admin Operators Ops-focused guides for deployment, maintenance, troubleshooting

Gentik Guide Convention:

  • Slug pattern: guide-<tool-name>
  • Must have "Quick Reference" section
  • Copy-paste ready commands
  • No narrative fluff
  • Index: [[gentik-guide-index]]

Pattern/Implementation Pairs

This is the interface/class analogy for the knowledge graph:

pattern:methodology          ← The contract (what it means)
    ↓ implements
implementation:looking-glass-development  ← Concrete realization

Discovery workflow:

# Find all methodology patterns
oculus find-by-tag pattern:methodology

# Find all nodes implementing LGD
oculus find-by-tag implementation:looking-glass-development

Date Tags

Temporal tags for tracking when content was created or relevant:

Format Scope Example
YYYY-MM Month 2025-11
YYYY-MM-DD Day 2025-11-17
YYYY-MM-wWW Week 2025-11-w47

Training Hierarchy

For structured learning content:

Tag Level Contains
training-parent Top Overall training structure
training-month Month Monthly curriculum
training-week Week Weekly modules
training-day Day Daily lessons

Related: peregrine-training, discovery-phase

Domain Tags

General-purpose tags for subject areas:

Domain Tags
Infrastructure aws, ecs, fargate, efs, containers
Tools jenkins, deployoryah, stuffy, oculus
Architecture architecture, graph, fence, graphnode
Process troubleshooting, debugging, diagnostic
Content guide, documentation, reference, example
Testing testing, harness, vitest, pytest, rspec
Languages javascript, python, ruby, typescript

Harness Tags

The harness tag marks reusable test execution components:

Tag Description
harness Base tag for all test harness nodes
vitest-harness JavaScript/TypeScript via Vitest
pytest-harness Python via pytest
rspec-harness Ruby via RSpec

Harnesses follow the [[pattern-looking-glass-development]] and are tagged:

  • harness - the class/type marker
  • pattern:lgd or pattern:methodology - indicates LGD compliance
  • Language tag (javascript, python, ruby)

Tag Hygiene Guidelines

DO

  • Use namespaces for structured categories (pattern:, implementation:)
  • Be consistent - check existing tags before creating new ones
  • Tag implementations when you follow a pattern
  • Use date tags for time-relevant content

DON'T

  • Create duplicate tags with slight variations (debugging vs debug)
  • Use tags as sentences (this-is-about-aws-deployment)
  • Over-tag - 3-7 tags per node is usually sufficient
  • Create orphan patterns without implementations

Roadmap

Roadmap

Current Pattern Tags

TableConfig:
  array_path: patterns
  columns:
    Pattern Tag: tag
    Implementing Nodes: count
  format: markdown

❌ Fence Execution Error: "'tag-statistics' - Down the rabbit hole we went, but that node doesn't exist! Try 'oculus list' to see what's available."

Current Implementation Tags

TableConfig:
  array_path: implementations
  columns:
    Implementation Tag: tag
    Nodes: count
  format: markdown

❌ Fence Execution Error: "'tag-statistics' - Down the rabbit hole we went, but that node doesn't exist! Try 'oculus list' to see what's available."

Audit: Untagged Nodes

TODO: Add graphnode to find nodes with zero tags

Audit: Pattern Coverage

TODO: Add graphnode to find patterns with zero implementations

Quick Reference

CLI Commands

# List all tags with counts
oculus list-all-tags

# Find nodes by tag
oculus find-by-tag wanderland

# Add tags to a node
oculus add-tags my-node consciousness architecture

# View node tags
oculus get-tags my-node

MCP Tools

// List all tags
mcp__wanderland__oculus_list_all_tags()

// Find by tag
mcp__wanderland__oculus_find_by_tag({ tag: "pattern:methodology" })

// Add tags
mcp__wanderland__oculus_add_tags({ slug: "my-node", tags: ["new-tag"] })

See Also

  • [[pattern-looking-glass-development]] - Primary methodology pattern
  • [[pattern-embedded-tests]] - Self-validating documentation pattern
  • [[tag-statistics]] - Raw statistics graphnode

Slots

North

slots:
- oculus
- patterns

South

slots:
- tag-statistics
- tag-statistics

East

slots:
- pattern-looking-glass-development
- pattern-looking-glass-development

West

slots:
- patterns

Core Namespaces

Domain Tags

↑ northoculuspatterns
↓ southtag-statistics
← westpatterns