Tabalyst smart sample
{{ doc.output.name }}
{{ doc.output.rows | count }} rows of {{ records | count }} from {{ doc.source.name }}, chosen to cover the cases the plan lists. This page reads the sample report alone; it needs neither the source nor the sample.
1 / What it promises
What this sample is, and is not
- {% for code in doc.statements %}
- {{ statement_words.get(code, code) }} {% endfor %}
2 / Coverage
What the sample covers of its targets
Scope: the {{ cov.defined | count }} targets of the plan, of which {{ cov.evaluable | count }} could be tested on a row. A target is covered when the sample holds at least one row that shows it.
- Targets covered
- {{ cov.covered | count }}of {{ cov.evaluable | count }} testable
- Weighted coverage
- {% if cov.weighted.share is not none %}{{ '%.1f' | format(cov.weighted.share * 100) }}%{% else %}–{% endif %}Rarer and more serious targets weigh more
- Mandatory targets
- {{ cov.mandatory.covered | count }} / {{ cov.mandatory.defined | count }}Values of an exhaustive catalog and confirmed problems
- Rows
- {{ sel.rows | count }}{{ sel.by_cover | count }} by cover, {{ sel.by_reserve | count }} ordinary{% if sel.shortfall %}; {{ sel.shortfall | count }} short{% endif %}
By family({{ cov.families | length }})
| Family | Defined | Testable | Covered | Weighted | Share |
|---|---|---|---|---|---|
| {{ family_words.get(f.family, f.family) }} | {{ f.defined | count }} | {{ f.evaluable | count }} | {{ f.covered | count }} | {% if f.weight %}{{ '%.1f' | format(f.weight_covered / f.weight * 100) }}%{% else %}–{% endif %} |
3 / Gaps
What the sample does not cover({{ cov.missing_total | count }})
Mandatory targets first, then the heaviest. A gap is never hidden: each has its reason.
| Target | Family | Obligation | Weight | Why |
|---|---|---|---|---|
{{ m.id }} | {{ family_words.get(m.family, m.family) }} | {{ m.obligation }} | {{ '%.1f' | format(m.weight) }} | {{ miss_text(m.reason) }} |
Showing the {{ cov.missing | length | count }} heaviest of {{ cov.missing_total | count }}; the JSON lists the status of every target.
{% endif %} {% else %}Every testable target is covered.
{% endif %}4 / Verification
Counts the plan knew, checked while reading
For the targets whose rows the plan counted exactly (from the Scan), the reading counted them again.
- Agreed
- {{ cov.verification.agreed | count }} / {{ cov.verification.checked | count }}{% if cov.verification.disagreed %}{{ cov.verification.disagreed | length | count }} differ: the test and the Scan disagree{% else %}No difference{% endif %}
- Candidate pool
- {{ sel.pool.peak_bytes | size }}{{ sel.pool.candidate_rows | count }} rows held, {{ sel.pool.refused_rows | count }} refused by the budget
- Readings of the source
- {{ doc.run.passes.total }}{% if doc.run.passes.scan %}First pass and selection{% else %}Selection only; the stored Scan was current{% endif %}
- Duration
- {{ doc.run.duration_seconds | seconds }}{{ doc.run.records_read | count }} records read
Targets that differ
- {% for t in cov.verification.disagreed %}
{{ t }}{% endfor %}
Sample report {{ doc.format }} {{ doc.format_version }} revision {{ doc.format_revision }}, seed {{ doc.request.seed }}, Tabalyst {{ doc.engine.version }}. Plan: {{ doc.plan.targets | length | count }} targets in {{ cov.families | length }} families. The sample CSV keeps the rows in the order of the source.