Skip to content

Saved memory (# quick-add), parallel tools, LLM retry, hardening#9

Merged
PentesterFlow merged 1 commit into
mainfrom
feat/saved-memory-and-agent-hardening
Jun 10, 2026
Merged

Saved memory (# quick-add), parallel tools, LLM retry, hardening#9
PentesterFlow merged 1 commit into
mainfrom
feat/saved-memory-and-agent-hardening

Conversation

@PentesterFlow

Copy link
Copy Markdown
Owner

Summary

  • Saved memory (# quick-add) — Claude-Code-style curated memory: #<text> saves a durable Markdown fact under .pentesterflow/memory/ (#! = personal). The catalog is pinned into the system prompt every turn (survives compaction); relevant facts are recalled in full per turn (recalled memory: …). Manage via /memory add|list|forget. Secrets redacted before write.
  • Parallel tool dispatch — independent tool calls in a step run concurrently (bounded), results recorded in call order; single-call and load_skill steps stay sequential. The permission prompter serializes its modal and coalesces same-origin fan-outs into one prompt.
  • LLM retry/backoff — transient failures (429/502/503/504 + connection drops) retried with exponential backoff, honoring Retry-After; wired into the OpenAI-compatible client.
  • Redaction — mask connection-string query-param creds, HTTP Digest response= hashes, GCP private_key_id.
  • Self-update hardening (L10) — pin installer to the requested release tag; assert installer URL is https on raw.githubusercontent.com.
  • Closes the internal audit (AUDIT.md): 35/39 fixed, 3 accepted, 1 hardened.

Testing

  • npm run ci green: typecheck, lint, 596 tests, build.
  • New tests: memory store + agent integration (pin/recall/survives-compaction/forget), parallel dispatch (barrier proves concurrency; order preservation), prompter serialization + fan-out coalescing, retry/backoff, redaction, self-update URL assertion.
  • Boot smoke-test: built dist/cli.js --version / --list-tools run clean.

🤖 Generated with Claude Code

…ening

Saved memory (#-quick-add): a curated, human-readable memory layer. `#<text>`
saves a durable fact (one Markdown file per fact under .pentesterflow/memory/,
`#!` = personal scope). The fact catalog is pinned into the system prompt every
turn (survives compaction) and the most relevant facts are recalled in full per
turn (`recalled memory: …`). Manage via /memory add|list|forget. Secrets are
redacted before write.

Parallel tool dispatch: independent tool calls in a step run concurrently
(bounded), results recorded in call order; single-call and load_skill steps stay
sequential. BridgedPrompter serializes its modal so approvals stay one-at-a-time
and a same-origin fan-out coalesces into one prompt.

LLM retry/backoff: transient backend failures (429/502/503/504 + connection
drops) retried with exponential backoff, honoring Retry-After. Wired into the
OpenAI-compatible client.

Redaction: mask connection-string query-param creds, HTTP Digest response
hashes, and GCP private_key_id.

Self-update hardening (L10): pin the installer to the requested release tag and
assert the installer URL is https on raw.githubusercontent.com.

Closes out the internal audit (AUDIT.md): 35/39 fixed, 3 accepted, 1 hardened.
Adds tests throughout; full CI green (596 tests).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@PentesterFlow PentesterFlow merged commit c0e90fc into main Jun 10, 2026
4 checks passed
@PentesterFlow PentesterFlow deleted the feat/saved-memory-and-agent-hardening branch June 10, 2026 16:17
PentesterFlow added a commit that referenced this pull request Jun 12, 2026
…hardening

Saved memory (# quick-add), parallel tools, LLM retry, hardening
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