gabriel / muse public
feat patch domain-info task/supercharge-domain-info #1 / 1
AI Agent gabriel · 142 days ago · Apr 17, 2026 · Diff

feat(domain-info): supercharge --json; add elapsed_seconds, exit_code, schema.domain

All three JSON output paths (active-repo, --all-domains, --capabilities-only) now carry elapsed_seconds and exit_code per the agent-output contract.

schema sub-object gains a domain key matching the top-level domain field.

JSON output is compact (no indent=2) across all paths.

39 hardening tests added covering: schema completeness, elapsed_seconds validity, exit_code data type, compact JSON, schema.domain integrity, plugin_class format, data integrity (no duplicates, sorted domains), performance (100 calls < 10 s).

sha256:424cc6d71ec232433e820e982b7e1dc33d806a13915b2ecda689849ff51bb383 sha
+59 ~1 symbols
sha256:ebdea1d10a221ea77f1c013cf91e82fba2e088d0923180b9ac50fb21ef95851e snapshot
+59
symbols added
~1
symbol modified
0
dead code introduced
Semantic Changes 60 symbols
+ TestAllDomainsSchema class class TestAllDomainsSchema L116–131
+ test_all_domains_elapsed_non_negative method method test_all_domains_elapsed_non_negative L129–131
+ test_all_domains_exit_code_zero method method test_all_domains_exit_code_zero L125–127
+ test_all_domains_has_elapsed_seconds method method test_all_domains_has_elapsed_seconds L117–119
+ test_all_domains_has_exit_code method method test_all_domains_has_exit_code L121–123
+ TestCapabilitiesOnlySchema class class TestCapabilitiesOnlySchema L138–162
+ test_capabilities_only_elapsed_non_negative method method test_capabilities_only_elapsed_non_negative L151–153
+ test_capabilities_only_exit_code_zero method method test_capabilities_only_exit_code_zero L147–149
+ test_capabilities_only_has_elapsed_seconds method method test_capabilities_only_has_elapsed_seconds L139–141
+ test_capabilities_only_has_exit_code method method test_capabilities_only_has_exit_code L143–145
+ test_capabilities_only_no_schema_key method method test_capabilities_only_no_schema_key L155–157
+ test_capabilities_only_repo_mode_has_elapsed method method test_capabilities_only_repo_mode_has_elapsed L159–162
+ TestCompactJson class class TestCompactJson L169–186
+ test_all_domains_is_compact method method test_all_domains_is_compact L178–181
+ test_capabilities_only_is_compact method method test_capabilities_only_is_compact L183–186
+ test_main_output_is_compact method method test_main_output_is_compact L170–176
+ TestDataIntegrity class class TestDataIntegrity L250–282
+ test_capabilities_values_are_bool method method test_capabilities_values_are_bool L263–267
+ test_domain_in_registered_domains method method test_domain_in_registered_domains L279–282
+ test_elapsed_seconds_is_float_not_int method method test_elapsed_seconds_is_float_not_int L256–261
+ test_exit_code_is_int_not_bool method method test_exit_code_is_int_not_bool L251–254
+ test_registered_domains_no_duplicates method method test_registered_domains_no_duplicates L269–272
+ test_registered_domains_sorted method method test_registered_domains_sorted L274–277
+ TestJsonSchemaComplete class class TestJsonSchemaComplete L59–109
+ test_active_repo_has_elapsed_seconds method method test_active_repo_has_elapsed_seconds L62–65
+ test_active_repo_has_exit_code method method test_active_repo_has_exit_code L67–70
+ test_all_base_fields_present method method test_all_base_fields_present L102–109
+ test_domain_flag_has_elapsed_seconds method method test_domain_flag_has_elapsed_seconds L93–95
+ test_domain_flag_has_exit_code method method test_domain_flag_has_exit_code L97–100
+ test_elapsed_seconds_is_float method method test_elapsed_seconds_is_float L77–80
+ test_elapsed_seconds_non_negative method method test_elapsed_seconds_non_negative L82–85
+ test_elapsed_seconds_six_decimal_places method method test_elapsed_seconds_six_decimal_places L87–91
+ test_exit_code_is_zero_on_success method method test_exit_code_is_zero_on_success L72–75
+ TestPerformance class class TestPerformance L289–306
+ test_100_calls_under_10s method method test_100_calls_under_10s L301–306
+ test_elapsed_seconds_plausible method method test_elapsed_seconds_plausible L296–299
+ test_single_call_under_1s method method test_single_call_under_1s L290–294
+ TestPluginClass class class TestPluginClass L229–243
+ test_domain_flag_plugin_class class method test_domain_flag_plugin_class L241–243
+ test_plugin_class_ends_with_plugin class method test_plugin_class_ends_with_plugin L236–239
+ test_plugin_class_is_non_empty_string class method test_plugin_class_is_non_empty_string L230–234
+ TestSchemaSubObject class class TestSchemaSubObject L193–222
+ test_schema_has_description method method test_schema_has_description L207–211
+ test_schema_has_dimensions method method test_schema_has_dimensions L213–217
+ test_schema_has_domain_key method method test_schema_has_domain_key L194–199
+ test_schema_has_merge_mode method method test_schema_has_merge_mode L201–205
+ test_schema_version_present method method test_schema_version_present L219–222
+ _di function function _di L45–48
+ _json function function _json L51–52
+ _make_repo function function _make_repo L33–42
+ CliRunner import import CliRunner L24–24
+ InvokeResult import import InvokeResult L24–24
+ annotations import import annotations L16–16
+ json import import json L18–18
+ pathlib import import pathlib L19–19
+ pytest import import pytest L22–22
+ time import import time L20–20
+ runner variable variable runner L26–26
~ muse/cli/commands/domain_info.py .py 1 symbol added, 1 symbol modified
+ time import import time L78–78
~ run
← Older Oldest on task/supercharge-domain-info
All commits
Newer → Latest on task/supercharge-domain-info

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:424cc6d71ec232433e820e982b7e1dc33d806a13915b2ecda689849ff51bb383 --body "your comment"