Repository navigation
Conversation
… config on every path (D-1020, D-1270) The -pVALUE rule masked -parallel, -pkgdir and -print* in job output; it now applies only when a mysql/mariadb client is in the command. preparePlan digests the effective config (built-in defaults included) and returns a digest error instead of falling back to a placeholder.
|
Review fixes pushed (55e3edb): the |
…ith InputsOf (D-1020, D-1270)
|
Review fixes: the branch head already had the MySQL-scoped -p rule and the attest.ConfigDigest fallback with the error returned (55e3edb). This commit adds what was still missing: Recorded now masks a MySQL-client -pVALUE by position, so a value too short for the registry is hidden too. TestNonSecretDashFlagsNotRedacted now calls Register first and also checks the job-output filter (-pidfile, -print, -path), and it fails on a5dd68c. New tests: short -pVALUE masked in Recorded (fails on 55e3edb) and preparePlan's digest equals evidence.InputsOf(...).Config with and without ci.yaml. free/ci go vet and go test -mod=vendor pass; one timing test in cmd/agent flaked under load and passes alone. |
Rows addressed
D-1020 — ad-hoc argv redaction misses well-known positional secrets
What changed:
free/ci/internal/adhoc/argv.gonow catches well-known positional secret forms in addition to name-based flags: mysql-style-pVALUE, curl-style-u user:pass, and-H "X-Key: value"headers whose name matches the existing secret-name regex. AddedTestWellKnownSecretFormsAreRedacted(mysql, curl -u, X-Api-Key header, Authorization header) andTestNonSecretDashFlagsNotRedacted(-port, -pidfile stay visible). All existing tests still pass.D-1270 — bare nself ci release gate always stale
What changed:
free/ci/cmd/v15.gopreparePlannow computesConfigDigestviaattest.ConfigDigest(cfg)on the loaded/parsed config instead of rawsha256(file bytes). This matches whatevidence.InputsOfdigests, so a bare-run release job no longer hits E715 deps_stale. Removed unusedcrypto/sha256andencoding/heximports.D-1301 — BLOCKED
Requires P7-NODE-20 work: adding a pinned_age column in NODE migrations and wiring
PinnedAgefrom the registry instartAgentListener. No production setter exists; this is P7 ticket scope.D-1368 — BLOCKED
Requires P7-HOST-19 / P7-NODE-20 successor: dispatching Synthetic pipelines, calling
demand.Bind/UsePolicy, and wiringrunnerjob.Restore/Constrain/BandOfin the coordinator. The fail-closed guard inserve_v15.gois intentional until that wiring lands.D-1101 — BLOCKED
Requires P7-NODE-20 successor: a per-lease SecretSource for operator-owned secrets_eligible nodes under PERSONAL coordinator mode, gating
Personalon coordinator mode, and dropping the secrets rule from localOnly.Commands run and results