govctl logo govctl
Back to Blog
govctl team

govctl v0.9.2: Search and Faster Artifact Lookup

govctl 0.9.2 adds project-wide governance artifact search and speeds up common single-artifact commands with a local catalog that never becomes the source of truth.

releasegovctlv0.9.2searchperformance

govctl v0.9.2 is about finding the right governance artifact faster.

The 0.9.0 release cleaned up execution state: loops became local state, work item dependencies became first-class, and legacy JSON storage was removed from normal operation. 0.9.2 builds on that foundation with two practical improvements:

  • project-wide search across governed artifacts
  • faster single-artifact lookup for common commands

The important design constraint is the same in both cases: local indexes are disposable acceleration data. TOML governance artifacts remain the source of truth.

Search Across The Governance Corpus

The new command is direct:

govctl search caching
govctl search "work item" --type work
govctl search RFC-0002 -o json
govctl search migration --tag cli -n 5
govctl search cache --reindex

By default, govctl search searches RFCs, clauses, ADRs, work items, and verification guards. Use --type when you only want one or more artifact kinds:

govctl search schema --type rfc --type adr

Tags are intentionally strict. Multiple --tag flags mean the result must contain every requested tag:

govctl search migration --tag cli --tag schema

That makes tags useful for narrowing broad text matches to a specific domain.

Stable Output For Humans And Agents

The default output is a table for interactive use. For automation, use JSON or plain output:

govctl search RFC-0002 -o json
govctl search dependency --type work -o plain

This matters for agent workflows. Agents can now discover relevant governance context without guessing filenames, scanning rendered Markdown, or relying on ad hoc shell pipelines.

It also keeps the CLI contract explicit: query terms are user search terms, not raw backend query syntax.

Fresh Indexes, Not Second Sources Of Truth

Search uses local derived state under .govctl/. That keeps search fast without putting cache files into gov/ or rendered docs.

Before returning indexed results, govctl search establishes freshness. Changed artifacts are updated, deleted artifacts are removed from the index, and --reindex forces a full rebuild:

govctl search cache --reindex

If freshness cannot be established, govctl must not silently return stale indexed results. The index is an implementation detail; the governed TOML files are still authoritative.

Faster Direct Lookup

0.9.2 also improves commands that operate on a single artifact ID.

Previously, many single-artifact paths loaded an entire collection and searched in memory for the requested ID. That was simple, but it made common commands pay full-directory scan costs even when the filesystem layout or local metadata could identify the target directly.

Now RFCs, clauses, ADRs, work items, and guards use direct path resolution or a local artifact catalog where possible.

The catalog is deliberately conservative:

  • commands still read the target artifact before trusting it
  • the artifact’s stored ID must match the requested ID
  • stale catalog entries are repaired or bypassed
  • local catalog data never authorizes a mutation by itself

That gives larger repositories a faster day-to-day path without weakening the integrity model.

Why This Matters

Governance only works if people and agents can find the relevant context at the moment they need it.

Search makes the corpus discoverable by topic, ID, tag, and artifact type. The catalog makes ID-based workflows cheaper. Together, they reduce the friction of asking questions like:

  • Which ADR decided this?
  • Which work items mention this migration?
  • Which clauses define this CLI behavior?
  • Which guard is tied to this verification path?

v0.9.2 is a small release, but it changes the feel of working in a governed repository: less manual digging, fewer full scans for targeted actions, and no compromise on artifact authority.

Full changelog: CHANGELOG.md