guardian-framework 0.1.88 → 0.1.90

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.
package/dist/cli.js CHANGED
@@ -3197,7 +3197,7 @@ __export(exports_package, {
3197
3197
  bin: () => bin,
3198
3198
  author: () => author
3199
3199
  });
3200
- var name = "guardian-framework", version = "0.1.88", description = "Token-optimized agentic framework scaffolder with pi-first architecture", type = "module", main = "dist/exports.js", exports, types = "dist/exports.d.ts", bin, files, engines, scripts, publishConfig, pi, repository, homepage = "https://github.com/arman-jalili/guardian-framework#readme", bugs, dependencies, devDependencies, keywords, author = "Arman Wolkensteiner-Jalili", license = "MIT", package_default;
3200
+ var name = "guardian-framework", version = "0.1.90", description = "Token-optimized agentic framework scaffolder with pi-first architecture", type = "module", main = "dist/exports.js", exports, types = "dist/exports.d.ts", bin, files, engines, scripts, publishConfig, pi, repository, homepage = "https://github.com/arman-jalili/guardian-framework#readme", bugs, dependencies, devDependencies, keywords, author = "Arman Wolkensteiner-Jalili", license = "MIT", package_default;
3201
3201
  var init_package = __esm(() => {
3202
3202
  exports = {
3203
3203
  ".": {
package/dist/exports.js CHANGED
@@ -1982,7 +1982,7 @@ __export(exports_package, {
1982
1982
  bin: () => bin,
1983
1983
  author: () => author
1984
1984
  });
1985
- var name = "guardian-framework", version = "0.1.88", description = "Token-optimized agentic framework scaffolder with pi-first architecture", type = "module", main = "dist/exports.js", exports, types = "dist/exports.d.ts", bin, files, engines, scripts, publishConfig, pi, repository, homepage = "https://github.com/arman-jalili/guardian-framework#readme", bugs, dependencies, devDependencies, keywords, author = "Arman Wolkensteiner-Jalili", license = "MIT", package_default;
1985
+ var name = "guardian-framework", version = "0.1.90", description = "Token-optimized agentic framework scaffolder with pi-first architecture", type = "module", main = "dist/exports.js", exports, types = "dist/exports.d.ts", bin, files, engines, scripts, publishConfig, pi, repository, homepage = "https://github.com/arman-jalili/guardian-framework#readme", bugs, dependencies, devDependencies, keywords, author = "Arman Wolkensteiner-Jalili", license = "MIT", package_default;
1986
1986
  var init_package = __esm(() => {
1987
1987
  exports = {
1988
1988
  ".": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "guardian-framework",
3
- "version": "0.1.88",
3
+ "version": "0.1.90",
4
4
  "description": "Token-optimized agentic framework scaffolder with pi-first architecture",
5
5
  "type": "module",
6
6
  "main": "dist/exports.js",
@@ -421,6 +421,35 @@ export function parseModuleFile(filePath: string): ModuleComponent[] {
421
421
  }
422
422
  }
423
423
 
424
+ // Also parse AC table rows from ## Acceptance Criteria section
425
+ // 4-column format: | # | Component | Criterion | Verify In |
426
+ const acMatch = content.match(/^## Acceptance Criteria[\s\S]*?(?=^## |\Z)/m);
427
+ if (acMatch) {
428
+ const acSection = acMatch[0];
429
+ const acRows = acSection.match(/^\| [\d✅☐][^|]*\|[^|]+\|[^|]+\|[^|]*\|$/gm);
430
+ if (acRows) {
431
+ const existingNames = new Set(components.map((c) => c.name));
432
+ for (const row of acRows) {
433
+ const parts = row.split("|").map((p) => p.trim()).filter(Boolean);
434
+ // 4-col: [num, component, criterion, verifyIn]
435
+ // 3-col: [num, criterion, verifyIn]
436
+ const isFourCol = parts.length >= 4 && parts[1] !== "Criterion";
437
+ if (isFourCol) {
438
+ const compName = parts[1];
439
+ if (!existingNames.has(compName)) {
440
+ existingNames.add(compName);
441
+ components.push({
442
+ name: compName,
443
+ status: "planned",
444
+ description: parts[2] || `${compName} component`,
445
+ dependencies: ["none"],
446
+ });
447
+ }
448
+ }
449
+ }
450
+ }
451
+ }
452
+
424
453
  saveCurrent();
425
454
  return components;
426
455
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2026-07-16T19:31:30Z",
2
+ "timestamp": "2026-07-17T05:58:35Z",
3
3
  "mode": "all",
4
4
  "stages_run": [],
5
5
  "summary": {
@@ -8,7 +8,7 @@
8
8
  "failed": 1,
9
9
  "skipped": 12
10
10
  },
11
- "duration_seconds": 0,
11
+ "duration_seconds": 1,
12
12
  "results": [
13
13
  {
14
14
  "name": "check_mr_traceability.sh",
@@ -192,7 +192,7 @@ fi
192
192
  echo ""
193
193
  echo "--- Security Audit ---"
194
194
  if [ "$PKG_MGR" = "bun" ] && command -v bun &>/dev/null; then
195
- AUDIT_OUT=$(bun audit 2>&1 || true)
195
+ AUDIT_OUT=$(bun audit 2>/dev/null || true)
196
196
  CRITICAL_COUNT=$(echo "$AUDIT_OUT" | grep -ci "critical" 2>/dev/null || echo "0")
197
197
  HIGH_COUNT=$(echo "$AUDIT_OUT" | grep -ci "high" 2>/dev/null || echo "0")
198
198
  if [ "$CRITICAL_COUNT" -gt 0 ] || [ "$HIGH_COUNT" -gt 0 ]; then
@@ -206,7 +206,7 @@ if [ "$PKG_MGR" = "bun" ] && command -v bun &>/dev/null; then
206
206
  fi
207
207
  fi
208
208
  elif command -v npm &>/dev/null; then
209
- AUDIT_OUT=$(npm audit 2>&1 || true)
209
+ AUDIT_OUT=$(npm audit 2>/dev/null || true)
210
210
  if echo "$AUDIT_OUT" | grep -q "found 0 vulnerabilities" 2>/dev/null; then
211
211
  pass "No vulnerabilities found"
212
212
  else