Skip to content

Codex: implement Holmes CLI skeleton and language surface validator #2

@mdheller

Description

@mdheller

Mission

Turn Holmes from product doctrine into a working CLI/service controller skeleton.

Context

PR #1 bootstraps Holmes as the language intelligence fabric. This issue adds the first executable surface.

Required commands

Implement a holmes CLI with:

holmes --version
holmes doctor
holmes self-test
holmes emit-evidence
holmes analyze <path>
holmes search <query>
holmes graph <path>
holmes govern <path>

Behavior

  • doctor validates examples/holmes-surface.json and reports integration readiness.
  • analyze accepts a text file and emits deterministic JSON with basic counts, language-surface placeholder metadata, and evidence fields.
  • search, graph, and govern may be deterministic stubs that report delegation targets and required integrations.
  • emit-evidence emits tool version, platform, repo, and validated Holmes surface refs.

Product boundaries

  • Sherlock Search remains the discovery/retrieval engine.
  • Holmes orchestrates language intelligence but does not embed every model or dataset.
  • Local lab execution belongs in SociOS-Linux/nlplab.
  • Platform runtime graduation belongs in SocioProphet/prophet-platform.

Acceptance criteria

  • make validate passes.
  • make build produces a local holmes binary or executable.
  • holmes --version, holmes doctor, and holmes analyze examples/sample.txt work.
  • Tests cover example validation and deterministic analyze output.
  • README documents Homebrew future path: brew install holmes and façade path: prophet holmes ....

Out of scope

  • Do not implement full retrieval engine here.
  • Do not call remote models.
  • Do not add heavyweight NLP dependencies in this first pass.
  • Do not duplicate Sherlock Search internals.

Codex instructions

Open a focused PR. Include exact commands run and sample output.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions