freemo
|
e83412b1b6
|
feat(acms): implement pipeline Phase 2 components
CI / lint (pull_request) Successful in 29s
CI / quality (pull_request) Failing after 10s
CI / typecheck (pull_request) Successful in 47s
CI / unit_tests (pull_request) Failing after 6s
CI / integration_tests (pull_request) Failing after 1s
CI / e2e_tests (pull_request) Failing after 1s
CI / build (pull_request) Failing after 1s
CI / coverage (pull_request) Failing after 1s
CI / helm (pull_request) Failing after 1s
CI / security (pull_request) Successful in 1m5s
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 1s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 54m59s
Add spec-aligned Protocol type aliases for all Phase 2 (Fragment Fusion)
pipeline component interfaces, aligning with docs/specification.md
§44794-44856 naming conventions:
- FragmentDeduplicatorProtocol (alias for FragmentDeduplicator)
- DetailDepthResolverProtocol (alias for DetailDepthResolver)
- FragmentScorerProtocol (alias for FragmentScorer)
- BudgetPackerProtocol (alias for BudgetPacker)
- FragmentOrdererProtocol (alias for FragmentOrderer)
The production implementations (ContentHashDeduplicator, MaxDepthResolver,
WeightedCompositeScorer, GreedyKnapsackPacker) in acms_phase2.py satisfy
all acceptance criteria:
- ContentHashDeduplicator: SHA-256 content hashing, retains highest-scored
duplicate per (uko_node, content_hash) key
- MaxDepthResolver: Retains highest detail_depth per UKO node, with
relevance tiebreaking at equal depths
- WeightedCompositeScorer: Configurable weighted composite (relevance=0.4,
hierarchy=0.3, quality=0.2, recency=0.1), stores breakdown in metadata
- GreedyKnapsackPacker: Greedy knapsack with depth fallback [9,4,2,0],
minimum fragment token threshold (10)
All components implement v1 Protocol signatures and are DI-injectable
into ACMSPipeline constructor. 31 BDD scenarios cover all components.
ISSUES CLOSED: #540
|
2026-04-02 08:49:53 +00:00 |
|