Skip to content

IDD human-in-the-loop should conform to the NSQL confirmation protocol (v4.1.0) #103

@kiki830621

Description

@kiki830621

Problem

Original directive (Che, 2026-05-19): 「根據這個新的專案來更新 idd」 —— 具體為「IDD 裡面的 human in the loop 應該要符合 NSQL 的原則」。

NSQL (kiki830621/NSQL, now v4.1.0 — registered as a reference project in this repo's CLAUDE.md) is the Human-AI Confirmation Protocol that IDD's human-in-the-loop should conform to.

NSQL v4.1.0's model: a request triggers a dryrun — the AI renders "what I would do" without committing — which branches on two properties of that dryrun:

  • clarity — exactly one interpretation?
  • reversible — is a mistake recoverable?
clear and reversible  -> run, then report   ("traceable")
clear and not-reversible -> confirm
not-clear             -> disambiguate

NSQL principles: P1 Read-Only for Humans (humans confirm/correct, never write), P2 Explicit over Implicit, P3 Dynamic Confirmation Loop.

An audit of IDD's human-in-the-loop touchpoints against NSQL (2026-05-19) found IDD is ~80% already conformantidd-plan EnterPlanMode and the AskUserQuestion checkpoints (Layer V 3-option, sister-concern, IC_R011) are textbook "AI renders -> human confirms / picks".

Type

feature (IDD methodology)

Expected

IDD's human-in-the-loop touchpoints are explicitly reconciled to NSQL's confirmation protocol — the conformant ones documented as such, the non-conformant ones fixed. A surgical reconciliation, not a redesign: IDD contains an NSQL-shaped confirmation loop (its front half — issue + idd-diagnose + complexity routing), it is not itself an NSQL extension.

Actual

IDD has never been audited against NSQL's protocol. Known non-conformances for idd-diagnose to verify and scope:

  1. idd-issue has no dryrun / confirm step — it renders the structured issue and creates it without showing the rendering for the human to confirm or correct (violates P3 confirm-before-commit; should at least dryrun -> disambiguate-if-unclear -> report).
  2. idd-diagnose Layer V "clarify now" makes the human write free-text answers — NSQL P1 says the AI should render candidate interpretations and the human picks / corrects.
  3. IDD diagnosis has no residue concept — the part of an issue's intent that cannot be operationalized (its horizon / purpose) is never explicitly marked (NSQL section 4.6).
  4. IDD complexity routing (Simple / Plan / Spectra) gates on clarity-of-complexity, not on reversibility — NSQL's traceability gate says an irreversible change should confirm regardless of how "Simple" it looks; Layer P "risk-sensitive boundary" only partially covers this.

Impact

Current Status

Phase: verified
Last updated: 2026-05-20 by idd-verify

Key Decisions

Scope Changes

  • (none)

Blocking

Commits

Current Status

Phase: closed
Last updated: 2026-05-20 by idd-close

Key Decisions

Scope Changes

  • (none)

Blocking

  • (none — closed)

Commits

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions