feat(framework): fire the preset bug-fix loop via a build event kind (#265)#266
Merged
Conversation
…265) Every domain preset shipped a bug-fix loop but domainLoopChecklist always dispatched major-change, so those loops never ran. A run now picks the build event kind (runFramework buildEvent / framework --kind), and a preset can declare its own default via preset.md metadata.event (DomainPreset.defaultEvent). Precedence: run choice > preset default > major-change; an unmatched kind still falls back to the built-in checklist.
This was referenced Jul 5, 2026
suleimansh
added a commit
that referenced
this pull request
Jul 5, 2026
Finishes the per-repo config surface: the-framework.yml can now set the
build event kind (event: bug-fix) alongside preset and modes. Precedence is
--kind flag > the-framework.yml event > preset defaultEvent > major-change,
so file-set events flow through the same runFramework({buildEvent}) path #266
added.
Threads event through parseFrameworkConfig, mergeRunConfig, and the config
narration; the no-op note now fires when any build event is set without a
preset. Help text updated.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #265.
Every domain preset ships a
bug-fixloop, but the review phase always dispatched amajor-changeevent, so those loops were dead. Now a run picks the build event kind and a preset can declare its own default.framework --kind <name>(andrunFramework({ buildEvent })) sets the kind.--kind bug-fixfires the preset's bug-fix loop; default staysmajor-change(unchanged behavior).preset.mdmetadata.eventsets a preset's default, surfaced asDomainPreset.defaultEvent.major-change. A kind the preset has no loop for falls back to the built-in checklist, so a run is never left unreviewed.--kindwithout a preset is a no-op with a note (mirrors the mode flags).Verified with
--fake --preset software-development:--kind bug-fixnarrates "drives the bug-fix review", default narrates "drives the major-change review".Naming call for you (like LoopEngine/DomainPreset before): I used three names for the same thing in their own contexts: CLI
--kind, run optionbuildEvent, preset field/manifestdefaultEvent/metadata.event. Happy to unify if you'd rather.Part of #204.