Wiki Schema
Domain
Agent harnesses: the software infrastructure that wraps LLMs to enable reliable, long-running, autonomous coding and general-purpose task execution. Covers specific harness implementations (Codex CLI, Claude Code, Hermes Agent, Gas Town/Gas City), architectural patterns, orchestration strategies, and the engineering discipline of “harness engineering.”
Conventions
- File names: lowercase, hyphens, no spaces (e.g.,
gas-town-meow-stack.md) - Every content page under
entities/,concepts/,comparisons/, andqueries/starts with YAML frontmatter (see below) - Top-level meta files (
SCHEMA.md,index.md,log.md) may omitsourcesand are exempt from the outbound-wikilink minimum - Use
[[wikilinks]]to link between content pages (minimum 2 outbound links per page) log.mdshould also use native Obsidian[[wikilinks]]for any internal page or source reference; when the precise repo path matters, use an alias such as[[codex-cli|entities/codex-cli.md]]- When updating a page, always bump the
updateddate - Every new content page must be added to
index.mdunder the correct section - Every action must be appended to
log.md - Run
scripts/lint-wiki.shafter structural edits or before committing wiki changes
Frontmatter
---
title: Page Title
created: YYYY-MM-DD
updated: YYYY-MM-DD
type: entity | concept | comparison | query
tags: [from taxonomy below]
sources: [raw/articles/source-name.md]
formal: # optional except for harness entity pages used by the Lean extractor
harness_id: codex_cli
session_model: thread_turn_item
memory_model: repo_artifacts
work_model: plans
evaluation_model: repo_checks
surface_model: cli_ide_web_protocol
topology: single_session
work_primitives: [plan]
surfaces: [cli]
durable_stores: [repo_artifacts]
evaluation_primitives: [repo_check]
coordination_roles: [generator, reviewer]
explicit_protocol_boundary: true
fresh_session_resets: false
skill_learning: false
observability_hooks: true
---Formal extraction block
The formal: block exists so the harness wiki can act as an actual typed source for the Lean formalization instead of forcing semantics back into prose notes.
Rules:
- It is currently required for the harness entity pages that feed the repo extractor:
entities/codex-cli.mdentities/claude-code.mdentities/hermes-agent.mdentities/gas-town.mdentities/gas-city.mdentities/openclaw.md
- It should use stable snake_case enum values.
- Every list value must use inline YAML list syntax, e.g.
[cli, ide, web]. - Prose may elaborate on the formal facts, but the extractor does not infer semantics from prose.
- If a new enum value is needed, update this schema and the repo extractor before using it.
Current enum domains used by the extractor:
harness_id:claude_code,codex_cli,gas_town,gas_city,hermes_agent,openclawsession_model:thread_turn_item,fresh_session_handoff,persistent_conversation,swarm_sessions,service_runtimememory_model:transcript_only,repo_artifacts,searchable_personal_memory,git_beads,service_statework_model:none,plans,sprint_contracts,tasks_skills_cron,bead_graph,ecosystem_skillsevaluation_model:self_review_only,repo_checks,tool_verification,separate_evaluator,federated_oversightsurface_model:cli_only,coding_surface,cli_ide_web_protocol,cli_gateway_mcp,orchestrator_factory,multi_channel_servicetopology:single_session,session_team,factory_swarm,federated_exchange,service_hubwork_primitives:plan,feature_list,progress_log,sprint_contract,task,skill,cron_job,automation,bead,epic,molecule,protomolecule,formula,wisp,wanted_board,ecosystem_skillsurfaces:cli,terminal,ide,browser,desktop,web,app,cloud,sdk,slack,messaging,mcp,http_api,tmuxdurable_stores:transcript,repo_artifacts,shared_client_state,searchable_memory,git,dolt,service_workspace,workspace_files,session_databaseevaluation_primitives:self_review,repo_check,tool_observation,separate_evaluator,ci_review,browser_evaluation,validator_role,federated_trustcoordination_roles:planner,generator,evaluator,reviewer,orchestrator,mayor,polecat,sheriff,witness,deacon,validator,scheduler,memory_manager
sources should name the immediate inputs for the page. Usually these are files under raw/; synthesis or design pages may instead cite existing wiki pages when those pages are the direct source material.
Tag Taxonomy
Implementations
codex-cli— OpenAI Codex CLI / harnessmathcode— MathCode mathematical coding agent with Lean formalization and proof searchclaude-code— Anthropic Claude Codehermes-agent— Nous Research Hermes Agentmemento-skills— Memento-Teams self-evolving skill-memory agent systemgas-town— Steve Yegge’s Gas Town orchestratorgas-city— Gas Town’s modular successoropenclaw— OpenClaw persistent agentlangchain— LangChain / LangGraphcrewai— CrewAI multi-agent frameworkcursor— Cursor IDE agentdspy— Declarative Self-improving Python / LM-program compilation and optimization framework
Architecture & Patterns
orchestration— Multi-agent coordinationmemory— Persistent memory / context managementtool-execution— Tool calling, sandboxing, permissionssubagents— Sub-agent delegation patternswork-management— Task tracking, planning, DAGscontext-engineering— Context window optimizationerror-recovery— Error handling, retry, state recoverysafety— Guardrails, permissions, sandboxes
Evaluation
comparison— Side-by-side analysesbenchmark— Performance measurementcode-quality— Codebase quality analysis
Model internals & synthesis
mechanistic-interpretability— Residual streams, feature discovery, activation interventions, model editingprogram-synthesis— Program induction, latent program representations, executable IR design
Semantics & Formalization
formal-methods— Specifications, verification, proof systems, certified reasoningsemantics— Formal semantics, abstraction layers, interpretation mapsepistemics— Knowledge, belief, uncertainty, update logicsconcurrency— Partial orders, event structures, pomsets, scheduling semantics
Meta
survey— Survey / overview articlesopinion— Opinion pieces and predictionstutorial— How-to guideshistory— Historical context and evolutionmeta— Wiki-internal metadata or maintenance notesschema— Schema or taxonomy definitions for the wiki itself
Rule: every tag on a page must appear in this taxonomy. If a new tag is needed, add it here first, then use it.
Page Thresholds
- Create a page when an entity/concept appears in 2+ sources OR is central to one source
- Add to existing page when a source mentions something already covered
- DON’T create a page for passing mentions, minor details, or things outside the domain
- Split a page when it exceeds ~200 lines — break into sub-topics with cross-links
- Archive a page when its content is fully superseded — move to
_archive/, remove from index
Entity Pages
One page per notable entity. Include:
- Overview / what it is
- Key facts and dates
- Architecture highlights
- Strengths and weaknesses
- Relationships to other entities (wikilinks)
- Source references
Concept Pages
One page per concept or topic. Include:
- Definition / explanation
- Current state of knowledge
- Open questions or debates
- Related concepts (wikilinks)
Comparison Pages
Side-by-side analyses. Include:
- What is being compared and why
- Dimensions of comparison (table format preferred)
- Verdict or synthesis
- Sources
Update Policy
When new information conflicts with existing content:
- Check the dates — newer sources generally supersede older ones
- If genuinely contradictory, note both positions with dates and sources
- Mark the contradiction in frontmatter:
contradictions: [page-name] - Flag for user review in the lint report