@@ -603,22 +603,32 @@ settings:
603603 # label like `gittensor:priority` -- it is NEVER inferred from a PR's title, changed files, AI
604604 # output, or existing PR labels, only ever copied from a linked/closing issue ("Fixes #123") that
605605 # ALREADY carries the configured issue label. Generic beyond the priority use case: any issue label
606- # can map to any PR label. `removeOtherTypeLabels: true` REPLACES the type label entirely (bug/
607- # feature are removed), matching how `gittensor:priority` behaves today; `false` applies the mapped
608- # label ADDITIVELY alongside the normal title-based bug/feature label, leaving it untouched -- useful
609- # for a mapping unrelated to the bug/feature/priority triad (e.g. a `customer:vip` issue label
610- # copied to a `triage:vip` PR label). Disabled by default (no mappings) -- a self-hoster opts in per
611- # repo. If your labels carry reward or moderation weight, configure this in PRIVATE per-repo/global
612- # config (see `config/examples/README.md`) rather than the public `.gittensory.yml`, so contributors
613- # cannot see the exact mapping rules. A per-repo `mappings` override in the private-config layer
614- # REPLACES the global default list wholesale -- it does not merge with it.
606+ # can map to any PR label. `removeOtherTypeLabels: true` marks the mapping EXCLUSIVE -- it REPLACES
607+ # the type label entirely (bug/feature are removed), for genuinely mutually-exclusive categories; only
608+ # the FIRST-configured exclusive match wins when more than one applies. `false` (e.g. `gittensor:priority`,
609+ # which is a reward tag that coexists WITH whichever type already applies, not a type of its own) applies
610+ # the mapped label ADDITIVELY alongside whichever exclusive match (or the normal title-based bug/feature
611+ # label) already won -- every additive match composes together rather than competing for a single slot.
612+ # Each mapping normally requires the PR author to be the linked issue's own author or a GitHub assignee of
613+ # it (`trustMaintainerAuthoredIssue: true` relaxes this for a routine, non-reward category like bug/feature
614+ # -- see the field's own doc comment in `types.ts`). `trustMaintainerAuthoredIssueForReward: true` opts a
615+ # REWARD mapping like `gittensor:priority` into that same relaxation: without it, a mapping like this can
616+ # structurally never propagate to most external contributors, since GitHub silently refuses to assign
617+ # anyone lacking push/triage access to the repo -- so if your issues are open-pickup (maintainer-authored,
618+ # rarely formally assigned to a specific contributor), the reward label needs this flag to ever reach them.
619+ # Disabled by default (no mappings) -- a self-hoster opts in per repo. If your labels carry reward or
620+ # moderation weight, configure this in PRIVATE per-repo/global config (see `config/examples/README.md`)
621+ # rather than the public `.gittensory.yml`, so contributors cannot see the exact mapping rules. A per-repo
622+ # `mappings` override in the private-config layer REPLACES the global default list wholesale -- it does
623+ # not merge with it.
615624 # linkedIssueLabelPropagation:
616625 # enabled: true
617626 # mode: exclusive_type_label
618627 # mappings:
619628 # - issueLabel: gittensor:priority
620629 # prLabel: gittensor:priority
621- # removeOtherTypeLabels: true
630+ # removeOtherTypeLabels: false
631+ # trustMaintainerAuthoredIssueForReward: true
622632
623633 # Create the label if it does not yet exist. Bool. Default: true.
624634 createMissingLabel: true
@@ -1120,3 +1130,13 @@ settings:
11201130# reviewRecap:
11211131# enabled: true # Bool. Default: false (no recap is ever built or posted).
11221132# cadenceDays: 7 # Positive integer. Days of activity each recap covers. Default: 7 (weekly).
1133+
1134+ # Cross-repo maintainer recap digest (#1963, #2250): config-as-code override for the CRON-scheduled digest
1135+ # that folds gate-precision + outcome-calibration across every scanned repo into one report (distinct from
1136+ # the single-repo reviewRecap above). Operator-level, not per-repo -- only meaningful on the gittensory
1137+ # self-repo's own manifest (the repo this instance identifies as); a present block there wins over the
1138+ # GITTENSORY_MAINTAINER_RECAP / GITTENSORY_RECAP_CADENCE env vars, which stay the fallback when absent.
1139+ # maintainerRecap:
1140+ # enabled: true # Bool. Default: false (env vars decide instead).
1141+ # cadence: weekly # daily | weekly. Default: weekly. Invalid values fall back to weekly.
1142+ # channel: discord # discord (only supported channel today). Invalid values fall back to discord.
0 commit comments