Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

mikronova/modgunn

.nornir/modgunn-security-scanner.md

Móðguðr — the nordisk security / SCIP world-delta scanner (3rd repo proposal)

Roadmap design. Driver: holger/.nornir/holger-demo-plan.md (Tools menu #3). Umbrella: holger/.nornir/holger-evolution.md. Workspace decision stub: workspace_nordisk/PLAN.md.

Why a 3rd repo

Holger needs security verdicts; nornir owns the security plane (nornir/src/security.rs) and the SCIP/knowledge/warehouse machinery. Having holger depend on nornir (and nornir embed holger) would create a dependency cycle. So the scanner moves to its own leaf repo both consume:

        Móðguðr  (security + SCIP world-delta engine, leaf)
        /      \
   holger      nornir        ← both depend on Móðguðr; no cycle

Name: Móðguðr (Modgud) — CONFIRMED (Rickard, 2026-06-28). The giantess who guards Gjallarbrú, the bridge over the river Gjöll on the road to Hel; she challenges everyone who tries to cross and demands to know who they are. A gatekeeper that scrutinizes what passes — exactly the role. (Female, on-myth.)

Two engines, one repo

The user wants both, and they are genuinely different concerns:

Engine A — artifact security verdict (the "scan")

Engine B — SCIP whole-world dep-tree behavior-delta tracking (government-grade)

Static-holger angle (keep static dumb-but-safe)

Consumers

Storage decision (2026-06-29, owner-confirmed)

Engine B persists via modgunn → skade (skade = the Apache Iceberg warehouse lib, a leaf below both nornir and modgunn). modgunn owns its own world-delta tables (world_snapshots, behavior_deltas, tripwire_events) in the shared Iceberg warehouse — independent writer, same physical catalog. modgunn depends on skade only, NEVER on nornir (a nornir dep would recreate the holger↔nornir cycle modgunn exists to break). Phasing: Engine A / demo = pure leaf (no storage dep; nornir hands SCIP facts in and historizes results) → migrate to modgunn → skade when Engine B's world-delta data volume justifies owning tables. nornir stays the consumer (viz pane, tripwire feed).

Open decisions