Repository navigation
Conversation
8fd40d7 to
4008a48
Compare
…gate doctor's config check validated the full config.yml schema, which belongs to the hidden config command. The starter config now holds only version and telemetry.enabled, so the check caught nothing real. Removed it. telemetry_state checked only the per-target install-info opt-out and machine consent, so it could say reporting was on while KONDUCTOR_TELEMETRY=off or a target's own telemetry.enabled: false actually suppressed it. telemetry_state now reports all four gates, sharing one predicate with report.rs's own send-time gate so the two can never drift. doctor --all evaluates the config.yml gate per target, since it reads each target's own config.yml. Updated every doc listing or counting doctor's checks, and the Data Collection section describing what telemetry_state reports.
4008a48 to
e5c47a2
Compare
|
Adversarial review notes (security, data integrity, schema/contract). No security or data-integrity issues found. Four schema/contract items: Important
Suggestions
|
|
|
||
| - `konductor metrics`. It was a stub that printed "not yet implemented"; the CLI now exits `64` | ||
| for it like any other unrecognized subcommand. | ||
| - `doctor`'s `config` check. It validated the full config schema, which belongs to the hidden |
There was a problem hiding this comment.
to confirm, we are not versioning this change. I also dont see a VERSION file.
| /// Gate 4, env var: `KONDUCTOR_TELEMETRY=off` suppresses reporting | ||
| /// even though gates 2 and 3 both allow, and the check names the | ||
| /// specific reason at `Info` severity. | ||
| #[test] |
There was a problem hiding this comment.
not in scope of this CR, but we should consider refactoring this file. It has grown over a period of time.
| check_source(&resolved_source), | ||
| check_runtime(destination), | ||
| check_manifest(destination), | ||
| check_config_with_home(&resolved_source, home_dir.as_deref()), |
There was a problem hiding this comment.
would this lead to any backward compatibility issues on installs where config exists?
| /// `gate4_suppression` so a caller that has already read | ||
| /// `.konductor/config.yml` for another reason doesn't have to read it | ||
| /// again just for this check. | ||
| fn gate4_suppression_from(raw: &Option<RawTelemetrySection>) -> Option<Gate4Reason> { |
There was a problem hiding this comment.
during this check in general, have we validated config.yml? what if it is malformed.
Description
Removes
doctor'sconfigcheck. It validated the full.konductor/config.ymlschema, which belongs to the hiddenconfigcommand. The starter config now holds onlyversionandtelemetry.enabled, so the check had nothing left to catch.Extends
telemetry_stateto report every gate that can suppress telemetry. It used to check only the per-target install record and machine consent, so it could say reporting was on whileKONDUCTOR_TELEMETRY=offortelemetry.enabled: falseturned it off. Doctor and the send path now share one predicate inreport.rs, so their answers can't diverge. These opt-outs are reported at Info severity.doctor --allevaluates config.yml per target. Telemetry sending behaviour is unchanged.Type of change
Testing
cargo build --release, andcargo test --releasewith 1723 unit and 44 integration tests passing.cargo clippy --release --all-targets: no new warnings.check-guide-facts.py: one failure, also present onmain(WITHDRAWN_COMMANDS).--allacross two targets.Checklist
Notes