Skip to content

feat: increase customization for reflect, retain and consolidation#419

Merged
nicoloboschi merged 11 commits intomainfrom
consol-pro
Feb 23, 2026
Merged

feat: increase customization for reflect, retain and consolidation#419
nicoloboschi merged 11 commits intomainfrom
consol-pro

Conversation

@nicoloboschi
Copy link
Collaborator

@nicoloboschi nicoloboschi commented Feb 21, 2026

No description provided.

…ng retain pattern

- Add consolidation_prompt_mode config flag (basic/standard/custom) with bank-level override support
- Add consolidation_custom_instructions config flag for custom mode
- Refactor prompts.py: BASIC_CONSOLIDATION_SYSTEM_PROMPT (minimal, new default),
  STANDARD_CONSOLIDATION_SYSTEM_PROMPT (original detailed prompt), and
  CUSTOM_CONSOLIDATION_SYSTEM_PROMPT (template with {custom_instructions})
- Pass resolved config through _process_memory to _consolidate_with_llm for prompt selection
- Add unit tests for prompt selection and config validation
- Add integration test for custom consolidation prompt mode
- Combine system+user into a single user message per prompt
- Remove "basic" mode; "standard" is now the default (was "basic")
- Rename prompts: STANDARD_CONSOLIDATION_PROMPT, CUSTOM_CONSOLIDATION_PROMPT
  (drop BASIC/SYSTEM/USER suffixes since there's one prompt per mode)
- Shared _DATA_SECTION and _OUTPUT_FORMAT templates composed into each prompt
- Add consolidation_prompt_mode (select) and consolidation_custom_instructions (textarea)
  to the Consolidation Settings section in bank-config-view.tsx
- Add CONSOLIDATION_PROMPT_MODE and CONSOLIDATION_CUSTOM_INSTRUCTIONS to
  configuration.md with prompt mode descriptions and custom mode example
- Update security model docs to list the new configurable fields
…+ observations_spec

- Remove consolidation_prompt_mode and consolidation_custom_instructions config fields
- Add retain_spec: declarative focus injected into any retain extraction mode
- Add observations_spec: drives consolidation prompt, replaces built-in rules when set
- Remove mission from consolidation (now reflect-only)
- Trim default consolidation rules from ~40 lines to 6, remove markdown formatting
- Update UI to group fields by operation with clear descriptions
- Update docs with examples for both new fields
…pec/observations_spec

- Fix test_consolidation_with_observations_spec: use _global_config not _base_config
- Fix test_hierarchical_fields_categorization: update count 4→6 for new fields
- Add test_retain_spec_injected_into_prompt: verify FOCUS section injection
- Add test_retain_spec_absent_when_not_set: verify no pollution when unset
- Add test_retain_spec_config_loaded_from_env: verify env loading + configurable
- Improve docs: add "when to use what" decision table for retain customization
- Improve docs: expand observations_spec with use-case guidance and 3 examples
@nicoloboschi nicoloboschi changed the title feat(consolidation): add prompt modes (basic/standard/custom) feat: increase customization for reflect, retain and consolidation Feb 23, 2026
…ustom

Add showWhen conditional visibility so the Custom Extraction Prompt field
only appears when retain_extraction_mode=custom, making the distinction
between retain_spec (Focus) and retain_custom_instructions crystal clear.
…tion

Each operation (Retain, Observations, Reflect) now gets its own card in
the configuration tab for clear visual separation. The Reflect card shows
mission and disposition traits (1-5 dot picker in edit mode), reading from
the profile API alongside the config API. BankProfileView hides its
Mission/Disposition cards when hideReflectFields=true to avoid duplication.
BankConfigView is now always visible (not gated by bankConfigEnabled).
… deprecate profile endpoint

- Add disposition_skepticism/literalism/empathy as hierarchical config fields (default None → falls back to DB)
- Deprecate mission/reflect_mission/disposition in CreateBankRequest — use update_bank_config instead
- Deprecate GET/PUT /banks/{bank_id}/profile endpoints in OpenAPI spec
- Update DispositionEditDialog and MissionEditDialog to use updateBankConfig
- Remove bank-mission/bank-with-disposition create_bank examples from docs; show update_bank_config instead
- Flatten Bank Configuration doc section: remove ### Retain/Observations/Reflect groupings, each field is its own ### heading
- Regenerate OpenAPI spec and all clients (Python, TypeScript, Go, Rust)
… failures

- Add reflect_mission as non-deprecated field to CreateBankRequest (mission/background remain deprecated aliases)
- Fix priority order in get_config_updates(): reflect_mission > mission > background
- Fix Rust CLI CreateBankRequest struct inits with ..Default::default() (fixes test-rust-cli)
- Fix _acreate_bank to return BankProfileResponse instead of raw dict (fixes test-hindsight-all)
- Fix body mapping: reflect_mission sent as its own key, not mapped to mission
- Update TypeScript createBank: reflectMission is now non-deprecated primary field
- Regenerate OpenAPI spec and all clients
…I for doc examples

- Update test_hierarchical_fields_categorization to expect 10 configurable fields
  (reflect_mission + 3 disposition fields were added as hierarchical)
- Add HINDSIGHT_API_ENABLE_BANK_CONFIG_API=true to test-doc-examples .env
  so update_bank_config calls in doc examples work without 404
@nicoloboschi nicoloboschi merged commit 2a32273 into main Feb 23, 2026
30 of 31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant