1414- PII/secret detection and masking in outputs
1515- FastMCP integration with ` @secure_tool ` decorator
1616
17- ** Stats:** 5,000+ lines of code | 629 tests | 86 % coverage (enforced 80% in CI)
17+ ** Stats:** ~ 5,000 lines of code | 647 tests | 99 % coverage (enforced 80% in CI)
1818
1919<!-- END AUTO-MANAGED -->
2020
@@ -57,16 +57,19 @@ python examples/fastmcp_integration.py
5757```
5858src/agent_airlock/
5959├── __init__.py # Public API exports (all decorators, configs, policies)
60- ├── core.py # @Airlock decorator - main entry point (~450 lines)
60+ ├── core.py # @Airlock decorator - main entry point (726 lines)
6161│ └─ Handles: ghost args, validation, sandbox, policies
6262│ └─ Full async/await support, context propagation
6363│ └─ Dynamic policy resolution via callables
64- ├── audit.py # JSON Lines audit logging
64+ ├── audit.py # JSON Lines audit logging (301 lines)
6565│ └─ AuditLogger, AuditRecord, thread-safe writes
66- ├── context.py # Request-scoped context (NEW )
66+ ├── context.py # Request-scoped context (318 lines )
6767│ └─ AirlockContext, ContextExtractor, contextvars
6868│ └─ RunContextWrapper pattern extraction
69- ├── streaming.py # Generator/streaming support (NEW)
69+ ├── conversation.py # Multi-turn conversation state (425 lines)
70+ │ └─ ConversationState, ConversationConstraints
71+ │ └─ Cross-call tracking, budget management
72+ ├── streaming.py # Generator/streaming support (365 lines)
7073│ └─ StreamingAirlock, per-chunk sanitization
7174│ └─ Truncation across streamed output
7275├── validator.py # Ghost argument detection + Pydantic strict validation
@@ -75,13 +78,13 @@ src/agent_airlock/
7578│ └─ AirlockResponse with fix_hints for retry
7679├── config.py # Configuration: env vars > constructor > TOML file
7780│ └─ AirlockConfig dataclass (12 options)
78- ├── policy.py # RBAC engine (476 lines)
81+ ├── policy.py # RBAC engine (475 lines)
7982│ └─ SecurityPolicy, RateLimit (token bucket), TimeWindow
80- ├── sanitizer.py # PII/secret detection + masking (430 lines)
83+ ├── sanitizer.py # PII/secret detection + masking (705 lines)
8184│ └─ 12 data types, 4 masking strategies
82- ├── sandbox.py # E2B integration with warm pool (509 lines)
85+ ├── sandbox.py # E2B integration with warm pool (518 lines)
8386│ └─ SandboxPool, cloudpickle serialization
84- └── mcp.py # FastMCP integration (335 lines)
87+ └── mcp.py # FastMCP integration (344 lines)
8588 └─ MCPAirlock, secure_tool, create_secure_mcp_server
8689```
8790
@@ -126,23 +129,25 @@ src/agent_airlock/
126129- ** Context Propagation:** ` contextvars ` for request-scoped state (AirlockContext)
127130- ** Policy Resolver:** Dynamic policies via ` Callable[[AirlockContext], SecurityPolicy] `
128131- ** Streaming Sanitization:** Per-chunk validation with cumulative truncation
132+ - ** Conversation State:** Multi-turn tracking with budget management (ConversationConstraints)
129133
130134<!-- END AUTO-MANAGED -->
131135
132136<!-- AUTO-MANAGED: git-insights -->
133137## Git Insights
134138
135139Recent commits:
140+ - ` 2630882 ` fix: skip cloudpickle tests when not installed
141+ - ` 489b8d4 ` fix: resolve all ruff lint and format errors for CI
142+ - ` f138bb5 ` feat: v0.1.5 - Production-ready release with streaming, context, and 99% coverage
136143- ` f859cfa ` chore: bump version to 0.1.3
137144- ` a18dacf ` docs: upgrade README to top 1% 2026 standards
138- - ` 93116b6 ` docs: add comprehensive framework integration examples
139- - ` 283226c ` chore: bump version to 0.1.2
140- - ` 7c41838 ` feat: add framework compatibility and signature preservation
141145
142146Key security additions:
143147- ` sandbox_required=True ` parameter prevents unsafe local execution fallback
144148- Sensitive parameter names filtered from debug logs
145149- Path validation to prevent directory traversal attacks
150+ - Per-file-ignores for test patterns (ARG001, ARG005, SIM117)
146151
147152<!-- END AUTO-MANAGED -->
148153
@@ -186,8 +191,8 @@ Key security additions:
186191### Phase 0: Production Readiness (Added 2026-01-31)
187192- [x] Audit logging implementation (was config-only, now fully working)
188193- [x] Async function support (proper async/await wrapper)
189- - [x] Coverage verification (86 %, enforced 80% in CI)
190- - [x] 292 tests total (66 new for context, streaming, audit, async)
194+ - [x] Coverage verification (99 %, enforced 80% in CI)
195+ - [x] 647 tests total (includes context, streaming, audit, async, edge cases )
191196
192197### Production Phase 1: Core Missing Features (Added 2026-01-31)
193198- [x] P1.1: Streaming/generator support (StreamingAirlock class)
@@ -217,4 +222,38 @@ All major AI frameworks tested and working:
217222- [x] OpenAI Agents SDK - ` @function_tool ` + ` @Airlock() ` , Agent.run()
218223- [ ] Anthropic, AutoGen, CrewAI, LlamaIndex, smolagents (deps not installed)
219224
225+ ### Enterprise Production Roadmap (Added 2026-02-01)
226+
227+ See ` PRODUCTION_ROADMAP.md ` for full details.
228+
229+ ** Already Implemented (v0.1.5):**
230+ - [x] Async function support (proper async/await)
231+ - [x] Streaming support (StreamingAirlock)
232+ - [x] Context propagation (AirlockContext)
233+ - [x] Dynamic policy resolution (PolicyResolver callable)
234+ - [x] Audit logging (JSON Lines, thread-safe)
235+ - [x] Workspace PII config (per-tenant rules)
236+ - [x] Conversation tracking (multi-turn state)
237+
238+ ** P0 - Critical for Production (Week 1-2):**
239+ - [ ] Redis-backed distributed rate limiting
240+ - [ ] India-specific PII (Aadhaar, PAN, UPI, IFSC)
241+ - [ ] Performance benchmarks with CI
242+
243+ ** P1 - Enterprise Features (Week 3-4):**
244+ - [ ] OpenAI Agents SDK Guardrails bridge
245+ - [ ] Observability hooks (Datadog, OTEL, PostHog)
246+ - [ ] Circuit breaker pattern
247+
248+ ** P2 - Nice to Have (Week 5-6):**
249+ - [ ] Cost tracking callbacks
250+ - [ ] Anthropic SDK integration
251+ - [ ] LangChain integration module
252+ - [ ] Retry policies
253+
254+ ** Target Versions:**
255+ - v0.2.0: Redis rate limiting, India PII, Benchmarks
256+ - v0.3.0: Guardrails bridge, Observability
257+ - v1.0.0: Production certified, All integrations
258+
220259<!-- END MANUAL -->
0 commit comments