feat(ls-tree): agent-ready supercharge — envelope, sha256: OIDs, _emit_error
- Add _LsTreeJson / _LsTreeErrorJson TypedDicts for stable wire format - Add _emit_error(output_json, msg, code): JSON errors to stdout in --json mode - Expand JSON envelope: status, error, path_prefix, recursive, entry_count, duration_ms, exit_code - Fix _synthetic_tree_id to return sha256:-prefixed ID (was bare hex) - Propagate output_json flag into _resolve_manifest and _validate_path_prefix - Update docstring with full JSON schema and error schema - Fix test_cmd_ls_tree.py: sha256:-prefix _sha(), fix synthetic tree ID length assertion - Add test_ls_tree_supercharge.py: 40 tests across envelope/error/OID/TypedDict/docstring/prose-pollution
sha256:3bde27f0c3f4077617ce1e5b128767b8e6779bf2ae0e0fad8a07b2da442a0714
sha
+76
~6
symbols
sha256:5e9cc4673e341f959e0af09a28776dd3a3da0b443ce0129a8fa28f4d028e80c7
snapshot
+76
symbols added
~6
symbols modified
0
dead code introduced
Semantic Changes
82 symbols
+
test_docstring_documents_error_schema
method
method test_docstring_documents_error_schema L398–400
+
test_error_payload_has_exactly_three_keys
method
method test_error_payload_has_exactly_three_keys L199–203
+
test_entry_count_matches_entries_length
method
method test_entry_count_matches_entries_length L135–140
+
test_synthetic_tree_object_ids_sha256_prefixed
method
method test_synthetic_tree_object_ids_sha256_prefixed L261–270
+
test_text_format_blob_oid_sha256_prefixed
method
method test_text_format_blob_oid_sha256_prefixed L294–303
+
test_ls_tree_error_json_typeddict_exists
method
method test_ls_tree_error_json_typeddict_exists L354–356
+
test_ls_tree_json_has_status_annotation
method
method test_ls_tree_json_has_status_annotation L358–361
~
run
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:3bde27f0c3f4077617ce1e5b128767b8e6779bf2ae0e0fad8a07b2da442a0714 --body "your comment"
No comments yet. Be the first to start the discussion.