Skip to content

kriya Console v0.3.4 — Today, action gates, and packs

Latest

Choose a tag to compare

@sandeepshekhar26 sandeepshekhar26 released this 03 Aug 16:01

Open the app and see what your agents did — and gate the actions that matter.

New in the app

  • Today — the new default landing view: the last 24 h of agent activity as human-readable
    headlines (deployed to prod, published a package, cut a release, blocked by a gate) with
    routine actions rolled up, the approvals that need you, and the day's posture — receipt-chain
    state, coverage, spend — in one strip. The Audit log gains a severity lens (Headline ·
    Notable · Denied · per-class chips, per-hour rollups); the classic full ledger stays the
    default. One shared receipt drawer everywhere: claim, signature verdict, live chain
    re-check, full payload, raw signed-line export.
  • Action gates — seven high-stakes action classes, each behind one dial (Allow / Receipt-only
    / Approve / Deny): deploys · destructive git · publishes (+dependency installs, receipted and
    aggregated) · production DB · infra · outbound sends · agent self-modification (Deny by
    default — the prompt-injection vector)
    . Enforced pre-execution in the Claude Code hook
    lane
    as a tighten-only escalation over your rules; every decision is a signed
    kriya.gate.<class>.{evaluated,held,approved,denied} receipt, chain-linked to the blocked
    attempt's own action receipt.
  • Policy packs — Developer / Analyst / Planner: named, versioned presets over the gates,
    applied to the device in one click — and the application itself is a signed
    kriya.policy.pack.* receipt. Duplicate-then-edit for custom packs.

Honest scope, as always

  • Gates enforce only where the pre-execution hook runs (the Claude Code lane today); receipts
    from other lanes are classified and displayed — the UI says "observed lanes", never "blocked".
  • "Blocked"/"Held" wording appears only on explicit runtime deny/hold receipts; a plain
    failed action reads "did not complete" — a policy deny and a runtime failure are
    indistinguishable on that receipt alone.
  • Dependency installs are counted, never judged — no "unknown package" claim ships until a
    first-seen ledger exists.
  • One policy file per device: a pack applies to the device; per-identity assignments are
    bookkeeping for the launcher/fleet, and the UI labels them that way.
  • The payments gate card is a disabled preview — payment governance is the next release's
    headline, not this one's.

Dogfood: this DMG was cut under its own governance — the build, codesign, notarization, and
publish appear as release-class headlines in the Today feed of the bundled demo dataset.

Signed with our Apple Developer ID, notarized + stapled by Apple (spctl reports
"Notarized Developer ID"). Universal binary (Apple Silicon + Intel). Verify with the .sha256
asset. The bundled kriya-hook was artifact-checked post-notarization: a .claude/settings.json
edit under a gates policy exits 2 and signs kriya.gate.self-mod.denied on the chain.

Full details: CHANGELOG · FEATURE-PROOF