Skip to content

Sync issue templates: record the kind as an issue type - #64

Merged
DerekCorniello merged 2 commits into
mainfrom
chore/issue-types
Aug 24, 2026
Merged

Sync issue templates: record the kind as an issue type#64
DerekCorniello merged 2 commits into
mainfrom
chore/issue-types

Conversation

@DerekCorniello

Copy link
Copy Markdown
Contributor

Every form now sets an issue type - Bug, Enhancement, Documentation, Chore or Decision - so kind is a first-class field rather than something inferred from which form was used and then re-encoded as a label during triage.

The org types were created and all open issues backfilled; see muxlang/.github#8 for the source change and the full mapping.

Synced from muxlang/.github/templates, not hand-edited.

Part of muxlang/mux-context#19

@greptile-apps

greptile-apps Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Adds first-class GitHub issue types to the repository's issue forms.

  • Bug reports now create issues with the Bug type.
  • Feature requests now create issues with the Enhancement type.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
.github/ISSUE_TEMPLATE/bug_report.yml Adds the Bug issue type to the existing bug-report form without changing its labels, assignment, or fields.
.github/ISSUE_TEMPLATE/feature_request.yml Adds the Enhancement issue type to the existing feature-request form without changing its labels, assignment, or fields.

Reviews (5): Last reviewed commit: "Merge branch 'main' into chore/issue-typ..." | Re-trigger Greptile

Comment thread .github/workflows/issue-triage.yml Outdated
@github-actions

github-actions Bot commented Aug 21, 2026

Copy link
Copy Markdown

Valgrind Memory Checks - PASSED

%%{init: {'themeVariables': {'pie1': '#2da44e', 'pie2': '#cf222e'}}}%%
pie showData
    title Test binaries under Valgrind (28 total)
    "Clean" : 28
    "Leaking" : 0
Loading
Full valgrind output (last 300 lines)

running 8 tests
test box_enum_and_noop_frees ... ok
test container_extraction ... ok
test env_access ... ok
test list_index_and_slice ... ok
test some_none_ok_err_wrappers ... ok
test unbox_enum_rejects_null_and_non_opaque ... ok
test unbox_enum_roundtrips_payload ... ok
test value_map_get_value_reads_without_cloning_whole_map ... ok

test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/extern_extras_unit-ed7f2de75ce7c080

running 4 tests
test float_extern_remainder ... ok
test int_extern_remainder ... ok
test optional_extern_remainder ... ok
test result_extern_remainder ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/sql_unit-c10268bc3b0c8da3

running 7 tests
test bad_uri_is_error ... ok
test connect_execute_query_lifecycle ... ok
test null_value_accessors_error ... ok
test query_params_and_errors ... ok
test sql_value_bytes_and_type_errors ... ok
test sql_value_constructors_and_accessors ... ok
test transaction_commit_and_rollback ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.42s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/net_unit-b6e27c8a78f05289

running 12 tests
test a_copied_listener_names_the_same_socket ... ok
test close_is_not_reference_counted ... ok
test http_client_against_local_server ... ok
test http_null_inputs_error ... ok
test http_read_request_body_without_content_length_errors ... ok
test http_request_errors ... ok
test http_request_response_loopback ... ok
test http_response_validation_and_udp_extras ... ok
test invalid_addresses_error ... ok
test invalid_read_size_errors ... ok
test tcp_roundtrip ... ok
test udp_roundtrip ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.45s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/datetime_unit-6eee23b34a0a1d23

running 4 tests
test fields_at_epoch ... ok
test format_utc ... ok
test invalid_inputs_are_errors ... ok
test now_and_sleep_validation ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/primitives_unit-e8987ce4d97cdeb8

running 11 tests
test bool_convert_and_display ... ok
test float_arithmetic_and_rounding ... ok
test float_compare_and_convert ... ok
test float_extern_scalars ... ok
test int_arithmetic ... ok
test int_compare_and_convert ... ok
test int_div_and_rem_by_zero ... ok
test int_extern_scalars ... ok
test string_ops ... ok
test string_parse ... ok
test whole_floats_keep_their_decimal_at_every_magnitude ... ok

test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/collections_unit-1abfeeefeabfea2e

running 5 tests
test list_display_contains_elements ... ok
test list_push_pop_length ... ok
test list_slice_bounds ... ok
test map_insert_get_remove_contains ... ok
test set_add_remove_contains ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/math_unit-ef71d634d86fa8c1

running 5 tests
test extern_helpers ... ok
test logarithms ... ok
test powers_and_roots ... ok
test rounding_and_extremes ... ok
test trigonometry ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/boxed_enum_unit-6da66ff7a2798f97

running 5 tests
test box_enum_managed_roundtrips_and_tags_as_opaque ... ok
test clone_and_drop_run_the_glue ... ok
test deep_clone_runs_the_clone_glue ... ok
test value_boxed_enum_structural_eq_ord_hash_display ... ok
test value_compare_ffi_orders_and_handles_null ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/sql_drivers_unit-663e92ba77153e78

running 5 tests
test mysql_driver ... ok
test postgres_column_types ... ok
test postgres_connect_failure ... ok
test postgres_driver ... ok
test unsupported_scheme_is_error ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/std_unit-c8878f798db7d8d2

running 7 tests
test container_alloc_and_free ... ok
test int_and_bool_value_roundtrip ... ok
test range_into_list_value ... ok
test value_add_numbers_and_strings ... ok
test value_equality ... ok
test value_get_list_from_value ... ok
test value_to_string_scalar ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/json_unit-70e613224cd1dbf7

running 12 tests
test accessors_report_the_kind_they_found ... ok
test accessors_return_decoded_values ... ok
test field_lookup_separates_absent_from_null ... ok
test integers_and_reals_stay_distinct ... ok
test number_accessors_convert_deliberately ... ok
test numbers_survive_a_roundtrip ... ok
test parse_handles_escapes ... ok
test parse_primitives ... ok
test parse_rejects_malformed ... ok
test parse_strings_arrays_objects ... ok
test pretty_indent ... ok
test stringify_roundtrip ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/value_unit-530fb455209516c3

running 15 tests
test empty_collection_display ... ok
test map_and_set_hash_does_not_depend_on_insertion_order ... ok
test map_set_hash_and_order ... ok
test object_value_display_debug_and_compare ... ok
test optional_and_result_hash ... ok
test tuple_hash_and_compare ... ok
test type_tags_for_all_variants ... ok
test value_display_composites ... ok
test value_display_scalars ... ok
test value_equality_and_ordering ... ok
test value_equality_same_variant_data ... ok
test value_from_string ... ok
test value_hash_consistent ... ok
test value_ordering_across_many_variants ... ok
test value_type_tags ... ok

test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/sync_unit-7b59ac8fc9f3d1a0

running 7 tests
test condvar_signal_broadcast ... ok
test mutex_lock_unlock ... ok
test null_handles_error ... ok
test rwlock_read_and_write ... ok
test sleep_is_noop_for_nonpositive ... ok
test spawn_and_detach ... ok
test spawn_and_join ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/option_result_unit-53927bb963e5a4c5

running 4 tests
test optional_core ... ok
test optional_extern_roundtrip ... ok
test result_core ... ok
test result_extern_roundtrip ... ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/object_unit-d7955b6ae0b1c77c

running 12 tests
test a_hash_without_an_equality_falls_back_to_identity ... ok
test a_registered_hash_keeps_unequal_instances_apart ... ok
test compare_does_not_cross_types ... ok
test content_keying_without_a_copy_callback_falls_back_to_identity ... ok
test copy_without_callback_returns_null ... ok
test equality_without_a_hash_still_hashes_consistently ... ok
test invalid_inputs ... ok
test objects_are_map_keys_by_contents ... ok
test objects_without_registration_stay_identities ... ok
test ordering_agrees_with_equality_for_a_fully_declared_class ... ok
test register_alloc_access_copy_free ... ok
test registered_compare_and_hash_make_objects_structural ... ok

test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/panic_unit-9183a1e60aee683a

running 5 tests
test assert_failure_panics ... ok
test cstr_with_location_panics ... ok
test cstr_without_location_omits_locator ... ok
test index_oob_panics ... ok
test key_not_found_panics ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/io_extra_unit-60949d5d97ac1ee3

running 3 tests
test open_missing_and_null ... ok
test open_read_close_file ... ok
test value_from_string_and_prints ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/closure_unit-bb0610ac260c318f

running 7 tests
test capture_free_release_frees_closure ... ok
test cell_release_frees_its_value_on_the_last_holder ... ok
test cell_survives_until_every_holder_releases ... ok
test release_drops_one_reference_per_capture ... ok
test retain_and_release_are_null_safe ... ok
test retain_delays_free_until_last_release ... ok
test shared_closure_frees_capture_only_on_last_release ... ok

test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/json_convert_unit-f1410faeb536176f

running 6 tests
test json_from_and_to_map_extern ... ok
test json_parse_extern ... ok
test json_stringify_extern ... ok
test json_to_value_roundtrip ... ok
test value_to_json_error_cases ... ok
test value_to_json_scalars_and_collections ... ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/csv_unit-5e82a291ed637d49

running 9 tests
test a_ragged_row_is_rejected_by_the_parser ... ok
test a_repeated_header_is_rejected ... ok
test parse_null_is_error ... ok
test parse_plain_csv ... ok
test parse_with_headers ... ok
test rows_as_maps_pairs_headers_with_cells ... ok
test rows_as_maps_rejects_other_shapes ... ok
test to_string_rejects_non_map ... ok
test to_string_roundtrip ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s

>>> valgrind /home/runner/_work/mux-runtime/mux-runtime/target/debug/deps/strings_extern_unit-a1abbde557110ede

running 16 tests
test bool_extern ... ok
test boxing_roundtrips ... ok
test char_conversions ... ok
test string_comparison ... ok
test string_containment ... ok
test string_equality ... ok
test string_from_owned_cstr_frees_input ... ok
test string_from_value_roundtrip ... ok
test string_parsing ... ok
test string_positions_are_characters ... ok
test string_scalar_ops ... ok
test string_slice_bounds ... ok
test string_split ... ok
test string_to_bool_is_deliberately_narrow ... ok
test string_to_list_yields_characters ... ok
test string_transforms_and_predicates ... ok

test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s

A/B Benchmark Report - report-only

Output (last 300 lines)
benchmark                     baseline (ns)     new (ns)   change   abs (ns)  verdict
-------------------------------------------------------------------------------------
json/parse_medium                   2334.39      2269.98    -2.8%      64.42  ok
json/parse_small                     657.95       672.90    +2.3%      14.95  ok
json/stringify                      4583.13      5064.49   +10.5%     481.36  ok
list/build_free                     6863.39      6445.82    -6.1%     417.57  ok
list/concat                         4497.03      4493.53    -0.1%       3.50  ok
list/contains                        230.11       252.56    +9.8%      22.44  ok
list/get                              29.21        23.66   -19.0%       5.55  ok
list/to_string                      9616.04      9719.87    +1.1%     103.83  ok
map/build_free                     24859.90     22215.66   -10.6%    2644.24  ok
map/contains                          12.01        11.60    -3.5%       0.41  ok
map/get                               41.30        38.86    -5.9%       2.44  ok
primitive/float_mul                    1.10         1.19    +7.9%       0.09  ok
primitive/int_add                      1.36         1.12   -18.2%       0.25  ok
primitive/int_pow                      2.23         2.28    +2.2%       0.05  ok
primitive/int_to_string               33.57        36.93   +10.0%       3.36  ok
refcount/alloc_free                   12.92        13.84    +7.1%       0.92  ok
refcount/clone                         7.76         7.99    +3.0%       0.23  ok
refcount/inc_dec                       8.31         8.70    +4.7%       0.39  ok
set/build_free                     16698.53     15519.85    -7.1%    1178.68  ok
set/contains                          11.27        11.41    +1.2%       0.13  ok
set/union                          15349.27     10113.72   -34.1%    5235.55  ok
string/alloc_free                     32.04        29.18    -8.9%       2.87  ok
string/concat                         75.82        77.87    +2.7%       2.05  ok
string/equal                           2.98         3.02    +1.4%       0.04  ok
string/length                         22.15        22.77    +2.8%       0.62  ok
wrappers/optional_is_some              3.09         2.94    -4.7%       0.15  ok
wrappers/optional_some                22.11        24.51   +10.9%       2.41  ok
wrappers/result_is_ok                  1.18         1.12    -5.4%       0.06  ok
wrappers/result_ok                    20.98        22.75    +8.5%       1.78  ok
wrappers/tuple_new                    79.62        64.31   -19.2%      15.31  ok

Commit 65b9a17f450a2b09907e20495654918a97f3aaef - full run

@DerekCorniello

Copy link
Copy Markdown
Contributor Author

Updated: COLLABORATOR no longer counts as an insider.

It only means invited to this repo, which can be read-only or triage-level, so it does not imply the ability to set priority and status. Removing needs triage for one would drop their issue out of the queue - the single outcome this must not cause. Leaving the label on someone who could have triaged it costs a maintainer one click; the reverse loses the issue. OWNER and MEMBER only.

The template-sync branches were also rebuilt from main: they had been branched off the triage branch, so each carried both changes. They now contain only the template edits.

Every form now sets a type (Bug, Enhancement, Documentation, Chore or
Decision), so kind is a first-class field rather than something inferred
from which form was used and re-encoded as a label at triage.

Synced from muxlang/.github/templates - not hand-edited.

Part of muxlang/mux-context#19
@sonarqubecloud

Copy link
Copy Markdown

@DerekCorniello
DerekCorniello merged commit 64a64d8 into main Aug 24, 2026
12 checks passed
@DerekCorniello
DerekCorniello deleted the chore/issue-types branch August 24, 2026 19:06
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