COSMOGENESIS

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 record

One 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:6FROM 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.raw_value to calc.normalised.normalised_valueDirectly Observed

    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.normalised_value to report.management_report.month_end_totalDirectly Observed

    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_lookup.dtsxNOT YET ANALYSED

    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:3dtexec /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 register

Every 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.raw_value to calc.normalised.raw_valueStrongly Inferred

    Inferred from a compiled stage-contract column match across stages. The code reads CREATE TABLE calc.normalised AS SELECT.

    Established at02_normalise.sql:6FROM stg.readings;

  • 02stg.readings.raw_value to calc.normalised.normalised_valueDirectly Observed

    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.normalised_value to report.management_report.normalised_valueStrongly Inferred

    Inferred from a compiled stage-contract column match across stages. The code reads CREATE TABLE report.management_report AS SELECT.

    Established at03_report.sql:6FROM calc.normalised;

  • 04calc.normalised.normalised_value to report.management_report.month_end_totalDirectly Observed

    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.account_id to report.management_report.account_idDirectly Observed

    Resolved from the SELECT expression written in the code. The code reads account_id.

    Established at03_report.sql:4 account_id,

  • 06stg.readings.account_id to calc.normalised.account_idDirectly Observed

    Resolved from the SELECT expression written in the code. The code reads account_id.

    Established at02_normalise.sql:4 account_id,

  • R1external_rate_lookup.dtsxNOT YET ANALYSED

    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:3dtexec /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 record

What 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.

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.sqlsource 2c66deeb8b98f630e2be7622f7001d2e542ab1864b196c350fa1a4d933ded586bundle 77e28a8882dd399ee1973d2f3ea6baca03e12aa13bccf91a51c5fa270abb0e64
frame-b
site/lab/theory/fixtures/frame-b/02_normalise.sqlsource 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 it

Every 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...a2f2b41c0007640865aacd718912972e0d5be2d2b1a3bc2ddf0a115ac140dc09a2f2
Frame read
frame-b, the state after the change, SHA-256 bf29a53e...2e3ebf29a53e3201f09ce9040ba5cf6a31d3effd5d91ee71432dc45abed187602e3e
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.

Start with one system