luigidemasi opened a new issue, #47:
URL: https://github.com/apache/camel-kit/issues/47

   > Imported from 
[luigidemasi/camel-kit#79](https://github.com/luigidemasi/camel-kit/issues/79), 
opened by [luigidemasi](https://github.com/luigidemasi) on 2026-05-13.
   > Closed by 
[luigidemasi/camel-kit#83](https://github.com/luigidemasi/camel-kit/pull/83), 
merged on 2026-05-15.
   
   ---
   
   ## Context
   
   **Source pattern:** `doubt-driven-development` skill from 
[agent-skills](https://github.com/addyosmani/agent-skills) — subjects every 
non-trivial decision to a fresh-context adversarial review before it stands. 
Process: CLAIM → EXTRACT → DOUBT → RECONCILE → STOP.
   
   ## Problem
   
   Camel-kit's review system (Iron Law 4: two-stage review) is:
   - Not adversarial (prompt is "evaluate", not "find what's wrong")
   - Not fresh-context (reviewers run as guides within the main conversation, 
sharing accumulated context)
   - Not per-decision (reviews cover the whole design/implementation, not 
individual non-trivial decisions)
   
   ## Proposed Solution
   
   ### 1. Adversarial spec review
   Reframe the spec-reviewer prompt from "evaluate this spec" to "assume the 
author is overconfident — find what's wrong, what's missing, what will fail." 
Prompt change in existing reviewer criteria.
   
   ### 2. In-flight doubt during camel-execute
   When a subagent makes a non-trivial decision (e.g., choosing between two EIP 
patterns, designing a DataMapper transformation), the orchestrator applies a 
CLAIM → EXTRACT → DOUBT mini-cycle. Fresh-context reviewer gets only artifact + 
contract + adversarial prompt — no accumulated session context.
   
   ### 3. Decision triviality gate
   Define non-trivial in the Camel context:
   - Introduces branching logic (choice, filter, circuitBreaker)
   - Crosses a system boundary (external API, database, message broker)
   - Asserts something the type system can't verify
   - Depends on invisible context (ordering, timing, state)
   - Is irreversible (data transformation, deletion)
   
   Adding a timer with a fixed period = trivial. Choosing between pollEnrich 
and from().aggregate() = non-trivial.
   
   ### 4. Bounded loop discipline
   3-cycle hard cap with escalation. If the reviewer surfaces issues across 3 
iterations without convergence, escalate to the user.
   
   ### 5. Finding classification
   Each reviewer finding classified as:
   - **Contract misread** → actionable (reviewer misunderstood the contract)
   - **Actionable** → fix before proceeding
   - **Trade-off** → document, user decides
   - **Noise** → dismiss with reason
   
   "Doubt theater" red flag: across 2+ cycles, zero findings classified as 
actionable → you're validating, not doubting. Stop and escalate.
   
   ## Acceptance Criteria
   
   - [ ] Spec-reviewer criteria reframed with adversarial prompt
   - [ ] Decision triviality gate defined for Camel integration context
   - [ ] CLAIM → EXTRACT → DOUBT mini-cycle in camel-execute for non-trivial 
decisions
   - [ ] Finding classification taxonomy (contract misread / actionable / 
trade-off / noise)
   - [ ] 3-cycle hard cap with user escalation
   - [ ] Fresh-context subagent for doubt review (not inline in main context)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to