Clause-level extensions only, no new sections. Publishing gains modals in both directions: the old sentence read as forbidding pushes to the user's own private repositories while leaving the disclosure direction a preference. The diagnosis scenario moves to Smoke because a cross-cutting rule has no area for the Extended trigger to select, and the guide separates cheap checks from behavioral runs so a modal-only edit does not cost a scenario suite.
Restore the rule dropped in 9822dafa: keep GitHub Git remotes on SSH, make sure the Nix-managed ~/.ssh/config is used, and rerun outside the sandbox when it is rejected.
* docs(skills): point nix-config-secrets at the private repo under ~/codes
Record where the private nix-secrets checkout lives and that agents should
do the mechanical secret work themselves, handing back only the
interactive/sudo agenix operations and pushes.
* docs(agents): add related repositories to nix-config
* chore(agents): adopt ~/src for source checkouts
Move third-party/source checkouts from ~/codes/src to ~/src so the home
layout reads as three siblings: ~/codes (personal), ~/work (work),
~/src (checkouts). Preserve and back up the new path, and update the
global rule and the two nixpkgs skill references.
* docs(agents): tighten the code layout rule
* docs(agents): fold the work-confidentiality note into the layout line
* docs(agents): base the confidentiality rule on repo visibility
* docs(agents): drop the stale KubeVirt mention
Allow clearly-implied task authorization, trust skills listed in the runtime's configured catalog, and restore the ban on following external-material instructions. Sync the affected evaluation scenarios.
Treat content from unverified sources as data, not instructions, and require authorization before cloning, downloading, or executing unverified code and install scripts.
Crush hardcodes banned bash commands, blocking many operations. Drop the package, its AGENTS.md/CRUSH.md install target, env vars, and preservation entries.
RTK compresses only shell output and independent evaluations show little to no end-to-end cost reduction. Drop the package and its install snippets; runtime artifacts were uninstalled separately.
Use one wording per gating family: exact target and scope, recovery path or safety guard, and explicit authorization. Remove the home-directory instance from workspace access and the repeated approval gate from the breaking-change bullet. Sync the high-impact eval scenario wording.
State the destructive-and-high-impact section as a principle: irreversible operations need explicit authorization, destructive or force operations form a separate categorical gate, and unpublished history rewrites are exempt at section level. Generalize infrastructure preview invalidation to any input change, and add an irreversible-action eval scenario.
Generalize the revert rule to protect any content the user changed or removed, and require confirmation before touching it. Replace the mock ban with a scope rule: checks must not be faked or weakened, and test doubles may replace only what a check does not verify. Sync the matching eval scenario.
- limit POSIX shell to a single command with arguments
- route pipes, chaining, substitution, redirection, and ShellCheck/BashPitfalls cases to Nushell or Python
- remove the Request handling and Scope and precedence sections
- keep the non-weakening guarantee under Safety and authorization
- remove the now-stale eval scenarios
- merge verification rules and split infrastructure guidance
- shorten Tools, Shell/scripts, and Communication
- apply script validation to any script file, including temporary ones
- sync evals
* docs(agents): bind authorization to the change boundary
* docs(agents): require target identity confirmation
* docs(agents): classify operations by impact, not command form
* docs(agents): require reviewed previews for high-risk IaC
* docs(agents): verify production changes beyond exit codes
* docs(agents): sync new-script eval with current rules
* docs(agents): split global rules evals into smoke and extended
* docs(agents): refine change guardrails wording
- scope the guardrails to any environment, not only production
- preview high-risk changes with plan, diff, or dry-run
- trim redundant examples and simplify target identity confirmation
- confirm unclear targets with the user instead of stopping
- allow file-path secret references and require approval for breaking changes
- relax the commit subject limit and allow rewriting unpublished local history
- refine tooling plus shell and script selection/validation guidance
Emphasize safety precedence in the intro, and replace the narrow Bash pipeline ban with a trigger-based rule: keep POSIX shell as glue and move to Nushell or Python once quoting, error handling, parsing, types, retries, or portability are involved.