Skip to content

okf index and wayfinder index are the same verb for different jobs #91

Description

@leoafarias

The problem

okf index and wayfinder index are the same verb for unrelated jobs:

okf wayfinder
validate OKF Spec conformance OKF and the declared Profile
index Generate deterministic bundle indexes — the index.md files Update saved local embeddings — the search index
format Canonically format Markdown absent
search absent Search the saved index
graph Render the relationship graph Project the relationship graph
mcp OKF tool surface Wayfinder tools

A consumer running both binaries side by side — which #52 reports is the working shape for a CI gate — has to know that index means one thing here and another thing there. Worse, okf index --check is what tells you your index.md files are stale (it flagged 41 in the reported bundle), and the binary that owns Profile conformance uses that word for embeddings instead.

This also blocks the cleanest answer to #52. "Make wayfinder a passthrough for okf format --check and okf index --check" cannot be done as stated, because wayfinder index is already taken by something else. wayfinder_cli depends on okf as a library, so the passthrough itself is otherwise straightforward.

Options

  • a. Rename the embeddings command. wayfinder index becomes something that says what it does — wayfinder embed, or wayfinder index --embeddings as a transitional alias — freeing index to mean what it means in OKF. Breaking for anyone scripting wayfinder index, and it appears in docs/install.md and the retrieval docs.
  • b. Namespace the passthrough. Keep wayfinder index as-is and expose canonical-form checks under a name that cannot collide, such as wayfinder check --format --index delegating to the embedded okf. No break, but the vocabulary stays split from OKF's.
  • c. Do nothing and document it. State the collision plainly in the install guide and the gate guidance. Cheapest, and leaves every consumer to trip over it once.

Recommendation

(a), with (b)'s delegation on top once index is free — that gives consumers one binary, one --help, and one meaning per verb, which is what #52 actually asked for. Worth deciding before the next release rather than after, because the rename is breaking and the CLI is young.

Acceptance

  • One verb, one meaning across okf and wayfinder
  • Canonical-form and index-freshness checks reachable from wayfinder without invoking a second binary
  • Whatever breaks is named in the changelog with the replacement, and the docs and skills that reference the old name are updated

Split out of #52.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions