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
Split out of #52.
The problem
okf indexandwayfinder indexare the same verb for unrelated jobs:okfwayfindervalidateindexindex.mdfilesformatsearchgraphmcpA consumer running both binaries side by side — which #52 reports is the working shape for a CI gate — has to know that
indexmeans one thing here and another thing there. Worse,okf index --checkis what tells you yourindex.mdfiles 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
wayfindera passthrough forokf format --checkandokf index --check" cannot be done as stated, becausewayfinder indexis already taken by something else.wayfinder_clidepends onokfas a library, so the passthrough itself is otherwise straightforward.Options
wayfinder indexbecomes something that says what it does —wayfinder embed, orwayfinder index --embeddingsas a transitional alias — freeingindexto mean what it means in OKF. Breaking for anyone scriptingwayfinder index, and it appears indocs/install.mdand the retrieval docs.wayfinder indexas-is and expose canonical-form checks under a name that cannot collide, such aswayfinder check --format --indexdelegating to the embeddedokf. No break, but the vocabulary stays split from OKF's.Recommendation
(a), with (b)'s delegation on top once
indexis 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
okfandwayfinderwayfinderwithout invoking a second binarySplit out of #52.