Task · GCI-0062

Give the live usage probe side-effect-free help and explicit artifact output

Description

The loop6 operator-doc audit found bin/probe_usage_signals.py has no argument parser or help boundary. Lines27-29 require a live context immediately, and line529 overwrites the committed testdata/usage-datasource-signals.json artifact. A –help inspection fails without a context and can perform live reads and overwrite measurements with one. This follow-up does not authorize a live probe or replacement of committed evidence.

Acceptance Criteria

Definition of Done

Implementation Plan

Loop7 frozen packets: bounded implementation or AC1 research; public-boundary proof, offline gate and CodeRabbit before landing, exact landed CI. Root security review/guard landing, research staff GET probe and conditional reserve decision, integrated review, stable release and dev-only rollout proof. Tracker remains root-owned.

Implementation Notes

R-int-r1 no must-fix, 168 targeted tests/82 subtests green; two non-blocking wording mismatches corrected by root before freeze: configuration table now limits GCINSIGHT_GCX_CONTEXT to tracer, and probe module help clearly separates explicit live artifact from committed synthetic dashboard-test input. Executable probe AST unchanged; actual –help inspected. Canonical AGENTS wording remains GCI-0066.

Final Summary

Explicit –context and –out; parsing/refusals precede live reads and writes, existing artifacts require –overwrite, exclusive creation protects a later destination race. Ten offline CLI tests, read-back synthetic gcx artifact proof, just check 1668 passed/2 existing skips/7971 subtests, completed CodeRabbit zero findings covering four files. Landed 72bcf2943ac1408094e115147f08814c73869977, exact CI 36873088668 all four required jobs successful. Execution deviation: first reproduction transiently overwrote only isolated synthetic baseline; restored byte-for-byte, strengthened tripwires reproduced safely. Root verified baseline, landed blob and lane worktree bytes equal; no baseline modification committed or pushed. No live tenant reads.

References

View the source file on GitHub