specatlas 0.1.34 → 0.1.36

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.
Files changed (2) hide show
  1. package/dist/bin.js +18 -13
  2. package/package.json +2 -2
package/dist/bin.js CHANGED
@@ -31555,19 +31555,9 @@ function deriveState(input) {
31555
31555
  progress
31556
31556
  };
31557
31557
  }
31558
- if (blockingFindings > 0) {
31559
- blockedBy.push(`${blockingFindings} hallazgo(s) bloqueante(s)`);
31560
- if (tasksTotal > 0 && tasksDone < tasksTotal) {
31561
- return {
31562
- state: "building",
31563
- blockedBy,
31564
- nextAction: next(agentCommand("build", change.slug, cfg), `Construir en olas (${tasksDone}/${tasksTotal} tareas) \xB7 ${blockingFindings} hallazgo(s) pendientes`, true),
31565
- progress
31566
- };
31567
- }
31568
- if (tasksTotal > 0) {
31569
- return { state: "built", blockedBy, nextAction: next(`satlas verify ${change.slug}`, "Registrar evidencia por escenario"), progress };
31570
- }
31558
+ const specFindings = input.specFindings ?? (tasksTotal === 0 ? blockingFindings : 0);
31559
+ if (specFindings > 0) {
31560
+ blockedBy.push(`${specFindings} hallazgo(s) en la especificaci\xF3n`);
31571
31561
  return { state: "spec_draft", blockedBy, nextAction: next(`satlas validate --change ${change.slug}`, "Corregir los hallazgos de la especificaci\xF3n"), progress };
31572
31562
  }
31573
31563
  if ((approval.status === "missing" || approval.status === "stale") && requiresMockups(change.meta, cfg) && input.mockupsReady !== true && !mockupOverride(change)) {
@@ -31588,6 +31578,20 @@ function deriveState(input) {
31588
31578
  progress
31589
31579
  };
31590
31580
  }
31581
+ if (blockingFindings > 0) {
31582
+ blockedBy.push(`${blockingFindings} hallazgo(s) bloqueante(s)`);
31583
+ if (tasksTotal > 0 && tasksDone < tasksTotal) {
31584
+ return {
31585
+ state: "building",
31586
+ blockedBy,
31587
+ nextAction: next(agentCommand("build", change.slug, cfg), `Construir en olas (${tasksDone}/${tasksTotal} tareas) \xB7 ${blockingFindings} hallazgo(s) pendientes`, true),
31588
+ progress
31589
+ };
31590
+ }
31591
+ if (tasksTotal > 0) {
31592
+ return { state: "built", blockedBy, nextAction: next(`satlas verify ${change.slug}`, "Registrar evidencia por escenario"), progress };
31593
+ }
31594
+ }
31591
31595
  if (!change.planPath && !change.tasks) {
31592
31596
  const openQuestions = change.clarify?.open.length ?? 0;
31593
31597
  if (openQuestions > 0 && cfg.gates.clarify.mode === "blocking") {
@@ -38422,6 +38426,7 @@ async function evaluateChange(workspace, config, change, approvals) {
38422
38426
  cfg: config,
38423
38427
  approval,
38424
38428
  blockingFindings: change.delta ? blocking : 0,
38429
+ specFindings: change.delta ? lintFindings.filter((d) => d.severity === "error").length : 0,
38425
38430
  ...mockupsAreReady !== void 0 ? { mockupsReady: mockupsAreReady } : {}
38426
38431
  });
38427
38432
  const phaseAdvisories = [...clarifyAdvisory(change, config), ...reviewAdvisory(change, config), ...docsAdvisory(change, config), ...contractsAdvisory(change, config)];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specatlas",
3
- "version": "0.1.34",
3
+ "version": "0.1.36",
4
4
  "description": "SpecAtlas: kernel determinista de Spec-Driven Development (CLI)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "devDependencies": {
42
42
  "@specatlas/adapters": "0.1.2",
43
- "@specatlas/core": "0.1.29"
43
+ "@specatlas/core": "0.1.30"
44
44
  },
45
45
  "scripts": {
46
46
  "typecheck": "tsc --noEmit",