Skip to content

release: Raffkin 1.0.0 - #280

Merged
virtualsteve-exa merged 13 commits into
mainfrom
dev
Sep 29, 2026
Merged

virtualsteve-exa merged 13 commits into
mainfrom
dev

Conversation

@virtualsteve-exa

Copy link
Copy Markdown
Collaborator

Promotes dev to main for Raffkin 1.0.0: the rename from socxen (#274), the 1.0.0 release (#275) and the 1.0 gate evidence (#279), plus everything since 0.9.0. See CHANGELOG.md [1.0.0].

Steve authorized this in chat on 2026-09-28. It merges back to back with the repository rename (socxen → raffkin) and the catalog re-point (open-agent-ai-security/plugins#11).

Gate: 600 red-team trials across four legs, 0 real landings, 0 HOOK MISS. Praxen on Opus 5.5 found 0 Critical and 0 High, and has maintainer approval.

Merge commit, per the dev → main model.

🤖 Generated with Claude Code

https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd

virtualsteve-exa and others added 13 commits September 23, 2026 18:16
…he uv floor (#248) (#255)

The connector ships a hash-pinned script lock, but the launch never asked uv to
honor it, so on a uv that ignores script locks the dependencies resolved to
whatever the index offered. Both hosts now launch with `--locked`: uv refuses to
start the bridge if the lock is missing or stale instead of resolving without
it. Preflight fails a uv below 0.5.23 (script locks arrived in 0.5.17; the
`--locked` warning on scripts went away in 0.5.23) with the upgrade command, and
its connectivity check launches the bridge the way the hosts do. The guide's uv
bullet states the floor.

Checked on uv 0.11.24: a current lock starts; a stale lock and a missing lock are
refused with uv's own message; offline with the lock satisfied starts.

Tests: the launch arguments on both hosts, the shipped lock, preflight's check
line and floor (invariant); a fake uv below and at the floor (functional);
test_bridge_static runs the bridge as the hosts do.


Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd

Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
The supported catalog was transferred from github.com/Exabeam/plugins to
Exabeam-Labs/plugins (Exabeam-Labs/plugins#36 re-keys the catalog itself).

Two changes:

1. The worked example in gen_identity.py and the re-key fixtures in
   test_repo_invariants name the new org. Nothing functional -- these are
   the documented example of a vendor catalog, so they should be the real
   address.

2. The Forge pointer gets its URL back, in installation.md and support.md.
   It was removed in #225 because Exabeam/plugins was private: the line
   addressed "Exabeam customers" and sent them to a GitHub sign-in page,
   which is worse than no link. Exabeam-Labs/plugins is intended to be
   public, which is what the line always needed.

BLOCKED until the new repo is actually public. It is private today and the
org reports zero public repos, so merging now reintroduces exactly the
login wall #225 removed. Both halves of the URL change are here so this is
ready the moment that flips; the first change is safe on its own if the
second has to wait.

The paragraph sits inside <!-- community-only --> markers, so it ships in
the community build only -- a re-keyed copy with a distribution block drops
it, and the Forge's own docs never carry a pointer to themselves.


Claude-Session: https://claude.ai/code/session_01ALAvKGNfNGPe28j1vHYm2u

Signed-off-by: Matt W <matt.willems@exabeam.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
…d-off-by (#253) (#262)

The check now enforces the convention CONTRIBUTING already states: maintainers
and Exabeam employees sign off like everyone else. Bot commits stay exempt
because a bot cannot sign. CONTRIBUTING and the workflow header say so.


Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd

Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* observra: SOCXEN_OBSERVRA=off is announced on stderr (#215)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* observra test: the logging-on case really logs; every off spelling covered (review of #264)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

---------

Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* praxen: Worker Remit v1.8 — model-floor rule removed (#219), spill-file carve-out in the no-copy sentence and the parser clause dropped (#218)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* remit v1.8: dated today; the Updated By line says where the floor now lives (review of #266)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

---------

Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…cond case asks (#247) (#263)

* gate: escalation writes on a per-session budget — two, then ask; a second case asks (#247)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* redteam: the hook leg registers its dry-run bridge under the bundled server's name, so the allow tier and the write budget are exercised (#247)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* redteam: the hook leg's preflight proves the write budget holds (allow, allow, ask) before a pass starts (#247)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

---------

Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…268)

* neutralizer: redact unlabeled sk-, sk-proj-, sk-ant- and glpat- keys (PRAX-2026-09-24-003)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* neutralizer: match sk- keys by shape, not by any digit in a hyphenated run; bound the lookaheads (review of #268)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

---------

Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…comes the scan and sweep standard (#269)

* praxen: the gate scan runs on Claude Opus 5.5

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* redteam: the release run's Opus sweep and extra-signal model is Claude Opus 5.5

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* praxen: the 2026-09-24 gate scan of dev (0e58da8) — 0 Critical, 0 High, RAISE 3.70

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* praxen: -003's fix is an open PR, not landed (review of #269)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

---------

Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…270)

* docs: the release steps name every file bump_version.py edits and regenerates (#251)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* docs: bump_version.py's dry run and CONTRIBUTING say exactly what it regenerates and checks (review of #270)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

---------

Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ne (#271)

* soc-investigate: report a refused planted instruction on a Flagged line, as the sweep skills do (PRAX-2026-09-24-004)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* soc-investigate: Flagged in the Output list and the worked example; quotes are defanged (review of #271)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* soc-investigate: the Flagged line says defanging the quote is the model's job; the guide is regenerated (review of #271)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

---------

Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 10.1.0 to 10.2.0.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](astral-sh/setup-uv@bec219d...c18668a)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 10.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* rename: socxen -> Raffkin — plugin key, namespaces, operator surfaces, prose (#261)

The plugin key is raffkin@open-agent-ai-security; skills are raffkin:<skill>; MCP tools are
mcp__plugin_raffkin_exabeam__*. Prose says Raffkin; identifiers say raffkin. Environment variables
are RAFFKIN_* and the home directory is ~/.raffkin (the fallback to the old names follows).

Not changed here: repository and Pages URLs (they move with the repository rename), history
(CHANGELOG, the red-team and Praxen ledgers and result files, past scan status blocks), and the
brand asset file names and the social card raster.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* rename: pre-rename SOCXEN_* variables and ~/.socxen are honored for one release, announced (#261)

The bridge's telemetry shim (env, home_dir) and the hook (its own copy; separate process) read
RAFFKIN_<name> first, fall back to SOCXEN_<name>, and say so on stderr. ~/.raffkin is the home
directory unless only ~/.socxen exists, which is kept until the operator moves it, so dashboards on
the old telemetry path keep working. install.sh and preflight.sh map SOCXEN_SCOPE/REPO/MARKETPLACE/
PLUGIN/PLATFORM the same way. Read through 0.10.x.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* rename: the install guide tells a socxen user how to move to Raffkin; remit v1.9 carries the name (#261)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* rename: brand asset files carry the new name (raffkin-mark, -favicon, -wordmark-*, raffkin-theme.css) (#261)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* Revert "rename: pre-rename SOCXEN_* variables and ~/.socxen are honored for one release, announced (#261)"

This reverts commit ac326c2.

Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* rename: 1.0 is a new plugin — the install guide says remove socxen and install Raffkin, nothing carries over but the credentials (#261)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* rename: the install guide requires removing socxen before installing Raffkin — both at once doubles the servers, the skills and the write budget (#261)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* rename: review fixes; the guides are for new users and do not mention socxen (#261)

- installation: the Coming-from-socxen section and a stale 'retired marketplace' bullet are removed;
  pre-release users are told directly
- the product name reads Raffkin wherever a reader sees it: the landing page's meta, Open Graph,
  Twitter and JSON-LD names, logo alt text, the BOM page titles, security/README, a guardrails image,
  the docs-front-page diagram, the neutralizer design note, the red-team runner's report and help
- red-team temp directories are raffkin-gatelog-*; new Praxen results are named <date>-raffkin-<label>
- history restored where the mechanical pass rewrote it (the retired socxen@socxen marketplace)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* feat: update Raffkin visual identity

Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* site: wrapped section headings get heading line-height and balanced breaks; the credentials path stays on one line (#261)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* rename: restore the Praxen README the rename pass corrupted; last three casing fixes; no tracked text file may carry a NUL byte (#261)

The rename pass protected the scan status blocks after protecting URLs and artifact names inside
them, then restored in insertion order, so 98 placeholders (NUL-delimited) stayed in
security/praxen/README.md: every results link and several repo links broke, and git classed the file
as binary, which hid it from diff and grep. The file is rebuilt from dev with the restore order fixed
and the later edits re-applied; it matches the committed text everywhere except the placeholders, and
all 51 relative links resolve. A repo invariant now fails on a NUL byte in any tracked text file
(verified against the corrupted copy).

Also: the AI BOM says 'not pinned by Raffkin', the graphics README names the wordmark text Raffkin,
and SECURITY.md's report subject reads 'Raffkin security report'.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* redteam: the hook leg refuses to start unless the two allowed writes hit the bridge's dry run; a test binds the runner's dry-run variable to the bridge's (#274 review)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* rename: re-render the guardrails and harness diagrams from their renamed sources (#274 review)

The four PNGs still showed socxen, and the shipped guardrails figure named the default telemetry sink
~/.socxen/telemetry.jsonl, which no longer exists. Rendered with scripts/render_diagram.py.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

---------

Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* rename: socxen -> Raffkin — plugin key, namespaces, operator surfaces, prose (#261)

The plugin key is raffkin@open-agent-ai-security; skills are raffkin:<skill>; MCP tools are
mcp__plugin_raffkin_exabeam__*. Prose says Raffkin; identifiers say raffkin. Environment variables
are RAFFKIN_* and the home directory is ~/.raffkin (the fallback to the old names follows).

Not changed here: repository and Pages URLs (they move with the repository rename), history
(CHANGELOG, the red-team and Praxen ledgers and result files, past scan status blocks), and the
brand asset file names and the social card raster.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* rename: pre-rename SOCXEN_* variables and ~/.socxen are honored for one release, announced (#261)

The bridge's telemetry shim (env, home_dir) and the hook (its own copy; separate process) read
RAFFKIN_<name> first, fall back to SOCXEN_<name>, and say so on stderr. ~/.raffkin is the home
directory unless only ~/.socxen exists, which is kept until the operator moves it, so dashboards on
the old telemetry path keep working. install.sh and preflight.sh map SOCXEN_SCOPE/REPO/MARKETPLACE/
PLUGIN/PLATFORM the same way. Read through 0.10.x.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* rename: the install guide tells a socxen user how to move to Raffkin; remit v1.9 carries the name (#261)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* rename: brand asset files carry the new name (raffkin-mark, -favicon, -wordmark-*, raffkin-theme.css) (#261)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* Revert "rename: pre-rename SOCXEN_* variables and ~/.socxen are honored for one release, announced (#261)"

This reverts commit ac326c2.

Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* rename: 1.0 is a new plugin — the install guide says remove socxen and install Raffkin, nothing carries over but the credentials (#261)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* rename: the install guide requires removing socxen before installing Raffkin — both at once doubles the servers, the skills and the write budget (#261)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* rename: review fixes; the guides are for new users and do not mention socxen (#261)

- installation: the Coming-from-socxen section and a stale 'retired marketplace' bullet are removed;
  pre-release users are told directly
- the product name reads Raffkin wherever a reader sees it: the landing page's meta, Open Graph,
  Twitter and JSON-LD names, logo alt text, the BOM page titles, security/README, a guardrails image,
  the docs-front-page diagram, the neutralizer design note, the red-team runner's report and help
- red-team temp directories are raffkin-gatelog-*; new Praxen results are named <date>-raffkin-<label>
- history restored where the mechanical pass rewrote it (the retired socxen@socxen marketplace)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* feat: update Raffkin visual identity

Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* site: wrapped section headings get heading line-height and balanced breaks; the credentials path stays on one line (#261)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* rename: restore the Praxen README the rename pass corrupted; last three casing fixes; no tracked text file may carry a NUL byte (#261)

The rename pass protected the scan status blocks after protecting URLs and artifact names inside
them, then restored in insertion order, so 98 placeholders (NUL-delimited) stayed in
security/praxen/README.md: every results link and several repo links broke, and git classed the file
as binary, which hid it from diff and grep. The file is rebuilt from dev with the restore order fixed
and the later edits re-applied; it matches the committed text everywhere except the placeholders, and
all 51 relative links resolve. A repo invariant now fails on a NUL byte in any tracked text file
(verified against the corrupted copy).

Also: the AI BOM says 'not pinned by Raffkin', the graphics README names the wordmark text Raffkin,
and SECURITY.md's report subject reads 'Raffkin security report'.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* redteam: the hook leg refuses to start unless the two allowed writes hit the bridge's dry run; a test binds the runner's dry-run variable to the bridge's (#274 review)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* release: 1.0.0 — version bump, CHANGELOG, pre-release wording removed, repository and site URLs point at raffkin (#261)

Queued to land with the repository rename: every URL here points at open-agent-ai-security/raffkin and
open-agent-ai-security.github.io/raffkin, which exist only after it. History keeps its URLs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* release: Raffkin is a Production-level project (was Incubator) (#261)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* release: the old site is retired with no redirect — a hard cutover (#261)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* rename: re-render the guardrails and harness diagrams from their renamed sources (#274 review)

The four PNGs still showed socxen, and the shipped guardrails figure named the default telemetry sink
~/.socxen/telemetry.jsonl, which no longer exists. Rendered with scripts/render_diagram.py.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* release: the 1.0 CHANGELOG names every renamed variable and says SOCXEN_OBSERVRA=off must be re-set (#274 review)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* gate: Raffkin 1.0.0 release gate results — 600 red-team trials, 0 landed; Praxen 0 Critical (#279)

* redteam: the hook-leg preflight's controls run on the gate floor model, whatever the sweep drives

Opus 5.5 stopped after the first dry-run refusal and left the write budget unexercised, so the
preflight refused the Opus sweep; the controls prove the hook, not the model.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* gate: the 1.0.0 release gate results — red team on four legs (600 trials, 0 landed past the controls) and Praxen on Opus 5.5 (0 Critical, 0 High)

Also files the 2026-09-24 dev gate's red-team results, which were run but never committed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* gate: explain the Codex fidelity audit, re-drive a13/a14/a15, and say '0 real landings' in the CHANGELOG (review of #279)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

---------

Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* praxen: maintainer approval of the 1.0.0 release-candidate scan (Steve Wilson, 2026-09-28)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

* release: date the 1.0.0 entry

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Q9UohWfy2scPhr4pavhqd
Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>

---------

Signed-off-by: Steve Wilson <steve.wilson@exabeam.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@virtualsteve-exa
virtualsteve-exa merged commit 6d422ee into main Sep 29, 2026
8 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.

2 participants