feat: add AhbContext dataclass for explicit dependency passing (w/o using it anywhere yet)#743
Merged
Merged
Conversation
Introduce AhbContext as the foundation for replacing the global python-inject DI container with explicit parameter passing. AhbContext bundles rc_evaluator, fc_evaluator, hints_provider, package_resolver, and evaluatable_data into a single object that will be threaded through parse and evaluate functions in subsequent PRs. Includes two factory methods: - from_content_evaluation_result: for pre-computed results (REST APIs) - from_token_logic_provider: bridge for existing inject-based code This is a pure addition — no existing behavior changes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.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.
Summary
AhbContextdataclass insrc/ahbicht/content_evaluation/ahb_context.py— bundlesrc_evaluator,fc_evaluator,hints_provider,package_resolver, andevaluatable_datainto a single explicit context objectfrom_content_evaluation_result(for pre-computed results like ahbicht-functions) andfrom_token_logic_provider(bridge for existing inject-based code)python-injectglobal DI with explicit parameter passingMigration context
This is the first step in a multi-PR effort to:
python-injectDI container with explicitAhbContextpassingNo action required by consumers yet — this is a pure addition. Subsequent PRs will thread
AhbContextthroughevaluate_ahb_expression_treeandparse_expression_including_unresolved_subexpressionsas an optional parameter (defaulting toNone= old inject behavior).For future consumers: how to use AhbContext
Test plan
🤖 Generated with Claude Code