Skip to content

Settings: consolidation, written down (v0.21.269) - #72

Merged
QR-Madness merged 1 commit into
masterfrom
feat/settings-consolidation
Aug 7, 2026
Merged

Settings: consolidation, written down (v0.21.269)#72
QR-Madness merged 1 commit into
masterfrom
feat/settings-consolidation

Conversation

@QR-Madness

Copy link
Copy Markdown
Owner

Wave 3.5 — the memory twin of Recall and the largest single section. 50 keys. 152 of 208 settings now documented.

Thresholds get their measured meaning

The recurring failure of settings docs is describing a number with an adjective. These say what actually changes:

  • fact_confidence_threshold is explained against the calibration it filters — extraction scores a fact ~0.95 if you stated it outright, 0.85 if strongly implied, 0.70 if reasonably inferred, 0.50 if hedged. That turns "0.7" from a number into "keeps inferences, drops guesses", and makes raising it to 0.85 a decision you can reason about.
  • semantic_duplicate_threshold says what merges at 0.92 (near-verbatim repeats) versus below 0.85 (facts that differ in ways that matter).
  • contradiction_similarity_threshold explains why it is lower than the duplicate bar: contradicting facts often share little vocabulary — "she moved to Munich" and "lives in Berlin" conflict without sounding alike.
  • entity_linking_similarity_threshold states the property that makes it safe to move at all: everything in its band is logged, never auto-merged.

The always-on cores get the distinction that separates them from recall: they are maintained, not searched. That is the only way a rule about how you like work done applies when nothing in your message would have retrieved it — and the cost is prompt tokens on every turn, permanently.

Contradiction detection's three layers are described cheapest-first, so it's clear why the LLM cost is far below what a per-fact check would suggest — most facts never reach layer three.

Prerequisite, shipped with it

Memory keys could not declare a screen. The KeySpec.ui_section override that fixed four config mis-sections had no effect on the memory store: _apply_spec only ever used the value its caller derived from recall/consolidation membership. Both stores behave identically now.

That immediately moved extraction_system_prompt and relevance_filter_prompt onto the Feature Prompts screen that actually edits them (FeaturePromptsSection.tsx:123,132). Seven mis-sections across five slices.

_keys_for in the coverage test collapsed to a single manifest-derived branch serving both stores, so adding a section remains a one-line change.

Also

All 29 panel controls manifest-bound. The seven nested .setting-rows are deliberate — those wrappers group a model picker with its role chip, and I verified the nesting is two flex columns with matching gaps rather than a layout defect. The panel's three maintenance actions (force consolidate, reset conversations, clear stuck jobs) are operations, not settings, and correctly carry no binding.

Verification

  • Backend suite 1243 OK; task test:sterile 1243 OK
  • Client 499 tests; tsc clean; ruff check api/ clean; pyright baseline 0
  • task docs:check green, zero warnings; production build OK
  • Live walk, zero console errors: 29 anchors, 29 help popovers, 4 modified dots on the real config; the picker-plus-role-chip grouping intact; no horizontal overflow. Manifest confirms 48/48 consolidation coverage and both prompt keys reporting feature-prompts.

Assisted-by: Opus 5

The memory twin of Recall, and the largest single section: 50 keys across the
extraction pipeline (extraction → relevance filter → contradiction → correction
→ combined) and the background work behind it (procedural distillation,
reflex/salient cores, entity linking, promotion, four job intervals).
**152 of 208 settings documented.**

Thresholds get their measured meaning rather than an adjective:

- `fact_confidence_threshold` is explained against the calibration it filters —
  extraction scores a fact ~0.95 if you stated it, 0.85 if strongly implied,
  0.70 if reasonably inferred, 0.50 if hedged — which turns "0.7" from a number
  into "keeps inferences, drops guesses".
- `semantic_duplicate_threshold` says what actually merges at 0.92 (near-verbatim
  repeats) versus below 0.85 (facts that differ in ways that matter).
- `contradiction_similarity_threshold` explains why it is *lower* than the
  duplicate bar: contradicting facts often share little vocabulary — "she moved
  to Munich" and "lives in Berlin" conflict without sounding alike.
- `entity_linking_similarity_threshold` states the property that makes it safe
  to move: everything in its band is logged, never auto-merged.

The always-on cores get the point that distinguishes them from recall: they are
maintained, not searched, which is the only way a rule about how you like work
done applies when nothing in your message would have retrieved it — and the
cost is prompt tokens on every turn, forever.

**Prerequisite, shipped with it: memory keys can now declare a screen.** The
`KeySpec.ui_section` override that fixed four config mis-sections had no effect
on the memory store — `_apply_spec` only ever used the value its caller derived
from recall/consolidation membership. Both stores behave the same now, which
immediately moved `extraction_system_prompt` and `relevance_filter_prompt` to
the Feature Prompts screen that actually edits them. Seven mis-sections found
across five slices.

`_keys_for` in the coverage test collapsed to one manifest-derived branch that
serves both stores, so adding a section stays a one-line change.

Assisted-by: Opus 5
@vercel

vercel Bot commented Aug 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agentx-docs-site Ready Ready Preview Aug 7, 2026 9:04pm

@QR-Madness
QR-Madness merged commit 06aeaf3 into master Aug 7, 2026
4 checks passed
@QR-Madness
QR-Madness deleted the feat/settings-consolidation branch August 7, 2026 21:07
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