Skip to content

fix(admin): state the security-posture lattice in the resource label - #588

Open
yzxcj797 wants to merge 1 commit into
yc-software:mainfrom
yzxcj797:fix/posture-label-lattice-574
Open

fix(admin): state the security-posture lattice in the resource label#588
yzxcj797 wants to merge 1 commit into
yc-software:mainfrom
yzxcj797:fix/posture-label-lattice-574

Conversation

@yzxcj797

@yzxcj797 yzxcj797 commented Aug 18, 2026

Copy link
Copy Markdown

Summary

Addresses the "at minimum" ask of part 2 of #574 (the label fix; the posture-behavior design question is left to the maintainers).

The problem (from the issue's own analysis)

The admin resource for security-posture labeled the org value as a blanket guarantee: "narrower scopes may tighten it but cannot weaken it." But the postures do not form a per-control lattice — strict does not retain auto's inbound screening; it swaps content screening for approval-gated tools. An operator tightening a scope in response to a security concern could thereby silently lose a control, which the label explicitly promised could not happen.

Fix

The label now states the actual lattice up front:

auto screens inbound content with no tool approvals; strict trades that screening for approval-gated tools (every harness tool pauses for a human); dangerous disables screening. Narrower scopes may move to a stricter mode but not below the org floor. Note: moving auto → strict turns inbound content screening OFF in exchange for tool approvals.

The org value remains a floor on mode ordering — the only guarantee the postures actually form.

All 20 tests in test/admin-resources.test.ts + test/security-posture.test.ts pass unchanged (no test asserts label text).


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

The posture label claimed "narrower scopes may tighten it but cannot
weaken it" as a blanket guarantee. The postures do not form a
per-control lattice: strict does not retain auto's inbound screening,
it swaps content screening for approval-gated tools, and an operator
tightening a scope in response to a security concern could silently
lose a control (yc-software#574).

Spell out the actual lattice: auto = inbound screening, no tool
approvals; strict = screening OFF, every tool approval-gated;
dangerous = screening off. The org value remains a floor on mode
ordering, the only guarantee that holds.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant