Skip to content
Back to skills

2485 Human Touchpoint Model Dfcffc25

ASecurity

ARL-derived escalation decision model for determining when the development harness should pause for human review versus proceeding autonomously. ---

  • 9 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 31, 2026
code-qualitygitapidatabasedocumentation

Works with

  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned May 31, 2026

npx -y skills add tools-only/X-Skills --skill 2485-human-touchpoint-model_dfcffc25 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 2485 Human Touchpoint Model Dfcffc25?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 2485 Human Touchpoint Model Dfcffc25
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-2485-human-touchpoint-model-dfcffc25/badge)](https://www.skillsdirectory.com/skills/tools-only-2485-human-touchpoint-model-dfcffc25)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# Human Touchpoint Model

ARL-derived escalation decision model for determining when the development harness should pause for human review versus proceeding autonomously.

---

## Principle

Not every stage transition requires human approval. The harness uses constraint analysis to make escalation decisions deterministically. This model replaces arbitrary "review every plan" checkpoints with condition-based gates that escalate only when the agent cannot safely proceed.

---

## Escalation Decision Flowchart

```mermaid
flowchart TD
    Gate([Stage Transition]) --> ConstraintCheck[Classify constraints from current stage output]
    ConstraintCheck --> CType{Constraint type?}
    CType -->|All BOUND| RiskCheck{Risk assessment}
    CType -->|Any UNBOUND| EscCheck{Unbound constraint critical?}
    CType -->|MIXED| MixedCheck{Can unbound constraints be isolated?}
    EscCheck -->|Yes — blocks correctness| Escalate[ESCALATE to human]
    EscCheck -->|No — does not block progress| Proceed[PROCEED autonomously]
    MixedCheck -->|Yes — isolate to specific tasks| PartialProceed[Proceed with bound tasks; escalate unbound]
    MixedCheck -->|No — tightly coupled| Escalate
    RiskCheck --> Reversible{Change reversible?}
    Reversible -->|Yes — local scope, can revert| Proceed
    Reversible -->|No — irreversible, broad scope| DomainCheck{Domain knowledge available?}
    DomainCheck -->|Yes — patterns exist in codebase| Proceed
    DomainCheck -->|No — insider/tribal knowledge needed| Escalate
    Proceed --> Continue([Continue to next stage])
    PartialProceed --> Continue
    Escalate --> HumanReview[Human reviews and decides]
    HumanReview --> Continue
```

---

## Constraint Types

### Bound Constraints

Constraints where all necessary information is available and deterministic.

**Indicators:**

- Acceptance criteria are specific and testable
- Integration points are documented in the codebase
- Patterns exist in existing code to follow
- Dependencies are versioned and available
- No ambiguous requirements remain

**Action:** Proceed autonomously.

### Unbound Constraints

Constraints where information is missing, ambiguous, or requires external knowledge.

**Indicators:**

- Requirements contain undefined terms or vague language
- No existing pattern in the codebase to follow
- Business logic requires domain expertise not in documentation
- Trade-offs exist that reflect organizational priorities (not technical ones)
- External system behavior is undocumented or untestable

**Action:** Escalate to human for the specific constraint. If the unbound constraint can be isolated to a specific task, other tasks may proceed.

### Mixed Constraints

Some constraints are bound, others are unbound.

**Decision:** Determine if the unbound constraints can be isolated.

- **Isolatable** — Proceed with bound tasks. Mark unbound tasks as blocked. Human unblocks specific tasks.
- **Coupled** — Unbound constraints affect the bound ones. Escalate the entire stage output.

---

## Risk Assessment

When all constraints are bound, assess the risk level of proceeding.

### Low Risk (proceed autonomously)

- Changes are **reversible** (can be reverted with git, undo, or redeployment)
- Changes have **local scope** (affect one module, one file, one feature)
- Changes follow **existing patterns** (not introducing novel architecture)
- Changes have **test coverage** (existing tests validate the approach)

### High Risk (consider escalation)

- Changes are **irreversible** (database migrations, API contract changes, published releases)
- Changes have **broad scope** (affect multiple modules, cross-cutting concerns)
- Changes introduce **novel architecture** (new patterns not seen in the codebase)
- Changes affect **external contracts** (API signatures consumed by other services)

High risk with available domain knowledge (patterns exist) proceeds. High risk without domain knowledge escalates.

---

## Domain Knowledge Assessment

When risk is high but constraints are bound, check if domain knowledge is available.

### Available in Context

- Codebase has examples of similar changes
- Documentation explains the architectural decision
- Test suite covers the relevant behavior
- Configuration files declare the expected patterns

**Action:** Proceed — the agent has sufficient information.

### Insider/Tribal Knowledge Needed

- The decision depends on organizational priorities not documented anywhere
- The change affects workflows only described in team conversations
- Historical context (why something was built a certain way) is required
- Stakeholder preferences influence the approach

**Action:** Escalate — the agent cannot safely make this decision.

---

## Pre-Scheduled Gates

The default pipeline has two pre-scheduled touchpoint gates:

**Gate 1 — After S1 Discovery, before S2 Planning:**

```mermaid
flowchart TD
    S1Done([S1 Discovery Complete]) --> Eval1[Evaluate discovery findings]
    Eval1 --> Q1{Any unbound constraints in requirements?}
    Q1 -->|No — requirements clear, context sufficient| Skip1[Skip gate — proceed to S2]
    Q1 -->|Yes — ambiguous requirements, missing context| Pause1[Gate activates — escalate to human]
    Eval1 --> Q2{Domain knowledge gaps?}
    Q2 -->|No — patterns exist, docs sufficient| Skip1
    Q2 -->|Yes — insider knowledge needed| Pause1
    Pause1 --> HumanS1[Human clarifies requirements/context]
    HumanS1 --> S2([S2 Planning])
    Skip1 --> S2
```

**Gate 2 — After S4 Task Decomposition, before S5 Execution:**

```mermaid
flowchart TD
    S4Done([S4 Task Decomposition Complete]) --> Eval2[Evaluate task complexity]
    Eval2 --> Q3{Task complexity level?}
    Q3 -->|Routine — follows existing patterns| Skip2[Skip gate — proceed to S5]
    Q3 -->|High — novel architecture, many unknowns| Pause2[Gate activates — escalate to human]
    Eval2 --> Q4{Novel architecture introduced?}
    Q4 -->|No — uses established patterns| Skip2
    Q4 -->|Yes — new patterns, structural changes| Pause2
    Pause2 --> HumanS4[Human reviews task plan and assignments]
    HumanS4 --> S5([S5 Execution])
    Skip2 --> S5
```

---

## Dynamic Escalation Points

Beyond pre-scheduled gates, the harness escalates on these conditions:

- **NEEDS_WORK loop limit** — 3 iterations in S6 Forensic Review without resolution
- **NOT_CERTIFIED loop limit** — 2 iterations in S7 Final Verification without resolution
- **Agent failure** — A specialist agent fails to produce an artifact (timeout, error, empty output)
- **Quality gate cascade failure** — All quality gates fail simultaneously (indicates fundamental issue)
- **Contradiction detected** — S3 Context Integration finds the plan contradicts codebase state and cannot reconcile

---

## Escalation Format

When escalating, the harness presents:

1. **What stage** produced the escalation
2. **What triggered** the escalation (specific constraint, risk factor, or loop limit)
3. **What the agent knows** (bound constraints, available context)
4. **What the agent does not know** (unbound constraints, missing information)
5. **Decision options** — concrete choices the human can make to unblock

The harness does NOT present vague requests like "please review." It presents specific decision forks.

---

## Sources

- ARL skill: `plugins/plugin-creator/skills/arl/`
- ARL research: `plugins/plugin-creator/skills/arl/references/`
- Default development flow: [./default-development-flow.md](./default-development-flow.md)

Files in this skill

  • README.md1.1 KB
  • skill.md7.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.