Skip to content

Fix/dead handler cleanup and pipeline security - #14

Merged
Pakrohk merged 3 commits into
mainfrom
fix/dead-handler-cleanup-and-pipeline-security
Aug 11, 2026
Merged

Fix/dead handler cleanup and pipeline security#14
Pakrohk merged 3 commits into
mainfrom
fix/dead-handler-cleanup-and-pipeline-security

Conversation

@Pakrohk

@Pakrohk Pakrohk commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

No description provided.

…truth

Previously add_intent() accessed _DEFAULT_PROCESSORS directly, duplicating
the level→processor mapping and risking divergence from resolve_pipeline().

Now:
- base = resolve_pipeline(intent) — authoritative default resolution
- append intent.name (dedup if already in resolved chain)
- preserve priority/timeout/metadata from resolved PipelineConfig

Behavior:
  EPHEMERAL → (validate, handler)
  STANDARD  → (validate, authorize, handler)
  CRITICAL  → (validate, authorize, audit, protect, handler)

Explicit pipeline APIs (add_intent_with_pipeline, replace_pipeline,
before/after/remove_processor) unchanged.

Adds regression tests: TestAddIntentUsesResolver (delegation proof +
no direct _DEFAULT_PROCESSORS access), TestEdgeCases (exactly-once,
repeated add_intent, in-chain handler dedup, metadata preservation),
TestSecurityNotBypassed (validate/authorize rejection blocks handler).
@Pakrohk
Pakrohk merged commit 54dc1fa into main Aug 11, 2026
5 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant