guardian-framework 0.1.87 → 0.1.89

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
@@ -3074,7 +3074,7 @@ function getStoredHash(record) {
3074
3074
  return hash ? hash.replace("sha256:", "") : null;
3075
3075
  }
3076
3076
  function categorizeFile(relativePath) {
3077
- const userEditable = ["agent/AGENTS.md", "domain/"];
3077
+ const userEditable = ["agent/AGENTS.md", "domain/", "architecture/CHANGELOG.md", "architecture/implementation-roadmap.md"];
3078
3078
  if (userEditable.some((p3) => relativePath.includes(p3))) {
3079
3079
  return "user";
3080
3080
  }
@@ -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.87", 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.89", 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
@@ -1894,7 +1894,7 @@ function getStoredHash(record) {
1894
1894
  return hash ? hash.replace("sha256:", "") : null;
1895
1895
  }
1896
1896
  function categorizeFile(relativePath) {
1897
- const userEditable = ["agent/AGENTS.md", "domain/"];
1897
+ const userEditable = ["agent/AGENTS.md", "domain/", "architecture/CHANGELOG.md", "architecture/implementation-roadmap.md"];
1898
1898
  if (userEditable.some((p2) => relativePath.includes(p2))) {
1899
1899
  return "user";
1900
1900
  }
@@ -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.87", 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.89", 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.87",
3
+ "version": "0.1.89",
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:29:00Z",
2
+ "timestamp": "2026-07-16T20:59:09Z",
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": 1,
11
+ "duration_seconds": 0,
12
12
  "results": [
13
13
  {
14
14
  "name": "check_mr_traceability.sh",
@@ -56,7 +56,7 @@
56
56
  "name": "cargo test --lib",
57
57
  "status": "fail",
58
58
  "message": "unit test failures",
59
- "duration": 1
59
+ "duration": 0
60
60
  },
61
61
  {
62
62
  "name": "integration",