Architecture report
ArchQ Explorer

archkeel-uml-demo

10ed96ad36c8cea968d789a28b489629beb3c580 · 3 observed files · 1 whole-contract components

UNKNOWN

The requested deterministic checks completed, but declared rules could not be evaluated completely. UNKNOWN rules: UML-TARGET-a2e40c5592b1b06a.

Rule assessments · whole run

PASS

0 rules

Required evaluator evidence is complete; decided positions have no violations.

FAIL

0 rules

A rule violation was found. Undecided evidence can coexist with that failure.

UNKNOWN

1 rule

Available evidence does not establish the result. Missing scope proof is not a pass.

NOT CHECKED

Status definition

A check was not performed or could not be completed. Read its scope and explanation. This status definition does not itself say which occurred.

Source observation: PASS · Symbol inventory: partial

Component dependencies

How to read this report

Components are declared responsibility and ownership boundaries, not classes or files. Packages here are namespace groups; they do not prove a directory or __init__.py. Modules represent source units: in Python, normally a .py file, including __init__.py. Details shows recorded file paths and separates the view group from the code container. Component roles describe architecture responsibilities; an interface node describes a language interface, such as a Python Protocol.

Gold and the component glyph mark architecture boundaries. Blue document glyphs mark modules; grey folder glyphs mark namespace groups. Classes use purple compartments, interfaces use teal circles, enumerations use pink compartments. Functions use ƒ and methods use (). Visibility: + public, − private, # protected, ~ package, ? unknown. These conventions do not claim Python access enforcement. Border verdicts and edge styles are separate from element types. Mixins appear as their own classifier and use a directed edge distinct from inheritance. Use the relationship legend to filter edges.

As-Is uses observed source facts with declared boundaries for navigation. Target uses independent declarations; missing file paths remain undeclared. Diff uses recorded Core assessments. Select for details; double-click, press Enter or Open selected to explore one level. Breadcrumbs include the kind. Drag the background to pan; use Zoom or Fit overview to change scale. Arrows run from source to target. Allowed component imports are permissions, not proof of a call or import.

Worth a look

Legend
Review question · components larger than their level · 1 candidate

1 components hold more modules than the contract has components, or more edges among their modules than it has component edges. Comparison basis at the top level: 1 components and 0 observed cross-component edges. Naming a size is evidence; giving one of them a level of its own is a decision (AD-20, AD-33). These are review questions, not violations or proof that a component should split.

ComponentModules Edges inside
demo31
Snapshot and audit

Source digest 897d0e157e39143477d169c84514e38cacb346acade86bdea6f2481b8153bb47 · Dirty True.

Scope: demo/**/*.py

Contract architecture-contract.json · a35346e14c83b0112d438f4916fc80986ccbdfe6a590818fe5d20c7422d47da8

Complete architecture JSON and recorded evidence