fix: tighten engine_module_bridge and mockApplication based on review feedback#148
Merged
intel352 merged 2 commits intofeat/issue-84-engine-phase4-interfacesfrom Feb 23, 2026
Merged
Conversation
4 tasks
…gine_test Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Refactor: Extract Trigger, EventEmitter, MetricsRecorder interfaces
fix: tighten engine_module_bridge and mockApplication based on review feedback
Feb 23, 2026
intel352
added a commit
that referenced
this pull request
Feb 24, 2026
…rom module (#84) (#136) * refactor: extract Trigger, EventEmitter, MetricsRecorder interfaces from module package (#84) Phase 4 engine decomposition progress: - Move Trigger interface to interfaces/ package (module.Trigger is now a type alias) - Add EventEmitter and MetricsRecorder interfaces in interfaces/ - Add TriggerRegistrar interface for registry abstraction - Create engine_module_bridge.go to isolate remaining module/ imports - Update engine.go fields to use interface types instead of concrete module types - Fix mock GetService to support interface assignment (matching real modular behavior) - Add 10 new tests for requires.plugins validation (15 test runs with subtests) Closes #84 (partial) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: tighten engine_module_bridge and mockApplication based on review feedback (#148) * Initial plan * refactor: address code review feedback on engine_module_bridge and engine_test Co-authored-by: intel352 <77607+intel352@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: intel352 <77607+intel352@users.noreply.github.com> * fix: correct syntax error in TestMergeInto_WithRealAdminConfig The function was closed with a mismatched `)` instead of `}` and had 2-space indented closing brace for the if block instead of tab-indented. This caused `expected statement, found ')'` errors, breaking all build/vet/test CI checks on any branch touching this file. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: EventEmitter doc accuracy, registerPluginTrigger deterministic failure, remove duplicate admin tests (#151) * Initial plan * fix: address review comments - EventEmitter doc, registerPluginTrigger error handling, remove duplicate admin tests Co-authored-by: intel352 <77607+intel352@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: intel352 <77607+intel352@users.noreply.github.com> * fix: require master_password for RDS instance creation instead of defaulting Remove hardcoded default password fallback in the RDS driver. The Create method now returns an error if master_password is not provided, preventing insecure defaults from being used in production. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: restore missing multiWorkflowAddr flag declaration in cmd/server The flag was referenced but not declared, causing build failures. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: restore missing `multiWorkflowAddr` flag in cmd/server/main.go (#153) * Initial plan * fix: restore missing multiWorkflowAddr flag definition in cmd/server/main.go Co-authored-by: intel352 <77607+intel352@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: intel352 <77607+intel352@users.noreply.github.com> Co-authored-by: Jonathan Langevin <codingsloth@pm.me> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: intel352 <77607+intel352@users.noreply.github.com>
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.
Four code-quality issues from review on the Phase 4 engine decomposition PR.
Changes
engine_module_bridge.go—registerPluginTriggerfail-fast: Previously silently swallowed non-Triggerreturns from plugin factories, causing confusing "no handler found" errors at runtime. Now logs viae.logger.Errorwith the trigger type and actual returned type.engine_test.go—mockApplication.GetServicenil guards: Added guards forsvc == nil(preventsreflect.ValueOf(nil).Type()panic) andoutVal.IsNil()beforeElem()(prevents nil pointer dereference), with clearer error messages in both cases.engine_test.go— remove dead outer setup inTestEngine_BuildFromConfig_RequiresPlugins_ExactVersionMatch: The outerengine/LoadPluginblock was unreachable dead code — each table-driven subtest already creates its own fresh engine and plugin.engine_test.go— fix misleading subtest comment: The comment claimed the outer app was reused across subtests; updated to accurately describe per-subtest isolation.✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.