# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.037
.claude/.gitignore
.claude/agents/airlock-doc-writer.md
.claude/agents/airlock-release-manager.md
.claude/agents/airlock-test-writer.md
.claude/agents/airlock-worker.md
.claude/rules/airlock-rules.md
.claude/settings.json
.claude/skilletor.json
.claude/skills/airlock-core/SKILL.md
.github/workflows/ci.yml
.gitignore
CLAUDE.md
Changes
LICENSE
MANIFEST
META.json
META.yml
Makefile.PL
README
cpanfile
dist.ini
docs/superpowers/plans/2026-10-02-airlock-phase-1.md
docs/superpowers/specs/2026-10-02-airlock-design.md
examples/app.psgi
examples/lib/AirlockExample/Demo.pm
examples/lib/AirlockExample/Schema.pm
examples/lib/AirlockExample/Schema/Result/Airlock.pm
examples/lib/AirlockExample/StoreDBI.pm
examples/lib/AirlockExample/StoreDBIO.pm
examples/login.pl
examples/mojo.pl
examples/schema.sql
lib/Airlock.pm
lib/Airlock/Client.pm
lib/Airlock/Code.pm
lib/Airlock/Factor.pm
lib/Airlock/Factor/Callback.pm
lib/Airlock/Factor/TOTP.pm
lib/Airlock/Factor/Upstream.pm
lib/Airlock/HTTPMessage.pm
lib/Airlock/Policy.pm
lib/Airlock/QR.pm
lib/Airlock/Result.pm
lib/Airlock/Role/Endpoints.pm
lib/Airlock/Store/Memory.pm
lib/Airlock/Test/Store.pm
lib/Airlock/Upstream/Authentik.pm
lib/Airlock/Upstream/Keycloak.pm
misc/agent-context/.claude/agents/airlock-doc-writer.md
misc/agent-context/.claude/agents/airlock-release-manager.md
misc/agent-context/.claude/agents/airlock-test-writer.md
misc/agent-context/.claude/agents/airlock-worker.md
misc/agent-context/.claude/rules/airlock-rules.md
misc/agent-context/.claude/skilletor.json
misc/agent-context/.claude/skilletor.lock.json
misc/agent-context/.claude/skills/airlock-core/SKILL.md
misc/agent-context/.claude/skills/getty-git-commit-style/SKILL.md
misc/agent-context/.claude/skills/getty-git-usage/SKILL.md
misc/agent-context/.claude/skills/getty-perl-core/SKILL.md
misc/agent-context/.claude/skills/getty-perl-moo/SKILL.md
misc/agent-context/.claude/skills/getty-perl-pod/SKILL.md
misc/agent-context/.claude/skills/getty-perl-release-author-getty/SKILL.md
misc/agent-context/.claude/skills/kanban-issues-karr-coordination/SKILL.md
misc/agent-context/.claude/skills/kanban-issues-karr-coordination/references/cards.md
misc/agent-context/.claude/skills/kanban-issues-karr-coordination/references/claims.md
misc/agent-context/.claude/skills/kanban-issues-karr-coordination/references/config.md
misc/agent-context/.claude/skills/kanban-issues-karr-coordination/references/cross-board.md
misc/agent-context/.claude/skills/kanban-issues-karr-coordination/references/queries.md
misc/agent-context/.claude/skills/kanban-issues-karr-coordination/references/setup.md
misc/agent-context/.claude/skills/kanban-issues-karr-coordination/references/storage.md
misc/agent-context/.claude/skills/kanban-issues-karr-ticket/SKILL.md
misc/agent-context/.claude/skills/perl-release-dist-ini/SKILL.md
misc/agent-context/CLAUDE.md
t/00-load.t
t/10-qr.t
t/11-qr-readback.t
t/20-code.t
t/30-store-memory.t
t/40-factor-totp.t
t/41-factor-callback-upstream.t
t/42-policy.t
t/45-upstream-keycloak.t
t/46-upstream-authentik.t
t/50-core.t
t/51-core-factors.t
t/52-core-token.t
t/60-endpoints.t
t/61-httpmessage.t
t/70-client.t
t/80-example-store-dbi.t
t/81-example-store-dbio.t
t/82-example-psgi.t
t/83-example-mojo.t
t/90-live-keycloak.t
t/91-live-authentik.t
t/authentik/README.md
t/authentik/setup.pl
t/author-pod-syntax.t
t/keycloak/README.md
t/keycloak/k8s.yaml
t/keycloak/realm.json
t/keycloak/setup.pl
t/lib/AirlockTest.pm
t/release-changes_has_content.t
