Skip to content

Make fact setup executable from client tools#316

Merged
justinjoy merged 1 commit into
mainfrom
fact-client-cli
May 14, 2026
Merged

Make fact setup executable from client tools#316
justinjoy merged 1 commit into
mainfrom
fact-client-cli

Conversation

@justinjoy

Copy link
Copy Markdown
Contributor

Summary

  • Add typed C client APIs for guarded fact graph creation, schema registration, and fact batch append.
  • Add wyctl graph create, wyctl fact schema register, and wyctl fact put commands with token-file and guard-context support.
  • Extend daemon-backed wyctl tests to run graph setup, schema registration, CSV input conversion, append, and duplicate append verification.

Validation

  • meson test -C builddir-issue50-fact --print-errorlogs (71 OK, 1 skipped)
  • meson test -C builddir-issue50-default --print-errorlogs (67 OK, 1 skipped)

Expose typed client calls and wyctl commands for graph creation, schema registration, and guarded fact batch insertion without letting client code open fact storage paths directly.

Constraint: fact writes remain daemon-mediated so tenant, graph, schema, and audit decisions stay centralized in the HTTP guard path.
Rejected: adding direct CLI access to graph-local storage | it would bypass the daemon boundary and weaken physical separation.
Confidence: medium
Scope-risk: moderate
Directive: Keep fact CLI commands tenant-explicit and keep bearer tenant binding aligned with request tenant/path values.
Tested: meson test -C builddir-issue50-fact wyctl-policy-daemon daemon-http-facts --print-errorlogs; meson test -C builddir-issue50-default wyctl-policy-daemon wyctl-basic --print-errorlogs
Not-tested: quoted CSV, embedded delimiters, and generated batch identifiers are intentionally not supported in this first CLI surface.
Co-authored-by: OmX <omx@oh-my-codex.dev>
@justinjoy justinjoy merged commit d308857 into main May 14, 2026
3 checks passed
@justinjoy justinjoy deleted the fact-client-cli branch May 14, 2026 05:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant