intentdna 1.6.1 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,7 +9,7 @@
9
9
  {
10
10
  "name": "intentdna",
11
11
  "description": "Declarative policy layer for AI agent behavior with plugin-managed hook runtime for Claude Code.",
12
- "version": "1.6.1",
12
+ "version": "1.6.2",
13
13
  "author": {
14
14
  "name": "Samuel"
15
15
  },
@@ -25,5 +25,5 @@
25
25
  ]
26
26
  }
27
27
  ],
28
- "version": "1.6.1"
28
+ "version": "1.6.2"
29
29
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intentdna",
3
- "version": "1.6.1",
3
+ "version": "1.6.2",
4
4
  "description": "Declarative policy layer for AI agent behavior",
5
5
  "author": {
6
6
  "name": "Samuel"
@@ -529,6 +529,9 @@ workflows:
529
529
  "module": "$ARGUMENTS",
530
530
  "round": 1,
531
531
  "run_id": "controller run id or manual-run",
532
+ "actionability": "none | actionable | needs_human | unsafe | unclear",
533
+ "scope": "none | in_diagnosis | outside_diagnosis | unclear",
534
+ "risk": "none | low | medium | high",
532
535
  "issues": ["specific issue with evidence path; empty when approved"],
533
536
  "evidence_paths": ["paths that justify the verdict"],
534
537
  "failure_reason": "why changes need another round; empty when approved",
@@ -544,9 +547,11 @@ workflows:
544
547
  - module is required and must equal $ARGUMENTS.
545
548
  - round is required and must be the provided current_round, or 1 for manual fix invocation.
546
549
  - run_id is required and must equal the provided controller_run_id, or "manual-run" for manual fix invocation.
547
- - updated_at is a required ISO timestamp string.
548
-
549
- REQUEST_CHANGES include failure_reason and concrete next_round_focus for the next fix invocation. The next_round_focus must name the priority/classification and specific test file or evidence path to address first.
550
+ - actionability, scope, risk, and updated_at are required.
551
+ - APPROVE → actionability/scope/risk should be none, issues empty, failure_reason empty, next_round_focus empty.
552
+ - REQUEST_CHANGES can continue automatically only when actionability is actionable, scope is in_diagnosis, risk is low or medium, and next_round_focus is concrete.
553
+ - REQUEST_CHANGES must stop when actionability is needs_human/unsafe/unclear, scope is outside_diagnosis/unclear, risk is high, or next_round_focus is empty.
554
+ - REQUEST_CHANGES → include failure_reason and concrete next_round_focus for the next fix invocation. The next_round_focus must name the priority/classification and specific test file or evidence path to address first.
550
555
  handoff:
551
556
  consumes:
552
557
  - type: git_commit
@@ -570,7 +575,9 @@ workflows:
570
575
  prompt: |
571
576
  Read the review verdict and diagnosis spec first.
572
577
 
573
- If the review verdict is REQUEST_CHANGES, set Verdict: BLOCKED, set Failure reason: BLOCKED_BY_REVIEW plus reviewer details, and do not claim verification.
578
+ If the review verdict is REQUEST_CHANGES:
579
+ - If actionability is actionable, scope is in_diagnosis, risk is low or medium, and next_round_focus is concrete, set Verdict: CONTINUE and do not run tests; copy reviewer next_round_focus into Next Round Focus.
580
+ - Otherwise set Verdict: BLOCKED, set Failure reason: BLOCKED_BY_REVIEW plus reviewer details, and do not run tests.
574
581
 
575
582
  If the review verdict is APPROVE:
576
583
  - Run full module test suite for $ARGUMENTS.
@@ -587,7 +594,8 @@ workflows:
587
594
  - Before writing Module complete: yes, read diagnosis classification summary, read current test summary, compare skipped tests against remaining UNIMPLEMENTED diagnosis items, and if any UNIMPLEMENTED skipped remains, Module complete must be no.
588
595
 
589
596
  Verdict mapping:
590
- - review REQUEST_CHANGES -> Verdict: BLOCKED, Failure reason: BLOCKED_BY_REVIEW.
597
+ - review REQUEST_CHANGES + actionable + in_diagnosis + risk low/medium + concrete next_round_focus -> Verdict: CONTINUE, Module complete: no, Next Round Focus: reviewer next_round_focus.
598
+ - review REQUEST_CHANGES without safe actionable scope -> Verdict: BLOCKED, Failure reason: BLOCKED_BY_REVIEW.
591
599
  - 0 failed + remaining UNIMPLEMENTED skipped > 0 -> Verdict: CONTINUE, Module complete: no, Next Round Focus: next diagnosis-backed UNIMPLEMENTED test/evidence path.
592
600
  - progress contradicts diagnosis/test evidence -> Verdict: BLOCKED, Failure reason: PROGRESS_DIAGNOSIS_CONFLICT.
593
601
  - new red caused by current round -> Verdict: REQUEST_CHANGES.
@@ -623,6 +631,9 @@ workflows:
623
631
  "module": "$ARGUMENTS",
624
632
  "round": 1,
625
633
  "run_id": "controller run id or manual-run",
634
+ "actionability": "none | actionable | needs_human | unsafe | unclear",
635
+ "scope": "none | in_diagnosis | outside_diagnosis | unclear",
636
+ "risk": "none | low | medium | high",
626
637
  "diagnosis_artifact": ".dna/specs/diagnosis-$ARGUMENTS.md",
627
638
  "review_artifact": ".dna/reviews/$ARGUMENTS-review.json",
628
639
  "git_head": null,
@@ -649,10 +660,11 @@ workflows:
649
660
  - git_head is the current git HEAD after verification if available, otherwise null.
650
661
  - verdict is required and must be PASS, CONTINUE, REQUEST_CHANGES, or BLOCKED.
651
662
  - review is required and must be APPROVE or REQUEST_CHANGES.
663
+ - actionability, scope, and risk are required and must mirror the review verdict when review is REQUEST_CHANGES; use none/none/none when review is APPROVE.
652
664
  - module_complete is a required boolean and must match the Markdown Module complete value.
653
665
  - fixed_count, new_red_count, blocked_count, remaining_count, and remaining_unimplemented_skipped_count are required non-negative integers.
654
666
  - next_round_focus is required and non-empty when verdict is CONTINUE or REQUEST_CHANGES; empty string is allowed when verdict is PASS.
655
- - failure_reason is required and non-empty when verdict is BLOCKED or REQUEST_CHANGES; empty string is allowed when verdict is PASS or CONTINUE.
667
+ - failure_reason is required and non-empty when verdict is BLOCKED or REQUEST_CHANGES; empty string is allowed when verdict is PASS or CONTINUE. When review REQUEST_CHANGES is normalized to verdict CONTINUE, keep reviewer failure details in Review Issues To Address First instead of failure_reason.
656
668
  - last_fix_commit is the commit hash string if available, otherwise null.
657
669
  - evidence_paths is a required array of command/test/diagnosis/review evidence paths.
658
670
  - updated_at is a required ISO timestamp string.
@@ -661,9 +673,9 @@ workflows:
661
673
 
662
674
  Verdict meanings:
663
675
  - PASS: all actionable BUG / UNIMPLEMENTED items are fixed, with no diagnosis-backed UNIMPLEMENTED skipped tests remaining; only TEST_BUG / INFRA / REMOVED / explicitly user-approved blocked items may remain
664
- - CONTINUE: this round made progress and remaining approved items should continue in the next fix invocation
676
+ - CONTINUE: this round made progress or review found safe, actionable, in-diagnosis issues that should continue in the next fix invocation
665
677
  - REQUEST_CHANGES: verification found issues in this round's changes
666
- - BLOCKED: review blocks verification, user confirmation is needed, evidence conflicts, or repeated no-progress prevents safe continuation
678
+ - BLOCKED: review blocks verification, user confirmation is needed, evidence conflicts, unsafe/out-of-scope changes, or repeated no-progress prevents safe continuation
667
679
  handoff:
668
680
  consumes:
669
681
  - type: file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intentdna",
3
- "version": "1.6.1",
3
+ "version": "1.6.2",
4
4
  "description": "Intent DNA — Declarative policy layer for AI agent behavior",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",