feat
patch
remote
task/remote-duration-ms-exit-code
#1 / 1
feat(remote): add duration_ms and exit_code to all JSON responses
All 7 muse remote subcommands (list, add, remove, rename, get-url, set-url, status) now emit duration_ms and exit_code in every JSON response — success and error alike. Agents can measure latency and confirm outcomes without parsing exit codes separately.
TypedDicts updated: _RemoteListJson, _RemoteMutationJson, _RemoteGetUrlJson, _RemoteStatusJson each declare both new fields.
In JSON mode, error paths emit structured JSON to stdout only — the human-readable stderr message is suppressed so r.output remains parseable as a single JSON object.
48/48 tests GREEN across all 7 coverage tiers (Unit, Integration, End-to-end, Stress, Data integrity, Security, Performance).
sha256:3422a09e723e0f647d6942862f7fe26d0c92113c834080d518d9e740ec0177bd
sha
+66
~12
symbols
sha256:448a3a1aa37f3cf0c4bbd2f6ca7cb26eda807dfb86e8c83d46c6d079da1b8ef7
snapshot
+66
symbols added
~12
symbols modified
0
dead code introduced
Semantic Changes
78 symbols
+
test_V1_duration_ms_is_non_negative_int_on_add
method
method test_V1_duration_ms_is_non_negative_int_on_add L286–292
+
test_V2_duration_ms_is_non_negative_int_on_list
method
method test_V2_duration_ms_is_non_negative_int_on_list L294–299
+
test_V3_duration_ms_is_non_negative_int_on_error
method
method test_V3_duration_ms_is_non_negative_int_on_error L301–308
+
test_V5_invalid_name_exit_code_matches
method
method test_V5_invalid_name_exit_code_matches L316–321
+
test_V6_all_success_fields_present_add
method
method test_V6_all_success_fields_present_add L323–330
+
test_V7_all_success_fields_present_get_url
method
method test_V7_all_success_fields_present_get_url L332–339
+
test_V8_all_success_fields_present_list
method
method test_V8_all_success_fields_present_list L341–346
+
test_III1_add_duplicate_error_has_envelope
method
method test_III1_add_duplicate_error_has_envelope L170–176
+
test_III2_add_invalid_name_error_has_envelope
method
method test_III2_add_invalid_name_error_has_envelope L178–184
+
test_III3_add_bad_scheme_error_has_envelope
method
method test_III3_add_bad_scheme_error_has_envelope L186–192
+
test_III4_remove_not_found_error_has_envelope
method
method test_III4_remove_not_found_error_has_envelope L194–199
+
test_III5_rename_not_found_error_has_envelope
method
method test_III5_rename_not_found_error_has_envelope L201–206
+
test_III6_get_url_not_found_error_has_envelope
method
method test_III6_get_url_not_found_error_has_envelope L208–213
+
test_III7_set_url_not_found_error_has_envelope
method
method test_III7_set_url_not_found_error_has_envelope L215–221
+
test_IV3_remove_success_exit_code_is_0
method
method test_IV3_remove_success_exit_code_is_0 L243–247
+
test_IV5_rename_success_exit_code_is_0
method
method test_IV5_rename_success_exit_code_is_0 L255–259
+
test_IV6_get_url_success_exit_code_is_0
method
method test_IV6_get_url_success_exit_code_is_0 L261–265
+
test_IV7_set_url_success_exit_code_is_0
method
method test_IV7_set_url_success_exit_code_is_0 L267–272
+
test_VII2_list_completes_within_limit
method
method test_VII2_list_completes_within_limit L416–422
+
test_VII3_remove_completes_within_limit
method
method test_VII3_remove_completes_within_limit L424–430
+
test_VII4_get_url_completes_within_limit
method
method test_VII4_get_url_completes_within_limit L432–438
+
test_VII5_set_url_completes_within_limit
method
method test_VII5_set_url_completes_within_limit L440–447
+
test_VII6_rename_completes_within_limit
method
method test_VII6_rename_completes_within_limit L449–455
+
test_VI1_ansi_in_name_error_has_envelope
method
method test_VI1_ansi_in_name_error_has_envelope L354–361
+
test_VI2_file_scheme_error_has_envelope
method
method test_VI2_file_scheme_error_has_envelope L363–370
+
test_VI3_oversized_name_error_has_envelope
method
method test_VI3_oversized_name_error_has_envelope L372–379
+
test_VI4_oversized_url_error_has_envelope
method
method test_VI4_oversized_url_error_has_envelope L381–387
+
test_VI5_rename_new_name_invalid_error_has_envelope
method
method test_VI5_rename_new_name_invalid_error_has_envelope L389–397
+
test_I1_remote_list_json_has_duration_ms
method
method test_I1_remote_list_json_has_duration_ms L58–63
+
test_I2_remote_list_json_has_exit_code
method
method test_I2_remote_list_json_has_exit_code L65–70
← Older
Oldest on task/remote-duration-ms-exit-code
All commits
Newer →
Latest on task/remote-duration-ms-exit-code
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:3422a09e723e0f647d6942862f7fe26d0c92113c834080d518d9e740ec0177bd --body "your comment"
No comments yet. Be the first to start the discussion.