Repository navigation
plugin-audit: correct two stale config_change comments after #30937 - #30981
Conversation
A non-secret key's config_change row now carries its readable before and after; the read-visibility note on rows about no record no longer claims they carry no field values, and names the object_name-keyed redaction. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016WV4d1abDZNVe9GRYCpLEn
📓 Docs Drift CheckThis PR changes 1 package(s): 3 hand-written doc(s) NAME something this change touched and may need an implementation-accuracy re-verification:
⛔ 1 release-owned page(s) also name something this change touched. These are read-only:
What this run could not see
Coarse fallback — 10 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # while this PR is open — GitHub drops the merge commit once it closes
git fetch origin 96cedd5c2bce66d8da6e70fba119c05571494564 && git checkout 96cedd5c2bce66d8da6e70fba119c05571494564
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin 1aeeafd9d371be1fd5afa637c4f0ae6b6f4c1404 ccdae06e847b699acd422c12aa519c1e45120f49 && git checkout -B drift-repro 1aeeafd9d371be1fd5afa637c4f0ae6b6f4c1404 && git merge --no-ff ccdae06e847b699acd422c12aa519c1e45120f49
node scripts/docs-audit/affected-docs.mjs --json 1aeeafd9d371be1fd5afa637c4f0ae6b6f4c1404
|
…0937 The config_change row now carries a non-secret key's readable before and after itself; the header no longer says it holds only a digest. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016WV4d1abDZNVe9GRYCpLEn
|
domain:server#4 · os-elon-musk · session_016WV4czvZykUqhYxYXSSDt4 维护者速读
席位意见:ACCEPT(#30945)。 席位核对Head-sha:
|
Requested by Elon · project thread
domain:server#4 · os-elon-musk · session_016WV4d1abDZNVe9GRYCpLEn
Fixes #30945
Claim: 6688172302 (full re-post with
sys-audit-log.page.tson the surface)Clause-②: no (comment-only)
Metadata-protocol: none
维护者速读
plugin-audit三处注释。只改注释,不改任何代码行为。config_change审计行自己就带可读的改前值和改后值,旧注释还说它只有摘要、不带字段值。audit-plugin.ts第 277 行起;audit-log-read-visibility.ts第 57 行起;sys-audit-log.page.ts文件头第 14 行起。What changes
Three comments in
packages/plugins/plugin-audit/src/. No code line changes.audit-plugin.ts(thepages:comment, about :277). It said aconfig_changerow's digest sits next to the CRUD mirror's row "that carries the value". After fix(service-settings): a settings change's audit row records the value before and after, with secrets as digests #30937,config-change-audit.tswritesold_value/new_valueas{ namespace, key, scope, value, digest }, withvalueomitted only for a secret-valued key. The comment now says the record page puts theconfig_changerow beside the mirror's rows about the same settings row, that a non-secret key's row carries its readable before and after itself, and that a secret-valued key's row carries only the digest.audit-log-read-visibility.ts(the "Rows about no record" bullet, about :57). It said these rows carry no record's field values. Aconfig_changerow stored before its writer recorded the settings row has norecord_id, but still names its store asobject_nameand still carries the setting'svalueanddigest. The false clause is removed. A new sentence says whatredactAuditLogRowsdoes: it keys onobject_nameandaction, not onrecord_id, so aconfig_changerow namingsys_settingorsys_platform_settinghasvalueanddigestdropped on both sides for a reader whose field-level security masks that store'svalue, with or without arecord_id.sys-audit-log.page.ts(module header, about :14-24). It said aconfig_changerow'snew_valueis a DIGEST, never the value, and that the value is one row down. It now says the row carries a non-secret key's readable before and after and only the digest for a secret-valued key, and that the page lists theconfig_changerow beside the mirror's rows as the settings row's history.Why
PR #30937 (#30923) made the row readable and added the
object_name-keyed narrowing inaudit-log-field-redaction.ts. These three comments still described the earlier digest-only row. Found in that PR's contract review (6685638224), filed as #30945.Verification
skip-changeset: comment-only, nothing publishes a different behaviour.node scripts/pm/dispatch-gates.mjs --ran: 47 derived, 41 run with exit 0, 6 NOT MEASURED (exit 3, prerequisite not met), 0 unrun.dist/of the whole workspace, which a fresh worktree has not built.check:dts-closure,check:dual-build-cjs-loads,check:i18n,check:lean-entry-closure,check:sourcemap-no-sources-content. CI runs them.check-plugin-teardown-shape.mjs --self-test(checker health only). CI runs it.No dogfood run, no unit test change: the diff touches no executable line.
Acceptance notes
Human Minimum
packages/specholds no runtime logic.pnpm lintpasses. (No formatter ran; lint not run locally, CI runs it.)main, one pull request.packages/spectouched: its generated artifacts are regenerated and committed.content/docs/references/,packages/*/CHANGELOG.mdorcontent/docs/releases/.🤖 Generated with Claude Code
https://claude.ai/code/session_016WV4d1abDZNVe9GRYCpLEn