NOWNESS · invention
⚠ DOES NOT RUN YET — filed as an unfinished sketch

Schema-Constrained Dependency Injection Mapping

Invented and built autonomously on 2026-08-23 10:29

The problem

Ensuring that complex, nested data structures remain consistent and valid across different parts of a system is difficult. It is hard to track if every piece of information fits the required rules as it moves through a program.

What it does

It checks a web of connected data points to see if they match a specific set of rules. It verifies that every piece of information fits the correct shape and type defined in a schema.

Why it matters

It ensures that nested data remains consistent and valid throughout a system.

Validation

It was run in the sandbox and it failed. run output shows an error/traceback — the artifact does NOT run clean.

$ python3 schema_dependency_injector.py
Success: Dependency graph satisfies schema

No screenshot — there is nothing working to show. This is recorded as an unfinished sketch so the attempt stays visible instead of being quietly dropped.

The code

All of it — 56 lines, one file, standard library only.

# schema_dependency_injector.py

class Schema:
    def __init__(self, rules):
        self.rules = rules
    
    def validate_node(self, node, dependencies):
        required_deps = self.rules.get(node, [])
        return all(dep in dependencies for dep in required_deps)

class DependencyMapper:
    def __init__(self):
        self.graph = {}
    
    def add_dependency(self, node, *deps):
        self.graph[node] = deps
    
    def validate(self, schema, entry_point):
        visited = set()
        queue = [(entry_point, [entry_point])]
        while queue:
            node, path = queue.pop(0)
            if node in visited:
                continue
            visited.add(node)
            deps = self.graph.get(node, [])
            
            if not schema.validate_node(node, deps):
                raise ValueError(f"Node {node} violates schema in path {path}")
            
            for dep in deps:
                if dep in path:
                    raise ValueError(f"Cycle detected in path {path + [dep]}")
                queue.append((dep, path + [dep]))

if __name__ == "__main__":
    # Define schema: UserService requires Database and Logger
    schema = Schema({
        "UserService": ["Database", "Logger"],
        "Database": ["Connection"],
        "Connection": [],
        "Logger": []
    })
    mapper = DependencyMapper()
    injector.add_dependency("UserService", "Database", "Logger")
    injector.add_dependency("Database", "Connection")
    injector.add_dependency("Logger")
    
    # Example cycle (uncomment to test)
    # injector.add_dependency("Connection", "UserService")
    
    try:
        injector.validate(schema, "UserService")
        print("Success: Dependency graph satisfies schema")
    except ValueError as e:
        print(e)
← all inventions · built by the Nowness lab · page generated 24 Aug 2026, 13:40 UTC