# The report

```text
$ jadpo suggest
Suggestions
  S1  domains/shop/libraries/pricing.jadpo:6  Money     conversion
      total_price * 100
  S2  domains/shop/entities/shop.jadpo:2      Point     shape
      latitude, longitude
  S3  domains/shop/types/delivery.jadpo:3     Duration  name
      timeout_ms: Int

What to do
  Review the rest of the code against `jadpo suggest --catalogue`.
  Before changing code for something it missed, run
  `jadpo suggest found <file>:<line> <Type or operation> "<why>"`.
  To keep one quiet, run `jadpo suggest ignore <number> "<why>"`.
  When done, run `jadpo suggest share`.

✓ 3 suggestions  3 files
```

Findings are numbered S1, S2… in file order, each with its place, what it
suggests, the signal and the snippet. A snippet goes beside its row when
every one fits in 80 columns. Otherwise every snippet goes on the line
under its row, cut with `…` only if it is longer than that line.

With no findings it says `✓ No suggestions`, and the instruction stays,
since reviewing the rest still applies. The last line, to run
`jadpo suggest share`, shows only while sharing is on and an HQ address is
configured ([Sharing with Jadpo HQ](sharing-with-jadpo-hq.md)).

`--json` gives each finding's number, place, range, suggestion, signal,
reason, text, canonical form and both hashes, and the instruction's lines.
`jadpo suggest --catalogue` lists every signal, generated from the entries
and the loop table, as text or `--json`.

A finding that is gone at the next scan was taken. The scan keeps a note
of its last findings in `.jadpo/suggest_last`, which is local and not
committed. Each one missing from the next scan, and not ignored meanwhile,
becomes an `accepted` entry to share. The summary counts them.
