What a reading hands back
What a reading returns.
Three documents come back from a reading of your systems, and this page prints all three in full. The first traces one figure on one report back through the code that produces it. The second lists what the reading found and says how sure it is of each one. The third says what was read, under what conditions, and what the reading does not cover, so that another person can repeat it and get the same answer.
One pass over supplied code returns eight documents, and these are three of them. The system read here is a small one written for this page, so every file that reading read is on this site and every line named below opens inside one of them.
All three are printed in the record's own words, which are exact and in places technical, so the engineer who checks this can match the page to the record line by line. Where a plain word says the same thing it is beside them, and the record they were read out of is at the foot of the page.
Synthetic Theory fixture. No customer data.
Where a number came from
the lineage recordOne figure on one report, followed back through the code that produces it, a step at a time, to the table the number is first read out of. Where the supplied code runs out, the reading records that it stopped and does not guess what is past it.
- The figure on the report
- report.
management_ report.month_ end_ total - The reading starts at
- raw.
source_ extract, the first table the code reads, which arrives as stg. readings. raw_ value - Where that line is
- 01_read.sql:6
FROM raw.source_extract;
The starting table carries no word beside it. A word is given to a relationship the reading established between two things, and the table a reading begins at is where it began.
-
01stg.
readings. Directly Observedraw_ value to calc. normalised. normalised_ value Resolved from the SELECT expression written in the code. The code reads
raw_value / 100.0.Established at02_normalise.sql:5
raw_value / 100.0 AS normalised_value -
02calc.
normalised. Directly Observednormalised_ value to report. management_ report. month_ end_ total Resolved from the SELECT expression written in the code. The code reads
normalised_value.Established at03_report.sql:5
normalised_value AS month_end_total -
R1external_
rate_ NOT YET ANALYSEDlookup. dtsx The reading stops here. dtexec /f package path carries an unexpanded variable: windows environment variable (%VAR%). Nothing has read what is past this line, and the record says so under the reference batch__04_boundary#0.
Refused at04_boundary.bat:3
dtexec /f %PACKAGE_ROOT%\external_rate_lookup.dtsx
- What changed in the code
- 01_
read. raw_ value -> 02_ normalise. normalised_ value - The line before and after
- raw_value / 10.0 to raw_value / 100.0
- What that change can reach
- report.
management_ report. month_ end_ total, report. management_ report. normalised_ value
2 of the 6 relationships the reading established here are on this route. The other 4 are in the finding register below, which carries all 6.
What the reading found, and how sure it is
the finding registerEvery relationship the reading established in this version of the system, each carrying one word for how well the code evidences it, the reason it carries that word, and the line of code that establishes it. Where the code could not evidence one, the reading keeps a refusal with its reason in place of a word.
The 4 words the record uses, and how many rows on this page carry each one.
- DIRECTLY OBSERVED
4 rows on this page. The record holds it at
evidence_vocabulary.visible_categories.directly_observed. - STRONGLY INFERRED
2 rows on this page. The record holds it at
evidence_vocabulary.visible_categories.strongly_inferred. - NOT YET ANALYSED
1 row on this page. The record holds it at
fixture.frames[].refusal.records[].coverage_state. - EXTERNAL
0 rows on this page. The record holds it at
evidence_receipt.external_boundary.display_reducer.result_category_id.
-
01stg.
readings. Strongly Inferredraw_ value to calc. normalised. raw_ value Inferred from a compiled stage-contract column match across stages. The code reads
CREATE TABLE calc.normalised AS SELECT.Established at02_normalise.sql:6
FROM stg.readings; -
02stg.
readings. Directly Observedraw_ value to calc. normalised. normalised_ value Resolved from the SELECT expression written in the code. The code reads
raw_value / 100.0.Established at02_normalise.sql:5
raw_value / 100.0 AS normalised_value -
03calc.
normalised. Strongly Inferrednormalised_ value to report. management_ report. normalised_ value Inferred from a compiled stage-contract column match across stages. The code reads
CREATE TABLE report.management_report AS SELECT.Established at03_report.sql:6
FROM calc.normalised; -
04calc.
normalised. Directly Observednormalised_ value to report. management_ report. month_ end_ total Resolved from the SELECT expression written in the code. The code reads
normalised_value.Established at03_report.sql:5
normalised_value AS month_end_total -
05calc.
normalised. Directly Observedaccount_ id to report. management_ report. account_ id Resolved from the SELECT expression written in the code. The code reads
account_id.Established at03_report.sql:4
account_id, -
06stg.
readings. Directly Observedaccount_ id to calc. normalised. account_ id Resolved from the SELECT expression written in the code. The code reads
account_id.Established at02_normalise.sql:4
account_id, -
R1external_
rate_ NOT YET ANALYSEDlookup. dtsx dtexec /f package path carries an unexpanded variable: windows environment variable (%VAR%). The record's own word for what happened to it is refused, under the reference batch__04_boundary#0.
Refused at04_boundary.bat:3
dtexec /f %PACKAGE_ROOT%\external_rate_lookup.dtsx
- What it was counted against
- dtexec invocations in selected batch scripts, of which 1 of 1 was refused
- Where it is kept out
- Outside the visible category channel and the path grade channel, so the refusal is not folded into any word above
- Where the supplied code ends
- Directly Observed and External together are shown as External, because the weaker of the two is what gets shown. The record's operation for that is
dscp.lineage.grade_presentation.weakest_category_id - What the record makes of that
- One refused dtexec reference is counted inside the named dtexec-invocation population and outside the visible-category channel and path-grade channel.
6 rows, which is every relationship the reading established here, and 1 refusal, which is every refusal it recorded. A word with no row on this page is in the list above with its zero.
What was read, and what it does not cover
the evidence recordWhat another person needs in order to run the same reading over the same code and get the same answer, and what this reading does not claim. It is the part an auditor asks for, and it is written so that somebody who was not there can repeat the work.
The two lines below name this exact reading and the path it took through the code, which is how an engineer finds it again.
- Identity
- field-edge:sha256:1825858b710bc509192def233bfcae2fff9a934df33944230e8015e6d207b47a
- Derivation
- changed edge -> product resolver bridge -> typed operator -> checked source bytes
Every file the reading read, which is 8 of them. Each one opens.
- frame-a/01_read.sql
- frame-a/02_normalise.sql
- frame-a/03_report.sql
- frame-a/04_boundary.bat
- frame-b/01_read.sql
- frame-b/02_normalise.sql
- frame-b/03_report.sql
- frame-b/04_boundary.bat
The two versions of the file that changed, each fixed by its digest so anybody can tell whether they are reading the same bytes.
- frame-a
- site/lab/theory/fixtures/frame-a/02_
normalise. sql source 2c66deeb8b98f630e2be7622f7001d2e542ab1864b196c350fa1a4d933ded586bundle 77e28a8882dd399ee1973d2f3ea6baca03e12aa13bccf91a51c5fa270abb0e64 - frame-b
- site/lab/theory/fixtures/frame-b/02_
normalise. sql source ec781e77cf8463b3f5f4fce74c535dca2e8f62bdbc69fd9b1d468d511947b5efbundle 85efddd930af18c955cdedabd3ea92f5a577ead1ed1d1f9c774b3d9efb5d6426
The versions the reading ran against, which the record pins as 7 values.
- schema_version
- 1
- serializer_version
- theory-specimen-v1
- revision_identifiers.bundle_codec_version
- full-v5
- revision_identifiers.claim_boundary_commit
- c13cc4bdabdb1f1769d68dcab7bce7430255776d
- revision_identifiers.dscp_version
- 0.
1. 0 - revision_identifiers.task_base_commit
- 637a20b04ecbbcccea048705132b2d079af10877
- generator.sha256
- a67498c7ab4c8e5be18d249fb3ae98db765b68acebb3dad4606b2017558865ae
The settings the reading ran under, which the record pins as 16 values. A reading run under different ones is a different reading.
- locale
- C
- timezone
- UTC
- sql_dialect
- postgres
- load_roots_flags.controlm_graph
- null
- load_roots_flags.conventions
- null
- load_roots_flags.exclusions
- dscp.
pipeline. adapters. exclusions. NO_ EXCLUSIONS - load_roots_flags.include_vendor_js
- false
- load_roots_flags.pack_catalogue_dir
- null
- load_roots_flags.pack_hmac_key
- null
- load_roots_flags.schema_provider
- null
- hash_seeds
- ["0","987654"]
- execution_histories
- ["prior-first","current-first"]
- engine_root_comparison.compared_roots
- 2
- engine_root_comparison.primary_policy
- primary revision may advance only while named producer module hashes and canonical manifest bytes match the exact reference root
- engine_root_comparison.reference_revision
- c13cc4bdabdb1f1769d68dcab7bce7430255776d
- engine_root_comparison.reference_roots
- 1
What this reading does not claim, which is 6 things it leaves out by name.
- absolute checkout paths
- absolute fixture roots
- wall-clock capture time
- value replay
- execution witness
- simulate_stage_mutation cosmetic_only
Where the supplied code ends, in the two channels the record keeps for it.
- External display reducer
dscp.lineage.grade_presentation.weakest_category_iddirectly_observed and external to external - External path-grade lift
dscp.lineage.provenance_semiring.liftexternal to rejected, refused with ValueError
A delivered document carries the signature of the person who ran the reading. This page carries the record's own digest in its place.
How to check any of this
for the person checking itEvery name, figure, digest, word and refusal above was read out of one record when this page was built. That record is below, with the two versions of the system it compared and the checks that hold this page to it.
- Record
- theory-specimen-v1, 76,517 bytes, SHA-256 b41c0007...a2f2
b41c0007640865aacd718912972e0d5be2d2b1a3bc2ddf0a115ac140dc09a2f2 - Frame read
- frame-b, the state after the change, SHA-256 bf29a53e...2e3e
bf29a53e3201f09ce9040ba5cf6a31d3effd5d91ee71432dc45abed187602e3e - Compared against
- frame-a, the state before it
Four controls hold it. Every file and line here is fetched from this site and required to carry the line printed beside it. A wrong line planted into the page is proved to fire that check before a clean result is believed. Every grade word is checked against the record's own vocabulary. The page is rebuilt from the record on every run and refused if it differs by a byte.
Regenerate when a named source snapshot, interpreter version, generator version, or reading condition changes.
The same three documents, over one system you already run.
A first reading returns the same three over code you supply, with the line it could not read marked in the same way.