ha-inlite

Home Assistant integration for in-lite
git clone https://git.stephank.nl/ha-inlite
Log | Files | Refs | README | LICENSE | ZIP

SKILL.md (4419B)


      1 ---
      2 name: "reviewer-protocol"
      3 description: "Reviewer rejection workflow and strict lockout semantics"
      4 domain: "orchestration"
      5 confidence: "high"
      6 source: "extracted"
      7 ---
      8 
      9 ## Context
     10 
     11 When a team member has a **Reviewer** role (e.g., Tester, Code Reviewer, Lead), they may approve or reject work from other agents. On rejection, the coordinator enforces strict lockout rules to ensure the original author does NOT self-revise. This prevents defensive feedback loops and ensures independent review.
     12 
     13 ## Patterns
     14 
     15 ### Reviewer Rejection Protocol
     16 
     17 When a team member has a **Reviewer** role:
     18 
     19 - Reviewers may **approve** or **reject** work from other agents.
     20 - On **rejection**, the Reviewer may choose ONE of:
     21   1. **Reassign:** Require a *different* agent to do the revision (not the original author).
     22   2. **Escalate:** Require a *new* agent be spawned with specific expertise.
     23 - The Coordinator MUST enforce this. If the Reviewer says "someone else should fix this," the original agent does NOT get to self-revise.
     24 - If the Reviewer approves, work proceeds normally.
     25 
     26 ### Strict Lockout Semantics
     27 
     28 When an artifact is **rejected** by a Reviewer:
     29 
     30 1. **The original author is locked out.** They may NOT produce the next version of that artifact. No exceptions.
     31 2. **A different agent MUST own the revision.** The Coordinator selects the revision author based on the Reviewer's recommendation (reassign or escalate).
     32 3. **The Coordinator enforces this mechanically.** Before spawning a revision agent, the Coordinator MUST verify that the selected agent is NOT the original author. If the Reviewer names the original author as the fix agent, the Coordinator MUST refuse and ask the Reviewer to name a different agent.
     33 4. **The locked-out author may NOT contribute to the revision** in any form — not as a co-author, advisor, or pair. The revision must be independently produced.
     34 5. **Lockout scope:** The lockout applies to the specific artifact that was rejected. The original author may still work on other unrelated artifacts.
     35 6. **Lockout duration:** The lockout persists for that revision cycle. If the revision is also rejected, the same rule applies again — the revision author is now also locked out, and a third agent must revise.
     36 7. **Deadlock handling:** If all eligible agents have been locked out of an artifact, the Coordinator MUST escalate to the user rather than re-admitting a locked-out author.
     37 
     38 ## Examples
     39 
     40 **Example 1: Reassign after rejection**
     41 1. Fenster writes authentication module
     42 2. Hockney (Tester) reviews → rejects: "Error handling is missing. Verbal should fix this."
     43 3. Coordinator: Fenster is now locked out of this artifact
     44 4. Coordinator spawns Verbal to revise the authentication module
     45 5. Verbal produces v2
     46 6. Hockney reviews v2 → approves
     47 7. Lockout clears for next artifact
     48 
     49 **Example 2: Escalate for expertise**
     50 1. Edie writes TypeScript config
     51 2. Keaton (Lead) reviews → rejects: "Need someone with deeper TS knowledge. Escalate."
     52 3. Coordinator: Edie is now locked out
     53 4. Coordinator spawns new agent (or existing TS expert) to revise
     54 5. New agent produces v2
     55 6. Keaton reviews v2
     56 
     57 **Example 3: Deadlock handling**
     58 1. Fenster writes module → rejected
     59 2. Verbal revises → rejected
     60 3. Hockney revises → rejected
     61 4. All 3 eligible agents are now locked out
     62 5. Coordinator: "All eligible agents have been locked out. Escalating to user: [artifact details]"
     63 
     64 **Example 4: Reviewer accidentally names original author**
     65 1. Fenster writes module → rejected
     66 2. Hockney says: "Fenster should fix the error handling"
     67 3. Coordinator: "Fenster is locked out as the original author. Please name a different agent."
     68 4. Hockney: "Verbal, then"
     69 5. Coordinator spawns Verbal
     70 
     71 ## Anti-Patterns
     72 
     73 - ❌ Allowing the original author to self-revise after rejection
     74 - ❌ Treating the locked-out author as an "advisor" or "co-author" on the revision
     75 - ❌ Re-admitting a locked-out author when deadlock occurs (must escalate to user)
     76 - ❌ Applying lockout across unrelated artifacts (scope is per-artifact)
     77 - ❌ Accepting the Reviewer's assignment when they name the original author (must refuse and ask for a different agent)
     78 - ❌ Clearing lockout before the revision is approved (lockout persists through revision cycle)
     79 - ❌ Skipping verification that the revision agent is not the original author