Monday, Jul 27, 2026
Summarizing compaction policy and layered config for luca-py
Anurag Verma merged two core features to quantized-ai/luca-py and made updates to his profile repository.
Verma shipped a SummarizingCompactionPolicy that implements the concrete decision logic for conversation compaction [1][2]. The core compaction contract, added by Santiago, handles the immutable swap of conversations within a session; this policy owns when to compact, using a context token gauge against the model's catalog window. The work corrected the architecture from the earlier closed #9, which had tried to build a whole new session instead of swapping conversations in place.
He also merged a configuration system that reads layered JSON files to set project and user defaults [3][4]. The TUI now checks ./luca.json in the repo, merged over ~/.config/luca/luca.json, with a precedence chain: CLI flag overrides project file, which overrides home defaults, which override persisted session settings, which override built-in defaults. This makes the config behave "like sticky CLI flags," letting a repo pin its model and compaction settings across sessions.
Both PRs were stacked; the config feature depends on the compaction policy, so it retargets main once the policy merges. In his profile repository anurag629/anurag629, Verma created a README and a snake.yml workflow file, then revised the README and later deleted the workflow.
Sources
- Add a SummarizingCompactionPolicy and a context bar · quantized-ai/luca-py
- Add a SummarizingCompactionPolicy and a context bar (#13) · quantized-ai/luca-py
- Read luca.json for project + user configuration (#14) · quantized-ai/luca-py
- Read luca.json for project + user configuration · quantized-ai/luca-py