guardian-framework 0.1.160 → 0.1.161

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
@@ -3206,7 +3206,7 @@ __export(exports_package, {
3206
3206
  bin: () => bin,
3207
3207
  author: () => author
3208
3208
  });
3209
- var name = "guardian-framework", version = "0.1.160", 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;
3209
+ var name = "guardian-framework", version = "0.1.161", 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;
3210
3210
  var init_package = __esm(() => {
3211
3211
  exports = {
3212
3212
  ".": {
package/dist/exports.js CHANGED
@@ -1991,7 +1991,7 @@ __export(exports_package, {
1991
1991
  bin: () => bin,
1992
1992
  author: () => author
1993
1993
  });
1994
- var name = "guardian-framework", version = "0.1.160", 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;
1994
+ var name = "guardian-framework", version = "0.1.161", 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;
1995
1995
  var init_package = __esm(() => {
1996
1996
  exports = {
1997
1997
  ".": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "guardian-framework",
3
- "version": "0.1.160",
3
+ "version": "0.1.161",
4
4
  "description": "Token-optimized agentic framework scaffolder with pi-first architecture",
5
5
  "type": "module",
6
6
  "main": "dist/exports.js",
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2026-11-13T19:38:17Z",
2
+ "timestamp": "2026-11-13T20:08:59Z",
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",
@@ -169,8 +169,24 @@ def deps_of(slug):
169
169
  return found
170
170
 
171
171
  def state_of(state, slug):
172
+ """frozen | implemented | frozen-stale | unfrozen.
173
+
174
+ A module that is genuinely implemented needs no freeze: implementation is a
175
+ stronger fact than a frozen contract. Without this, an implemented module
176
+ read as "unfrozen" and blocked every module that depends on it.
177
+ """
172
178
  e = entry(state, slug)
173
- return e.get("state") or ("frozen" if e.get("contractFrozen") else "unfrozen")
179
+ explicit = e.get("state")
180
+ doc = module_doc(slug)
181
+ text = read(doc) if doc else ""
182
+ m = re.search(r"\*\*Status:\*\*\s*([A-Za-z][A-Za-z ]*)", text)
183
+ doc_state = (m.group(1).strip().lower() if m else "")
184
+ implemented = doc_state.startswith(("implemented", "done", "complete"))
185
+ if implemented:
186
+ return "implemented"
187
+ if explicit:
188
+ return explicit
189
+ return "frozen" if e.get("contractFrozen") else "unfrozen"
174
190
 
175
191
  # ── the verification ────────────────────────────────────────────────────────
176
192
  STRUCTURAL_ONLY = re.compile(
@@ -271,6 +287,12 @@ def verify(slug):
271
287
  checks = []
272
288
  ok_all = True
273
289
 
290
+ # Implemented modules need no freeze and cannot be re-frozen; they satisfy
291
+ # every dependency gate.
292
+ if state_of(load_state(), slug) == "implemented":
293
+ checks.append(("state", True, "implemented — no freeze required (dependency satisfied)"))
294
+ return True, checks, "", {"implemented": True, "contracts": [], "tests": []}
295
+
274
296
  doc = module_doc(slug)
275
297
  checks.append(("module doc", bool(doc), doc and os.path.relpath(doc, root) or f"missing .pi/architecture/modules/{slug}.md"))
276
298
  ok_all &= bool(doc)