@open-tomato/rafa 0.7.1 → 0.9.0

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.
@@ -4,10 +4,10 @@ import {
4
4
  openNdjsonStore,
5
5
  openSqliteStore,
6
6
  selectEffortStore
7
- } from "../../index-zjxrphjq.js";
7
+ } from "../../index-eqsm86n7.js";
8
8
  import {
9
9
  STORE_BACKENDS
10
- } from "../../index-akz06erg.js";
10
+ } from "../../index-96pz9023.js";
11
11
  export {
12
12
  selectEffortStore,
13
13
  openSqliteStore,
@@ -863,4 +863,4 @@ function activeOutputMode() {
863
863
  return activeMode;
864
864
  }
865
865
 
866
- export { MERGE_METHODS, isMergeMethod, isAgentName, BUDGET_FLAG, parseTaskDeclaration, stripTaskDeclaration, resolveDeclarationFlags, isMapping, describeValue, messageOf, CONFIG_VERSIONS, STORE_BACKENDS, INJECT_MODES, OUTPUT_MODES, CLAUDE_SETTING_SOURCES, PR_PROVIDERS, RELEASE_AUTO, listOf, PREREQUISITE_KINDS, requiredPrerequisite, optionalPrerequisite, MODULE_SOURCE_KINDS, CONFIG_FILE, CONFIG_DEFAULTS, ConfigError, configFilePath, parseConfigText, resolveConfig, createTextOutput, activeOutput, activeOutputMode, RAFA_BLOCK_KINDS, isRafaBlockKind, readRafaBlocks };
866
+ export { MERGE_METHODS, isMergeMethod, isAgentName, BUDGET_FLAG, parseTaskDeclaration, stripTaskDeclaration, resolveDeclarationFlags, isMapping, describeValue, messageOf, CONFIG_VERSIONS, STORE_BACKENDS, INJECT_MODES, OUTPUT_MODES, CLAUDE_SETTING_SOURCES, PR_PROVIDERS, RELEASE_AUTO, isGitHubLogin, listOf, PREREQUISITE_KINDS, requiredPrerequisite, optionalPrerequisite, MODULE_SOURCE_KINDS, CONFIG_FILE, CONFIG_DEFAULTS, ConfigError, configFilePath, parseConfigText, resolveConfig, createTextOutput, activeOutput, activeOutputMode, RAFA_BLOCK_KINDS, isRafaBlockKind, readRafaBlocks };
@@ -8,7 +8,7 @@ import {
8
8
  isMapping,
9
9
  messageOf,
10
10
  readRafaBlocks
11
- } from "./index-akz06erg.js";
11
+ } from "./index-96pz9023.js";
12
12
 
13
13
  // src/effort/store.ts
14
14
  import {
@@ -683,11 +683,15 @@ var SPEC_REVIEW_VERDICTS = ["ready", "not-ready"];
683
683
  var REVIEW_HEADING = "the review";
684
684
  var MISSING_REVIEW_GAP = {
685
685
  heading: REVIEW_HEADING,
686
- what: "the review block was not returned"
686
+ what: "the review block was not returned",
687
+ blocking: true,
688
+ assumption: null
687
689
  };
688
690
  var UNNAMED_GAP = {
689
691
  heading: REVIEW_HEADING,
690
- what: "the review block judged the spec not ready without naming a gap"
692
+ what: "the review block judged the spec not ready without naming a gap",
693
+ blocking: true,
694
+ assumption: null
691
695
  };
692
696
  var VERDICT_BREAK = /[\s_]+/gu;
693
697
  function isMapping2(value) {
@@ -729,6 +733,14 @@ function verdictOf(value) {
729
733
  function issueAt(field, text) {
730
734
  return { field, text };
731
735
  }
736
+ function readBlocking(item, field, issues) {
737
+ const value = valueAt(item, "blocking");
738
+ if (typeof value === "boolean")
739
+ return value;
740
+ const text = `${field}.blocking is ${describeValue2(value)}, not true or false; ` + "the gap is read as blocking";
741
+ issues.push(issueAt(`${field}.blocking`, text));
742
+ return true;
743
+ }
732
744
  function readGap(item, field, issues) {
733
745
  if (!isMapping2(item)) {
734
746
  const text = `${field} is ${describeValue2(item)}, not a mapping of heading and what; dropped`;
@@ -746,7 +758,14 @@ function readGap(item, field, issues) {
746
758
  const text = `${field}.heading is ${describeValue2(valueAt(item, "heading"))}, ` + `not a heading; the gap is filed under ${REVIEW_HEADING}`;
747
759
  issues.push(issueAt(`${field}.heading`, text));
748
760
  }
749
- return { heading: heading ?? REVIEW_HEADING, what };
761
+ const blocking = readBlocking(item, field, issues);
762
+ const assumption = stringAt(item, "assumption");
763
+ if (!blocking && assumption === null) {
764
+ const text = `${field}.assumption is ${describeValue2(valueAt(item, "assumption"))}, ` + "not what a non-blocking gap would be planned under; the gap is read as blocking";
765
+ issues.push(issueAt(`${field}.assumption`, text));
766
+ return { heading: heading ?? REVIEW_HEADING, what, blocking: true, assumption: null };
767
+ }
768
+ return { heading: heading ?? REVIEW_HEADING, what, blocking, assumption };
750
769
  }
751
770
  function readGaps(document, issues) {
752
771
  const value = valueAt(document, "gaps");
@@ -4,7 +4,7 @@ import {
4
4
  messageOf,
5
5
  parseTaskDeclaration,
6
6
  readRafaBlocks
7
- } from "./index-akz06erg.js";
7
+ } from "./index-96pz9023.js";
8
8
  // src/preflight/prerequisites-md.ts
9
9
  import { basename, dirname, join } from "path";
10
10
  var SECTION_AUTO_RE = /\[auto\]/i;