Architecture report
ArchQ Explorer

shop

b904414f33006a1b5c31eae4d9461f9731654fe7 · 11 observed files · 4 whole-contract components

FAIL

8 declared-rule violation(s) found; report records violations without gating (exit code stays 0). Run archkeel validate --baseline architecture-baseline.json with an existing baseline (see onboarding). FAIL rules: ASSIGNMENT-COMPLETE, COMPONENT-NO-CYCLES, DEP-DOMAIN-NO-DART-IO (+4 more).

Rule assessments · whole run

PASS

3 rules

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

FAIL

7 rules

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

UNKNOWN

0 rules

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 · no candidates measured

None: no component holds more than the level containing it. Comparison basis at the top level: 4 components and 6 observed cross-component edges.

Snapshot and audit

Source digest d138b66639cf20ff92030c5ad6539e9b9f240625b91a3e7b8fa143de4f92af64 · Dirty True.

Scope: lib/**/*.dart

Contract architecture-contract.json · 8db24706687c01e08b15bc562b2d9be402e3d4195b726dbcf7acee3cb8851e4e

Complete architecture JSON and recorded evidence