Extract cross-surface enforcement plane (decision/profiles/audit) into pkg + thin endpoint adapter #114
Labels
No labels
burndown-2026-06
sunday-sprint
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/cli-guard#114
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Extract the cross-surface enforcement plane into
pkg+ a thin endpoint adapterSpun out of the speakeasy-ward proving slice and the
reorg discussion in cli-guard issue 113.
Finding
The ward slice exposed cli-guard's
decision+auditover a tiny HTTPendpoint and let a generated TypeScript client enforce policy by calling it -
zero enforcement reimplemented in the generated language. Two things fell out:
An HTTP caller in a different repo imported exactly
decision,profiles, andauditand nothing else from today's CLI-flavored tree.Those packages gate the HTTP front in code right now, with no
passthrough/verb/lockdowndependency. They are cross-surface, not CLI.Nothing about the endpoint is HTTP-specific. The same enforcement core can
be reached three ways:
Proposal
decision,profiles,profile,audit(pluspolicy,scope) intopkgas the shared enforcement plane.lockdownstays CLI (it renders ashell deny-list, surface-specific).
pkg-level enforcement API (decide + audit) that each surfaceadapts. The HTTP endpoint server is a thin adapter over that API, not a member
of the HTTP bucket.
speakeasy-ward/server/main.gois theendpoint adapter in ~250 lines over
audit+decision+profiles. It canmigrate in as the canonical adapter once the
pkgboundary lands.Sequencing
This depends on the bucketing in
cli-guard issue 113
being agreed first. It is the concrete "what goes in
pkgand why" answer forthe cross-surface packages that issue flagged as open questions.
Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag:
burndown-2026-06.