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 conformant — idd-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:
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).
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.
- 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).
- 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
Blocking
Commits
Current Status
Phase: closed
Last updated: 2026-05-20 by idd-close
Key Decisions
Scope Changes
Blocking
Commits
Problem
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:
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 conformant —
idd-planEnterPlanMode 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-diagnoseto verify and scope:idd-issuehas 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).idd-diagnoseLayer V "clarify now" makes the human write free-text answers — NSQL P1 says the AI should render candidate interpretations and the human picks / corrects.residueconcept — the part of an issue's intent that cannot be operationalized (its horizon / purpose) is never explicitly marked (NSQL section 4.6).Impact
skills/idd-issue/,skills/idd-diagnose/(Layer V), the complexity-routing rule (rules/sdd-integration.md), possiblyMANIFESTO.md.CLAUDE.md"Reference Projects".---Current Status
Phase: verified
Last updated: 2026-05-20 by idd-verify
Key Decisions
bcdb3a0— Layer V option description (idd-diagnose:281 + sdd-integration.md:64) realigned to candidate-render handler; Residue(none)requirement promoted to>paragraphidd/103-nsql-conformance→ PR IDD human-in-the-loop should conform to the NSQL confirmation protocol (v4.1.0) #104; plugin bumped to v2.64.0Scope Changes
Blocking
/idd-close #103)Commits
bcdb3a0fix: align Layer V option description + Residue (none) emphasis (Refs IDD human-in-the-loop should conform to the NSQL confirmation protocol (v4.1.0) #103)71d1044chore: bump issue-driven-dev to v2.64.0 (IDD human-in-the-loop should conform to the NSQL confirmation protocol (v4.1.0) #103)a747c34feat: reconcile IDD human-in-the-loop touchpoints to NSQL (IDD human-in-the-loop should conform to the NSQL confirmation protocol (v4.1.0) #103)---Current Status
Phase: closed
Last updated: 2026-05-20 by idd-close
Key Decisions
675d7ba(3 commits collapsed; 5 plugin files +27/−10); plugin v2.64.0 lands in mainbcdb3a0— Layer V option description (idd-diagnose:281 + sdd-integration.md:64) realigned to candidate-render handler; Residue(none)requirement promoted to>paragraphScope Changes
Blocking
Commits
675d7baIDD human-in-the-loop should conform to the NSQL confirmation protocol (v4.1.0) (IDD human-in-the-loop should conform to the NSQL confirmation protocol (v4.1.0) #104) [squash ofa747c34+71d1044+bcdb3a0]