Skip to content
Back to skills

Gz Airlock

ASecurity

Use to read a target's seam map before touching it (gz airlock in), account for what a transit disturbed (gz airlock out), or enter ad hoc (gz permitted-entry).

  • 9 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 19, 2026
devopsgobash

Security analysis

A100/100

Scanned October 19, 2026

npx -y skills add tvproductions/gzkit --skill gz-airlock --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gz Airlock?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Gz Airlock
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tvproductions-gz-airlock/badge)](https://www.skillsdirectory.com/skills/tvproductions-gz-airlock)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
---
name: gz-airlock
persona: main-session
description: Use to read a target's seam map before touching it (gz airlock in), account for what a transit disturbed (gz airlock out), or enter ad hoc (gz permitted-entry).
category: governance-infrastructure
lifecycle_state: active
owner: gzkit-governance
last_reviewed: 2026-10-17
model: haiku
gz_command: airlock
metadata:
  skill-version: "1.2.1"
---

# gz airlock

## Overview

The airlock is gzkit's entry/exit **membrane** (ADR-0.33.0): the reason for
entry selects the door, but it never decides *whether* the gate fires — every
unit of work crosses it. This skill wields the airlock's operator-facing doors
directly, for the two moments the pipeline and mx doors don't already own:

- **Inspect a target on the way IN** — `gz airlock in` runs the three-beat
  (DECLARE → PING the hull via `gz ontology reach` → RECONCILE) and reports the
  acknowledge-and-decide readout plus the two-layer seam-map (declared bodies ·
  computed push/pull edges · **un-accounted** seams).
- **Account on the way OUT** — `gz airlock out` computes the drift-diff (what a
  transit disturbed vs. what the intent declared) behind a closed decision menu.
- **Ad-hoc / spurious entry** — `gz permitted-entry` crosses the airlock for
  reconnaissance-for-comprehension (light repair at most), so the formerly
  membrane-less ad-hoc surface now leaves an accountable `airlock_in` /
  `airlock_out` L2 transit record instead of silently bypassing.

The airlock is **diagnostic-only**: a NO-GO or a surfaced drift is *reported*,
never a hard block — it always exits 0. It **never writes L1 canon**; it
proposes governed, attested amendments only. Its acknowledge-and-decide gate is
**never** a Gate-5 completion attestation.

## Three subjects (operator ruling, verbatim canon)

Keep three subjects distinct: transit is ecosystem movement through the airlock (ADR-0.33.0); exchange is one block’s occupancy (ADR-0.0.41); handoff is session memory (ADR-0.0.65). Classify by the citing event type, never a shared field name or path. Token blocks implement features through the airlock’s Build door. The airlock provides awareness and synthetic memory, controls project movement, keeps the agent focused and watches for contamination, and monitors results/disturbance; it is not a verification gate. ADR-0.33.0 incompletely captures those purposes; silence does not revoke them. Transit supplies current ecosystem orientation and handoff carries the prior session model; they cooperate, and neither alone supplies a resident project model.

> Carried verbatim from root `AGENTS.md` § Operator Doctrine on 2026-09-17 (GHI #921), and into this surface on 2026-09-24 (GHI #1091, sweep findings S07/S08), where transit, exchange and lock work happens. The corpus `.gzkit/corpus/AGENTS.md.jsonl` keeps the ruling's history.

## When to Use

- Before starting ad-hoc work in an unfamiliar area — cross via
  `gz permitted-entry --recon` to image the seam-map before you touch anything.
- Before/after a transit — inspect a target OBPI's seam-map (`airlock in`) or
  read what the work disturbed (`airlock out`).
- To check whether a target's blast radius carries **un-accounted** seams (a
  real push/pull edge absent from the declared set) before committing to work.

## When NOT to Use

- The pipeline door (`gz obpi pipeline` Stage 1/5) and the mx door
  (`gz mx enter`/`exit`, via the `gz-mx` skill) already call the airlock — do
  not re-cross it manually for those transits.
- To image structural lineage without entering — that is the `gz-ontology`
  sonar (`gz ontology sense/trace/reach`), which this skill's PING beat consumes.

## Output Contract

Human-readable decision + seam-map counts (or drift-diff findings + decision
menu) by default; `--json` for the machine-readable projection. `--dry-run`
previews the membrane WITHOUT booking an L2 transit.

## Workflow

1. Inspect a target OBPI on the way in (preview, no transit booked):

   ```bash
   uv run gz airlock in --target <OBPI-ID> --dry-run
   uv run gz airlock in --target <OBPI-ID> --dry-run --json   # machine-readable
   ```

   `decision: proceed` with `unaccounted=0` means GO is reachable. Any
   `unaccounted` seam makes GO structurally unreachable — the readout names the
   exact seam, its provenance, and a one-command re-sense.

2. Make a governed ad-hoc reconnaissance entry (default; no mutation):

   ```bash
   uv run gz permitted-entry --target <path> --recon
   ```

   The acknowledge-and-decide gate fires on every entry (BI-2). Reconnaissance
   yields a comprehension report and mutates nothing.

3. Light repair is the ceiling — a within-ceiling intent is admitted; anything
   beyond it SURFACES a fresh-transit recommendation (pipeline or mx door) and
   is never smuggled inline:

   ```bash
   uv run gz permitted-entry --target <path> --repair "<light-repair intent>"
   ```

4. Account for what a transit disturbed on the way out:

   ```bash
   uv run gz airlock out --target <OBPI-ID> --dry-run
   ```

   Read the drift-diff verdict, findings + recommendations, and the closed
   decision menu (`leave_it_be | modify | repair | adjust_maps`). Discovered
   corrections route as a FRESH transit through the right door — never inline.

## Boundaries

- **Diagnostic-only FOR NOW — a staged posture, not the contract.** Every verb
  exits 0; a NO-GO or drift is surfaced rather than blocking. That is because
  production reach yields an empty seam-map, so a fail-closed gate would be
  vacuous (parent ADR § Calibration frontier, operator-attested 2026-07-10;
  calibration is "a named successor increment"). The declared end state BLOCKS —
  BI-4, *"an un-accounted seam makes GO structurally unreachable."* Do not read
  the current posture as the design. § Negative #5 governs the *shape* of a
  refusal (name the seam, its provenance, a one-command re-sense; logged and
  revocable override), never whether one blocks; BI-2 governs that the gate
  always fires, never that it always passes.
- **Never writes L1 canon.** The exit membrane proposes attested amendments; it
  never mutates an ADR, invariant, or canon file (BI-1).
- **The gate is acknowledge-and-decide, never completion attestation** (BI-3) —
  it books `airlock_in` / `airlock_out` L2 encounter events only.
- `--dry-run` books no L2 transit — use it for a pure preview.
- Per-door ceremony-weight calibration (tight/corrective/permissive) is an
  attested deferred frontier; today all doors call the one shared primitive in
  the same diagnostic posture.

## Reference

- Manpage: [`gz airlock`](../../docs/user/manpages/airlock.md),
  [`gz permitted-entry`](../../docs/user/manpages/permitted-entry.md)
- Parent ADR: `ADR-0.33.0-airlock-membrane`
- Sibling: `gz-ontology` (the hull sonar the PING beat queries),
  `gz-mx` (the mx door), `gz-obpi-pipeline` (the pipeline door)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.