Skip to content

fix(dispatch): auto-derive axis_filter when .forge/axes.yaml exists#152

Merged
hadamrd merged 1 commit into
trunkfrom
fix/auto-axis-filter-from-axes-yaml
May 28, 2026
Merged

fix(dispatch): auto-derive axis_filter when .forge/axes.yaml exists#152
hadamrd merged 1 commit into
trunkfrom
fix/auto-axis-filter-from-axes-yaml

Conversation

@hadamrd
Copy link
Copy Markdown
Owner

@hadamrd hadamrd commented May 28, 2026

Stops the legacy maintenance LLM from sneaking cosmetic tickets back onto the dispatch path. Dogfood-caught on Titan cobay run.

Dogfood-caught running the Titan cobay: the legacy maintenance LLM
daemon re-labeled 4 cosmetic tickets as ``loop:ready`` (#1070 UI split,
#1098 pagination, #1074 cap state transitions, #1104 audit retention)
right after the brainstormer had explicitly omitted them.

Without this fix, those cosmetic tickets would have entered the
dispatch path next tick and burned worker turns on work the CTO
explicitly tagged as ``rejected_as_cosmetic`` in axes.yaml.

Fix: in the tick loop, if ``LOOP_AXIS_FILTER`` env is unset AND
``.forge/axes.yaml`` is present, derive ``axis_filter`` as the union
of axis names declared in the file. Issues without an ``axis:*`` label
no longer survive the filter.

Explicit env override still wins (preserves the existing
``forge-loop run --axis foo,bar`` flow).

Emits a typed ``axis_filter_auto_from_axes_yaml`` event so operators
can see the gate firing.
@hadamrd hadamrd merged commit 81df231 into trunk May 28, 2026
2 checks passed
@hadamrd hadamrd deleted the fix/auto-axis-filter-from-axes-yaml branch May 28, 2026 21:04
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