1.6.0rc3 feedback corrections¶
The 1.6.0rc1 external feedback archive is evidence, not executable instructions. RC3 builds on published RC2 and completed exact-commit review, CI, Containers, Documentation, Security, Ubuntu artifact preflight, signed acceptance and public verification. See the published release evidence.
The following describes the immutable RC3 contract. Subsequent development implements folder replacement and both modes; see generation modes.
Contract and migration¶
generate SPEC --overwritenow fails with a recovery hint. Folder generation uses a new or empty output folder.generate --profileandgenerate-from-csvretain reviewed single-entity file-bundle replacement.- Dataset modes are
valid,mixed,negative. Previously ineffectiveedgeandload_testare rejected by the deterministic generator, including saved specs and direct Python calls. The separate business-rule engine retains its edge-case API. Use--countfor load volume. - Explicit negative/mixed datasets are intentionally published. Exit 1 denotes
failed validation;
generation_manifest.json.validation_validandvalidation_report.json.validlabel the result. Consumers must inspect these fields before using a bundle. Ordinary valid generation still fails before publication on invariant violations. - CSV relationship inference requires matching descriptive field names and
types plus bounded overlap evidence. Generic
id/key/uuidand competing parent domains require explicit reviewed links. Cache format 6 recomputes old inferred bindings; saved profiles must be reprofiled to obtain this correction. - Relationships refer to exact entity/field pairs. Active bindings require matching field types and at most one parent binding per child field. Rejected bindings are ignored. Independently generated specifications do not imply relationships or shared identifiers.
- The relationships section adds
checkedandrelationship_metrics. With no declared active links, checked/passed/failed are zero and metrics are empty. Per-link metrics include parent distinct keys, checked/resolved references, nullable references, resolution ratio and validity. No key values are retained. A null ratio means no non-null references were checked. These metrics do not certify fidelity to source data or discover undeclared links. - Query profiling accepts a literal
LIMITbetween 1 and 1000 and preserves it in aggregate wrappers. Existing allowlists, query budgets and no-row output remain enforced. A LIMIT changes the profiled population.
Parquet CLI¶
test-data-agent profile-parquet data/fictional.parquet --output out/profile.json
test-data-agent infer-spec out/profile.json --output out/dataset_spec.yaml
Install the parquet extra. Profiling retains metadata and sensitivity flags,
not input rows. Input and output must differ; output must be JSON. Unknown
Parquet distinct counts remain unknown.
Feedback disposition¶
- Overwrite flag: explicit supported scope and rejection for folder generation.
- Negative publication: existing invalid labels retained and documented.
- Inactive modes: rejected before publication.
- Relationships: zero-check reporting, resolution metrics, field-binding checks.
- LIMIT: bounded literal support and preserved query semantics.
- Parquet: public CLI adapter with profile/infer integration coverage.
- Root help: current RC2 examples already avoid the invalid CSV infer-spec example; regression checks retain the correct profile JSON chain.
Live Trino and source decimal end-to-end behavior require separately configured fictional integration evidence; local unit checks do not certify live access.