@@ -1630,9 +1630,26 @@ export const requiredContentRules = [
16301630 } ,
16311631 {
16321632 regex :
1633- / b i t f u n - s e r v i c e s - i n t e g r a t i o n s = \{ p a t h = " \. \. \/ \. \. \/ s e r v i c e s \/ s e r v i c e s - i n t e g r a t i o n s " , d e f a u l t - f e a t u r e s = f a l s e , f e a t u r e s = \[ " r e m o t e - s s h " , " w o r k s p a c e - s e a r c h " \] \} / ,
1633+ / b i t f u n - s e r v i c e s - i n t e g r a t i o n s = \{ p a t h = " \. \. \/ \. \. \/ s e r v i c e s \/ s e r v i c e s - i n t e g r a t i o n s " , d e f a u l t - f e a t u r e s = f a l s e , f e a t u r e s = \[ " r e m o t e - s s h " \] \} / ,
16341634 message :
1635- 'bitfun-services-integrations dependency may keep remote workspace identity and workspace-search owner helpers but must not force product-full outside the core feature graph' ,
1635+ 'bitfun-services-integrations dependency may keep remote workspace identity but must not force workspace-search or product-full outside the core feature graph' ,
1636+ } ,
1637+ {
1638+ regex :
1639+ / b i t f u n - a i - a d a p t e r s = \{ p a t h = " \. \. \/ \. \. \/ a d a p t e r s \/ a i - a d a p t e r s " , o p t i o n a l = t r u e \} / ,
1640+ message : 'bitfun-ai-adapters dependency must stay optional for no-default core builds' ,
1641+ } ,
1642+ {
1643+ regex : / " d e p : b i t f u n - a i - a d a p t e r s " / ,
1644+ message : 'core ai-adapter-runtime feature must explicitly enable the optional dependency' ,
1645+ } ,
1646+ {
1647+ regex : / p r o d u c t - f u l l = \[ [ ^ \] ] * " a i - a d a p t e r - r u n t i m e " [ ^ \] ] * \] / ,
1648+ message : 'core product-full assembly must explicitly opt into AI adapter runtime' ,
1649+ } ,
1650+ {
1651+ regex : / p r o d u c t - d o m a i n s = \[ [ ^ \] ] * " a i - a d a p t e r - r u n t i m e " [ ^ \] ] * \] / ,
1652+ message : 'core product-domain facade must explicitly opt into AI adapter runtime while concrete AI adapters remain optional' ,
16361653 } ,
16371654 {
16381655 regex :
@@ -1696,6 +1713,38 @@ export const requiredContentRules = [
16961713 } ,
16971714 ] ,
16981715 } ,
1716+ {
1717+ path : 'src/crates/assembly/core/src/infrastructure/mod.rs' ,
1718+ reason : 'concrete AI adapter runtime and debug ingest HTTP server must stay out of no-default core builds' ,
1719+ patterns : [
1720+ {
1721+ regex : / # \[ c f g \( f e a t u r e = " a i - a d a p t e r - r u n t i m e " \) \] \s * p u b m o d a i \b / s,
1722+ message : 'AI client runtime must stay behind ai-adapter-runtime' ,
1723+ } ,
1724+ {
1725+ regex : / # \[ c f g \( f e a t u r e = " a i - a d a p t e r - r u n t i m e " \) \] \s * p u b m o d c l i _ c r e d e n t i a l s \b / s,
1726+ message : 'AI CLI credential runtime must stay behind ai-adapter-runtime' ,
1727+ } ,
1728+ {
1729+ regex : / # \[ c f g \( f e a t u r e = " p r o d u c t - f u l l " \) \] \s * p u b m o d d e b u g _ l o g \b / s,
1730+ message : 'debug ingest HTTP server must stay behind product-full' ,
1731+ } ,
1732+ ] ,
1733+ } ,
1734+ {
1735+ path : 'src/crates/assembly/core/src/util/types/ai.rs' ,
1736+ reason : 'legacy AI implementation DTO re-exports must not force AI adapters into no-default core builds' ,
1737+ patterns : [
1738+ {
1739+ regex : / p u b u s e b i t f u n _ c o r e _ t y p e s : : \{ C o n n e c t i o n T e s t M e s s a g e C o d e , C o n n e c t i o n T e s t R e s u l t , R e m o t e M o d e l I n f o \} ; / s,
1740+ message : 'stable AI DTOs must be re-exported from core-types' ,
1741+ } ,
1742+ {
1743+ regex : / # \[ c f g \( f e a t u r e = " a i - a d a p t e r - r u n t i m e " \) \] \s * p u b u s e b i t f u n _ a i _ a d a p t e r s : : t y p e s : : \{ G e m i n i R e s p o n s e , G e m i n i U s a g e \} ; / s,
1744+ message : 'legacy Gemini implementation DTOs must stay behind ai-adapter-runtime' ,
1745+ } ,
1746+ ] ,
1747+ } ,
16991748 {
17001749 path : 'src/crates/assembly/core/src/service/mod.rs' ,
17011750 reason :
@@ -1717,6 +1766,14 @@ export const requiredContentRules = [
17171766 regex : / # \[ c f g \( f e a t u r e = " s e r v i c e - i n t e g r a t i o n s " \) \] \s * p u b m o d r e v i e w _ p l a t f o r m \b / s,
17181767 message : 'review platform facade must stay behind service-integrations' ,
17191768 } ,
1769+ {
1770+ regex : / # \[ c f g \( f e a t u r e = " p r o d u c t - f u l l " \) \] \s * p u b m o d s e a r c h \b / s,
1771+ message : 'workspace search facade must stay behind product-full' ,
1772+ } ,
1773+ {
1774+ regex : / # \[ c f g \( f e a t u r e = " p r o d u c t - f u l l " \) \] \s * p u b u s e s e a r c h : : / s,
1775+ message : 'workspace search exports must stay behind product-full' ,
1776+ } ,
17201777 {
17211778 regex : / # \[ c f g \( f e a t u r e = " p r o d u c t - f u l l " \) \] \s * p u b m o d s n a p s h o t \b / s,
17221779 message : 'snapshot service must stay behind product-full until tool-runtime ownership is split' ,
0 commit comments