tenets.core.instiller
Package¶
Instiller module for managing and injecting tenets.
The instiller system handles the lifecycle of tenets (guiding principles) and their strategic injection into generated context to maintain consistency across AI interactions.
Classes¶
TenetInjector¶
Handles strategic injection of tenets into context.
Initialize the injector.
PARAMETER | DESCRIPTION |
---|---|
config | Injection configuration |
Attributes¶
configinstance-attribute
¶
loggerinstance-attribute
¶
min_distance_betweeninstance-attribute
¶
prefer_natural_breaksinstance-attribute
¶
reinforce_at_endinstance-attribute
¶
Functions¶
inject_tenets¶
inject_tenets(content: str, tenets: List[Tenet], format: str = 'markdown', context_metadata: Optional[Dict[str, Any]] = None) -> Tuple[str, Dict[str, Any]]
Inject tenets into content.
PARAMETER | DESCRIPTION |
---|---|
content | The content to inject into TYPE: |
tenets | List of tenets to inject |
format | Content format (markdown, xml, json) TYPE: |
context_metadata | Metadata about the context |
RETURNS | DESCRIPTION |
---|---|
Tuple[str, Dict[str, Any]] | Tuple of (modified content, injection metadata) |
calculate_optimal_injection_count¶
inject_into_context_result¶
inject_into_context_result(context_result: ContextResult, tenets: List[Tenet]) -> ContextResult
Inject tenets into a ContextResult object.
PARAMETER | DESCRIPTION |
---|---|
context_result | The context result to modify TYPE: |
tenets | Tenets to inject |
RETURNS | DESCRIPTION |
---|---|
ContextResult | Modified context result |
InstillationResultdataclass
¶
InstillationResult(tenets_instilled: List[Tenet], injection_positions: List[Dict[str, Any]], token_increase: int, strategy_used: str, session: Optional[str] = None, timestamp: datetime = datetime.now(), success: bool = True, error_message: Optional[str] = None, metrics: Optional[Dict[str, Any]] = None, complexity_score: float = 0.0, skip_reason: Optional[str] = None)
Result of a tenet instillation operation.
ATTRIBUTE | DESCRIPTION |
---|---|
tenets_instilled | List of tenets that were instilled |
injection_positions | Where tenets were injected |
token_increase | Number of tokens added TYPE: |
strategy_used | Injection strategy that was used TYPE: |
session | Session identifier if any |
timestamp | When instillation occurred TYPE: |
success | Whether instillation succeeded TYPE: |
error_message | Error message if failed |
metrics | Additional metrics from the operation |
complexity_score | Complexity score of the context TYPE: |
skip_reason | Reason if injection was skipped |
Attributes¶
tenets_instilledinstance-attribute
¶
injection_positionsinstance-attribute
¶
token_increaseinstance-attribute
¶
strategy_usedinstance-attribute
¶
sessionclass-attribute
instance-attribute
¶
timestampclass-attribute
instance-attribute
¶
successclass-attribute
instance-attribute
¶
error_messageclass-attribute
instance-attribute
¶
metricsclass-attribute
instance-attribute
¶
complexity_scoreclass-attribute
instance-attribute
¶
skip_reasonclass-attribute
instance-attribute
¶
Functions¶
Instiller¶
Main orchestrator for tenet instillation with smart injection.
The Instiller manages the entire process of injecting tenets into context, including: - Tracking injection history per session - Analyzing context complexity - Determining optimal injection frequency - Selecting appropriate tenets - Applying injection strategies - Recording metrics and effectiveness
It supports multiple injection modes: - Always: Inject into every context - Periodic: Inject every Nth distillation - Adaptive: Smart injection based on complexity and session - Manual: Only inject when explicitly requested
Initialize the Instiller.
PARAMETER | DESCRIPTION |
---|---|
config | Configuration object TYPE: |
Attributes¶
configinstance-attribute
¶
loggerinstance-attribute
¶
managerinstance-attribute
¶
injectorinstance-attribute
¶
complexity_analyzerinstance-attribute
¶
metrics_trackerinstance-attribute
¶
session_historiesinstance-attribute
¶
system_instruction_injectedinstance-attribute
¶
Functions¶
inject_system_instruction¶
inject_system_instruction(content: str, format: str = 'markdown', session: Optional[str] = None) -> Tuple[str, Dict[str, Any]]
Inject system instruction (system prompt) according to config.
Behavior: - If system instruction is disabled or empty, return unchanged. - If session provided and once-per-session is enabled, inject only on first distill. - If no session, inject on every distill. - Placement controlled by system_instruction_position. - Formatting controlled by system_instruction_format.
Returns modified content and metadata about injection.
instill¶
instill(context: Union[str, ContextResult], session: Optional[str] = None, force: bool = False, strategy: Optional[str] = None, max_tenets: Optional[int] = None, check_frequency: bool = True, inject_system_instruction: Optional[bool] = None) -> Union[str, ContextResult]
Instill tenets into context with smart injection.
PARAMETER | DESCRIPTION |
---|---|
context | Context to inject tenets into TYPE: |
session | Session identifier for tracking |
force | Force injection regardless of frequency settings TYPE: |
strategy | Override injection strategy |
max_tenets | Override maximum tenets |
check_frequency | Whether to check injection frequency TYPE: |
RETURNS | DESCRIPTION |
---|---|
Union[str, ContextResult] | Modified context with tenets injected (if applicable) |
get_session_stats¶
get_all_session_stats¶
analyze_effectiveness¶
export_instillation_history¶
export_instillation_history(output_path: Path, format: str = 'json', session: Optional[str] = None) -> None
Export instillation history to file.
PARAMETER | DESCRIPTION |
---|---|
output_path | Path to output file TYPE: |
format | Export format (json or csv) TYPE: |
session | Optional session filter |
RAISES | DESCRIPTION |
---|---|
ValueError | If format is not supported |
reset_session_history¶
TenetManager¶
Manages tenets throughout their lifecycle.
Initialize the tenet manager.
PARAMETER | DESCRIPTION |
---|---|
config | Tenets configuration TYPE: |
Attributes¶
configinstance-attribute
¶
loggerinstance-attribute
¶
storage_pathinstance-attribute
¶
db_pathinstance-attribute
¶
Functions¶
add_tenet¶
add_tenet(content: Union[str, Tenet], priority: Union[str, Priority] = 'medium', category: Optional[Union[str, TenetCategory]] = None, session: Optional[str] = None, author: Optional[str] = None) -> Tenet
Add a new tenet.
PARAMETER | DESCRIPTION |
---|---|
content | The guiding principle text or a Tenet object |
priority | Priority level (low, medium, high, critical) |
category | Category for organization TYPE: |
session | Bind to specific session |
author | Who created the tenet |
RETURNS | DESCRIPTION |
---|---|
Tenet | The created Tenet |
get_tenet¶
list_tenets¶
list_tenets(pending_only: bool = False, instilled_only: bool = False, session: Optional[str] = None, category: Optional[Union[str, TenetCategory]] = None) -> List[Dict[str, Any]]
List tenets with filtering.
PARAMETER | DESCRIPTION |
---|---|
pending_only | Only show pending tenets TYPE: |
instilled_only | Only show instilled tenets TYPE: |
session | Filter by session binding |
category | Filter by category TYPE: |
RETURNS | DESCRIPTION |
---|---|
List[Dict[str, Any]] | List of tenet dictionaries |
get_pending_tenets¶
remove_tenet¶
instill_tenets¶
get_tenets_for_injection¶
export_tenets¶
import_tenets¶
import_tenets(file_path: Union[str, Path], session: Optional[str] = None, override_priority: Optional[Priority] = None) -> int
Import tenets from file.
PARAMETER | DESCRIPTION |
---|---|
file_path | Path to import file |
session | Bind imported tenets to session |
override_priority | Override priority for all imported tenets |
RETURNS | DESCRIPTION |
---|---|
int | Number of tenets imported |