# review/: the project as layered graphs

*Generated by `review/tools/readme.py`; every number here is computed. The folder follows [Code review graphs in the repository](https://sgit.ai/docs/briefs/code-review-graphs-in-the-repository.html); where that brief was wrong for this repository, `BRIEF-CORRECTIONS.md` says so.*

What is here: `intent/` is the design written top down from the MVP brief (by an agent, accepted by a person, each node carrying its section); `graph/` is the code derived bottom up from the syntax tree by parsers, never by a model; `join/` is the match between the two with a coverage figure; `changes/` reads one commit upwards per file; `streams/` is the code on one path; `checks/` is the house rules as queries over the graph; `ui/` is the navigator, web components in the coding.sgit.ai shape; `self/` is the same folder for the tools and the navigator themselves. Nothing under `graph/`, `join/`, `changes/`, `streams/` or `checks/results.json` is edited by hand.

Source tree: 80 files, hash `34a707064f1f2239`. Derived files must carry this hash in their provenance or the gate fails (`tools/freshness.py`).

## The project

| Layer | Count |
|---|---|
| stories | 14 (not yet accepted; 0 proposed by a model) |
| rules | 51 |
| examples | 70 |
| flows | 6 |
| components | 23 |
| deploy | 5 |
| files | not derived yet |
| modules | not derived yet |
| classes | not derived yet |
| methods | not derived yet |
| surfaces | not derived yet |
| tests | not derived yet |

Coverage (projected nodes with a derived match beneath them): not computed yet: the join runs from step 3.
Change files: 0. Streams: 0. Open gaps: none recorded yet.

## The tool (review/self/)

| Layer | Count |
|---|---|
| stories | 0 (not yet accepted; 0 proposed by a model) |
| rules | 0 |
| examples | 0 |
| flows | 0 |
| components | 0 |
| deploy | 0 |
| files | not derived yet |
| modules | not derived yet |
| classes | not derived yet |
| methods | not derived yet |
| surfaces | not derived yet |
| tests | not derived yet |

Coverage (projected nodes with a derived match beneath them): not computed yet: the join runs from step 3.
Change files: 0. Streams: 0. Open gaps: none recorded yet.

## Regenerate and check

```
python3 review/tools/sections.py             # the brief's section anchors, for the links from every intent node
python3 review/tools/validate_review.py      # every JSON file against its schema; every edge a known verb
python3 review/tools/freshness.py            # derived files match the tree being built
python3 review/tools/readme.py               # this file
python3 -m http.server 8000                   # then open http://localhost:8000/review/ for the navigator
```

The gate runs the first two as check 9 and the third as a generator, so a stale or malformed folder fails the build.

*Code Apache-2.0, content CC BY 4.0.*
