# The scoped review and unconfirmed operations

This is the detail behind layers 4 and 5 of
[Mapping imported types to standard types](where-packages-come-from.md#mapping-imported-types-to-standard-types):
which imported types you review, how a review is marked, and which calls
still need a recording to confirm them.

- **Where a review is marked: `reviewed:` in `imported:`.** It is a list in
  `provider.jadpo`'s `imported:`, beside the description it reviews,
  written by the agent like any source and kept in review's diff; each
  entry is one of the package's own types, in its `types/`, once
  (`package.provider_invalid`), and `imported:` holds only `file:`,
  `digest:` and `reviewed:`. A package with no `imported:` was written,
  not imported, and has no types to review. Every imported type starts
  unreviewed, a Jadpo application's exact import included: the page makes
  no exception.
- **What is in scope.** The package's own types each called operation's
  `input:`, `output:` and `wire_output:` reach, through fields, list,
  set and map items, `?`, payload variants and the type a refinement is
  built on; failures, whose codes and messages aren't a decoding, are
  left out. A call is any provider call in an action outside a
  `.test.jadpo` file. The scope is worked out from the calls on every
  check, so it grows, and shrinks, with them.
- **Only the app's own integrations.** The review and the unconfirmed
  operations cover the packages in `shared/providers/`, which an import
  writes and `jadpo package record` records into. An installed package
  was reviewed and recorded by its publisher, its files held to its
  digest, and its surface already says which operations are `confirmed`,
  so listing its calls would name a step the app can't take.
- **Not a finding.** A type to review and a call to confirm stop nothing:
  the page lets an unreviewed type ship, for `jadpo approval` to show, and
  allows unconfirmed operations in every build. `jadpo check` shows both
  only once it passes, after the errors would be, and counts them, muted,
  in its footer; while it has errors those come first.
- **Recorded for `jadpo approval`.** `jadpo check` writes
  `build/report/providers.md` and `.json` once the connections read
  cleanly and the app has an integration of its own: per package, each
  call and whether a recording confirms it, and each type in scope and
  whether it is reviewed, rows in name order for small diffs.
- **Importing again.** `reviewed:` is kept, as the agent's correction, but
  a type the description adds a member to is new to review: it leaves
  the list, and the summary shows it under "To review again". A type
  whose description changed where the file kept its own version is still
  as reviewed.
- **The import's summary** ends with "To review": the page's one
  instruction, then the types the app's calls reach still to review, or,
  while the app calls none of the package's operations, when the review
  starts; then "Not yet confirmed" with the calls no recording confirms.
  `--json` gives them as `review` and `again`.
