Commit 461c267
feat(agent): 6-f.5 — unbounded persistence + any-unique-field block disambiguation (closes 6-f.5)
Operator web-test feedback on 6-f.4 (the duplicate custom-tracecat scenario),
recorded as the 2026-07-06 ADR 0032 addendum.
1. No hard step caps (operator directive: "utilize the step count, but never
limit it to any specific value"): the agent loop drops its fixed step
ceiling and persists until the model answers. Remaining stops are real:
the no-progress guard (unchanged, now primary), a NEW context-fit guard
(AGENT_CONTEXT_FIT_THRESHOLD 0.8 x the provider's EFFECTIVE window — new
effective_context_window(): Ollama = loaded num_ctx, failover chain =
min across links), and a NEW optional AGENT_STEP_BREAKER (default off).
EVERY forced stop synthesizes a best-effort answer from gathered
evidence — stop_reason="budget_exhausted" and its canned apology are
retired. max_safe_autonomous_steps becomes a soft take-stock checkpoint
cadence. Web-research budget 12 -> 32. SYSTEM_PROMPT #7 PERSIST UNTIL
SATISFIED.
2. Any-unique-field disambiguation: block_key matches the identity element
first, then ANY leaf value uniquely selecting one live instance
(hook_url/api_key) via one shared selector used by tool capture,
build_candidate, the executor and the persistence proofs; B2 ops now on
any unblocked section; identity-carry accepts identity OR leaf value;
ambiguous-key refusals ENUMERATE each instance's discriminating fields
so the model re-addresses instead of hallucinating.
908 backend tests / 0 skips (+12); mypy --strict 116 files; ruff; dashboard
tsc + eslint. Docs: ADR 0032 addendum, roadmap 6-f.5 + 6-f.6 (deployment-
aware config application, next), CHANGELOG, PROGRESS, memories (incl. the
post-slice Nemotron model-switch instruction).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1 parent eb13f9b commit 461c267
27 files changed
Lines changed: 1104 additions & 221 deletions
File tree
- docs
- decisions
- memory
- services
- dashboard/lib
- server
- tests
- wolf_server
- agent
- api
- gateway
- models
- tools
- wazuh
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
474 | 474 | | |
475 | 475 | | |
476 | 476 | | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
477 | 504 | | |
478 | 505 | | |
479 | 506 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
52 | 130 | | |
53 | 131 | | |
54 | 132 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
10 | 12 | | |
11 | 13 | | |
12 | 14 | | |
| |||
0 commit comments