gabriel / muse public
feat patch read dev #42 / 100
AI Agent gabriel · 12 days ago · May 27, 2026 · Diff

feat(read): idiomatic JSON output — null provenance, omit empty fields

- Optional provenance strings (agent_id, model_id, toolchain_id, prompt_hash, signature, signer_public_key, signer_key_id, status) are now null instead of empty string when unset. null means 'not set'; empty string means 'set to nothing' — distinct semantics. - metadata, reviewed_by, labels, notes omitted when empty. - test_runs omitted when 0, score omitted when null. - parent2_commit_id omitted on linear commits (only present on merges).

18 new tests in TestJsonIdioms cover all cases including round-trip verification that agent commits and merge commits still emit the fields.

sha256:45f2939a0a8e1941d7b8f3aa0f37d6e582e08396c0742565f7594fa98504f1d7 sha
sha256:540ebb07ff13010d75d410d55cd8bbf9acfc65e9ea9108f93d11bd4ec3b5eb8a snapshot

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:45f2939a0a8e1941d7b8f3aa0f37d6e582e08396c0742565f7594fa98504f1d7 --body "your comment"