Historical document from source revision
61e75e9. This implementation plan is archived for reference and is not current implementation guidance. Original source.
okf for OKF v0.2Make every CLI read and write interface version-aware, expose v0.2 signals, and
integrate a single migration planner without domain logic in main.go.
Dependencies: task09.md–task15.md.
Keep cmd/okf/main.go as the bootstrap. Move command orchestration into
internal/okfcli:
Version resolution, trust, staleness, provenance, graph, and migration come from domain packages. The CLI does not traverse raw YAML.
For bundle commands:
--spec auto|0.1|0.2
The default is auto; resolution follows task09. An explicit selector that
conflicts with the declaration is a failure/assertion mismatch, not a silent override.
versionText reports the CLI version separately from the supported/default OKF specifications.
Add --json:
{
"cli_version": "vX.Y.Z",
"okf_spec_default": "0.2",
"okf_spec_supported": ["0.1", "0.2"]
}
validatePreserve existing flags and output fields; add:
--as-of YYYY-MM-DD for strict staleness checks;v0.2 must not produce false positives for timestamp/Citations.
infoAdd deterministic counts:
--as-of;parseTyped text/JSON projection:
Bare and list forms of verified produce the same result.
fmtRemain parsing plus canonical serialization:
-w.indexgraphPass an explicit projection profile and options to package graph; stdout contains
only the selected graph payload. Preserve legacy --dot.
migrateokf migrate <bundle> --to 0.2
[--from auto|0.1]
[--actor <actor>]
[--write]
[--format text|json]
Default to a dry run. Delegate to the task15 planner; do not perform independent YAML/file edits. Apply uses a revision/digest-bound atomic store commit.
0: successful command, conformant validation, valid dry run/apply.1: conformance failure, migration blocker, usage/operational error.error:.0.All tests follow AAA.
--, unknown/duplicate/extra args.main.go contains no domain logic.go test ./... and binary E2E pass.Execution/attestation runtime, LLM conversion of arbitrary SQL/prose, and changes
to custom relations.