Skip to content

v2.7.0 β€” πŸ” Safe-by-default: fnox + pitchfork floor

Choose a tag to compare

@hamza-ali-shahjahan hamza-ali-shahjahan released this 04 Jul 23:47
5ea4dcd

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-live and 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.