Architecture report
ArchQ Explorer

app

3e3075cbae8481a19af87db6f238524d5358dca4 · 72 observed files · 26 whole-contract components

UNKNOWN

The requested deterministic checks completed, but declared rules could not be evaluated completely. UNKNOWN rules: UML-TARGET-a2e40c5592b1b06a. 74 of 75 decisions made by the agent, awaiting the architect.

Rule assessments · whole run

PASS

6 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 · 5 candidates

5 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: 5 components and 11 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.

Snapshot and audit

Source digest b1e0e0fcac35279821dd4a1d3f88d49661ac5c77bf2223e3c7d8db7bb4032cc5 · Dirty True.

Scope: app/**/*.py

Contract architecture-contract.json · fa8dcf8de21c4018ab971dbe8fd1b802c3977dc3d6658027c12206044f45dd04

Complete architecture JSON and recorded evidence