Skip to main content
Monogram is Monolex’s code-intelligence engine. It turns a source tree into ranked locations, exact symbols, call and dependency graphs, cross-boundary coupling evidence, and deep semantic worklists. The goal is not to guess from a function name; it is to move from a symptom to bounded source evidence and then prove the owning path. Published contract: monogram 0.98.11, OpenCLIs build 2026-07-20-154556. Run monogram --version to identify the binary you are using. In an agent/non-TTY process, bare monogram prints the compact entry brief; use monogram docs initiate or monogram help --full for the complete embedded reference.

Quick start

Every investigation result includes executable [NEXT] guidance. A normal path is:

Agent entry and embedded docs

The 0.98.11 release retains the survivable agent entry introduced in 0.97.0 and keeps the full command manual available on demand:
The topic list also includes audit-guide, flow-guide, ownership-ffi-guide, and sequence. Human-readable stats, search, and region output routes through a mutation-aware three-state sequence entry gate:
  • A new recognized task file emits a runnable sequence start task --from <path> hint. Recognized cwd files are TASK.md, PLAN.md, BUG.md, .task.md, and .monobench-task-instruction.md; the historical /tmp Monobench instruction path remains supported.
  • An open current session initially emits one ORDER OPEN (<id>) line naming its connection-points.md path and the required final sequence finish verb, so a compacted agent can re-enter the binding order. Once a checked file in the saved scope has an mtime newer than the UTC session start, the line escalates to edits detected in its scope and the final-close form.
  • A finished session stays silent for the same task digest, while a different task file triggers the entry hint again. A virgin root with no recognized file retains the generic sequence start ... --from <task-or-bug.md> placeholder.
sequence start --from stores the task’s source_path and FNV-1a 64-bit identity source_digest in meta.json. The digest gates duplicate guidance; it is not a cryptographic integrity claim. This release does not add an MCP tool: monogram mcp-schema still reports exactly 50 investigation commands. Successful stats --json, search --json, and region --json payloads now include sequence_hint: it is the same state-aware edge as a string, or null when no edge applies. The MCP server forces those commands through JSON, so MCP clients receive the same field without a second state machine or schema command. The existing sequence tool retains its binding [IAW-SOP] ORDER chain and closing verb sequence finish. start and define expose that ordered contract in human and JSON output; status and resume re-emit the current phase after context loss. Run finish after the last Edit/Write: it re-presents the saved task contract and available Book knowledge, writes finish.json, changes the session phase to finished, and tells the agent to make no later source mutation. In 0.98.11, the installed external initiate.md and current release source are identical, with SHA-256 dbb1812866a6291ebc576106ec72a948fb7cdd24f2bd8a1156c9c6d0daa0c963. The installed SKILL also matches source at 228133b0d369cecbc19150f3b6b20dad76364b6930214c196b7550bff536f627. The complete hook lifecycle is shipped in this release:
The hook preserves unrelated settings and hooks. Its carrier remains a fail-quiet, one-file core-index refresh; it does not build deep semantics, create a database, migrate a schema, or replace an ordinary index refresh. The release also carries forward the Windows-safe ASCII release gate, the synchronized NIIA standalone lock, and the lib-monosession optional SQLite boundary required by the all-CLI release gate. version --json is not a supported form; use monogram --version or monogram version for the executing identity.
The 0.98.11 CDN metadata has a provenance split. latest.json and the Linux and Windows platform rows name clean source commit 04f5162b8bb1518c8814b50de90990ad4030e3ca; the macOS archive row names clean commit 96d20c623b95e8aa9938b96d2a608557aac09e8d. Artifact hashes below are verified, but the five rows must not be described as one-source provenance until the release metadata or archive is republished consistently.
For isolated CI, benchmark, or disposable-worktree runs, set MONOGRAM_HOME=<dir>. Core and semantic databases then live under <dir>/monogram/, while sequence sessions and their finish.json witnesses live under <dir>/problem-definitions/. Without the override, sequence state remains repo-local under .monogram/problem-definitions/. Version 0.98.2 closed the earlier leak where sequence artifacts could enter a benchmark Git patch even though the index databases were already isolated; 0.98.11 retains that isolation and the 0.98.3 per-task provenance inside the isolated session.

What Monogram owns

The evidence boundary

Monogram deliberately separates observation from conclusion:
  • Search and region scores rank likely source locations. They do not prove causality.
  • uncalled reports no inbound edge in the indexed graph. Dynamic, reflective, trait, external, and test callers may be invisible.
  • Deep semantic commands and possibility bands return candidates or complete review worklists. A row is not automatically a defect.
  • coupling --verify-callers reports inbound-edge facts for orphan definitions; public APIs and dynamically invoked handlers still require interpretation.
  • The stable proof loop is context the concrete row, follow it with chain or investigate, inspect the owning boundary, and rerun the same query after a change.

Public MCP surface: 50 tools

monogram mcp exposes 50 investigation tools over stdio JSON-RPC. monogram mcp-schema prints the exact wrapper schema used by the server.
The 50-tool surface includes locate, navigation, contract, coupling, quality, deep-semantic, and possibility-band commands. The complete inventory and purpose of every tool is in Monogram Reference. Index and terminal administration are intentionally separate from that 50-tool count. Commands such as index, reindex, prune, scope, docs, verify, hook claude, hook install/remove/status, and mcp manage local state or integration rather than serving as MCP investigation tools. In the sequence family, start, deepen, define, finish, and resume change repo-local session artifacts; only status and list are read-only. boot init also writes configuration. See the mutation boundaries on the companion pages.

Supported languages

The core index recognizes 24 language families: The basic index extracts search identifiers, symbols, references, calls, imports, and boundary keys where the language adapter supports them. The deep semantic companion is a separate evidence plane: verify it with monogram semantic status before relying on deep commands.

Project-scoped indexes

Each registered project root has its own database. Monogram resolves the deepest indexed ancestor of the current working directory, so your current directory is part of every query.
In a monorepo, cd into the intended indexed subtree before making an absence claim. Learn the registry, workspace expansion, schema-v17 corpus policy, selective recovery, and fail-closed deep-index rules in Scope & Index Management.

Installation and release identity

Monogram is distributed through OpenCLIs:
The installed binary, the OpenCLIs registry entry, and a development checkout can be at different versions. Public behavior should be claimed from the installed release and its live mcp-schema; source-only changes are not a shipped feature. The public registry guide includes the ordered sequence flow and relationships to NIIA, Monoflow, Work Wiki, Monograph, the Monogram companion tools, Kernel CLI, and MonoSurf. When command-specific wrapper guidance is useful, run for example OPENCLIS_NEXT=1 openclis monogram search "session reconnect"; the wrapper adds a bounded next step after the native Monogram result. The 0.98.11 release has five platform artifacts. Each archive and extracted payload below was downloaded from build 2026-07-20-154556 and verified directly: The OpenCLIs-managed macOS payload reports 0.98.11, passes strict signature verification, exposes 50 MCP schema commands, and verifies 353 embedded Book files plus seven initiate-tree files. Archive integrity, executable signature, runtime behavior, and source-provenance metadata are separate proofs; the verified hashes do not resolve the macOS commit split described above. Intel macOS is not part of the stable five-platform matrix. Check cdn.openclis.com/monogram/latest.json and its referenced meta.json rather than inferring platform support from the Rust source.

Relationship to the Monolex tools

Keeping results fresh

index and -r are the everyday incremental paths. reindex is a full rebuild. Monogram prints index identity and freshness before queries; do not silently treat stale results as current evidence.
Version 0.98.11 separates executable version from extraction compatibility. A different Monogram crate version may continue incremental writes when the stored corpus contract epoch is unchanged; an old contract epoch refuses the write and routes to a rebuild. This avoids needless full rebuilds while still preventing a new extractor from stamping old structural assumptions as current. Selective --files-from recovery may converge content or membership drift it observes during the paired core/deep pass. It does not silently accept a new or removed source outside the authoritative carrier: unresolved structural drift leaves semantic currentness closed and requires a broader index. After a successful crash-safe reindex, Monogram protects every live registry pointer, keeps the newest previously served generation as a rollback/in-flight-reader margin, and reclaims older superseded generations plus same-root crash orphans.

Where next