v2.7.0 β π Safe-by-default: fnox + pitchfork floor
Hamzaish becomes safe-by-default. This release adds the jdx/en.dev toolchain floor β the two tools that make unattended, multi-product work safe β on top of a wave of guardrails that close real incidents at the tool layer, not with reminders.
Highlights
π fnox β secrets without a plaintext file (v2.6.0). The recommended secrets backend for /go-live. fnox.toml holds only ciphertext or remote-provider references (safe to commit), so there is no plaintext .env.local for the harness watcher to echo into a transcript β the root cause of a real key-leak incident, removed. AI agents reach secrets only through an exec-only MCP server that redacts resolved values (printenv β [REDACTED]). Piloted and red-teamed before shipping, with an honest, documented threat model: it closes accidental leaks; the real boundary against a determined agent is keeping the decryption key out of reach. The .env.local flow stays as a fallback, and the machine-wide guard hook stays as defense-in-depth.
π΄ pitchfork β supervised, self-verifiable dev servers (v2.7.0). Opt-in supervision for local dev servers: start-once (idempotent), survives across sessions, and MCP-drivable. /go-live now verifies a server is actually up before sharing a localhost link. Ships with a schema-validated config and an honest limit found in testing (an HTTP readiness check confirms "something answers," not "this server is alive" β mitigated by output-matched readiness + distinct ports). The stable-HTTPS reverse proxy is left deliberately opt-in, since it touches the system trust store.
π‘οΈ A wave of tool-layer guardrails (v2.5.x). Secrets files are never touched by the agent; security-posture documents can never reach a public tree; commits can never wear a stranger's identity; multi-repo sessions address repos instead of navigating into them; and ambiguous instructions are never resolved silently. Plus real portfolio telemetry connectors (Stripe / PostHog / Sentry) surfaced via bun run telemetry.
What's inside
- New secrets backend:
fnox.toml.example, exec-only MCP config, and a whole-tool shell deny-rule shipped in the product starter;/go-liveand the secrets anti-pattern reworked around it. - New dev-server layer:
pitchfork.toml.example+ MCP entry in the starter; go-live localhost-link verification. - Guardrails: machine-wide secrets-file hook, security-doc publish gate, identity/attribution checks, ambiguity protocol.
- Decision logs + a retro capture the evaluation, the red-team evidence, and the config-schema bugs caught in review (why these are opt-in, and where the honest limits are).
Get started
Clone to ~/Claude/Hamzaish and run bun run setup. The jdx tools are opt-in per product (brew install fnox pitchfork); nothing is forced, and the plain .env.local + bun dev paths still work.
License
AGPL-3.0-or-later.