You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat: enforce the write gate and command gate #378
Decided by the maintainer on 2026-10-07. P7-01 keeps its place in 4.0.0-beta.4.
Why
P7-01 is blocked by P5-04 (uninstall on project state) and P6-11 (Maintenance writes only in opted-in projects). The gates cannot enforce earlier without new exceptions, and this card rules new exceptions out.
The real-machine upgrade test (GA-06) in rc.1 is blocked by this card, so it runs on an enforcing build.
This card is not the install cutover. Global installs are removed by P2-03 in beta.1, and latest moves at 4.0.0 GA. This card only starts refusing writes and commands. It relies on P2-03 having removed every npm install -g.
Open points to settle in this card (found in the review of #467, where the report-only gates landed):
Should npm uninstall -g and npm update -g be reported or refused? Today the gate reports install forms only. ak itself runs npm uninstall -g in uninstall, so enforcement needs a deliberate rule.
What is the default scope of a claude mcp|plugin change with no -s? claude --help does not say, so the gate does not classify it today.
26 files call child_process directly and bypass the command gate, which only covers run(). Decide whether enforcement covers them.
Related: #327 (report-only gates, merged in #467), #328 (contract tests).
Activity
pacphi commentedon Oct 7, 2026
Decision: enforce in 4.0.0-beta.4 (option A)
Decided by the maintainer on 2026-10-07. P7-01 keeps its place in
4.0.0-beta.4.Why
uninstallon project state) and P6-11 (Maintenance writes only in opted-in projects). The gates cannot enforce earlier without new exceptions, and this card rules new exceptions out.This card is not the install cutover. Global installs are removed by P2-03 in beta.1, and
latestmoves at 4.0.0 GA. This card only starts refusing writes and commands. It relies on P2-03 having removed everynpm install -g.Open points to settle in this card (found in the review of #467, where the report-only gates landed):
npm uninstall -gandnpm update -gbe reported or refused? Today the gate reports install forms only. ak itself runsnpm uninstall -ginuninstall, so enforcement needs a deliberate rule.claude mcp|pluginchange with no-s?claude --helpdoes not say, so the gate does not classify it today.child_processdirectly and bypass the command gate, which only coversrun(). Decide whether enforcement covers them.Related: #327 (report-only gates, merged in #467), #328 (contract tests).