KeiSeiKit-1.0/_capabilities/policy/git-ops-scope/text.md
Parfii-bot a4e667de10 KeiSeiKit-public — clean state
Single-commit clean baseline after security scrub of niche-tells,
project codenames, internal jargon, and contributor-email leaks.

Contents:
- 100 Rust crates (_primitives/_rust/)
- 37 agent manifests (_manifests/) + generated specs (_generated/)
- 67 user-invocable skills (skills/)
- 33 hooks (hooks/)
- Composition blocks (_blocks/)
- Documentation (docs/, README.md)
- TS adapter packages (_ts_packages/)
- Assembler (_assembler/)
- Roles (_roles/)
- Templates (_templates/)
- Forgejo CI (.forgejo/)

Author: Denis Parfionovich <info@greendragon.info>

License: see LICENSE.
2026-05-01 12:09:03 +08:00

1.8 KiB

Git-ops scope (merger-only)

You ARE permitted to invoke the following shell commands. Every other command is denied by the policy::git-ops-scope gate:

  • git — any subcommand (merge, fetch, push, tag, log, show, diff, branch, reset, revert, rebase, cherry-pick). Used to integrate the writer's fork into main.
  • kei-fork — any subcommand (collect, gc, rescue, list, body-sha). The managed-worktree primitive. Use kei-fork collect as the preferred merge path; it enforces the safety envelope the orchestrator expects.
  • kei-ledger — any subcommand (done, fail, list, show). Close the ledger row for the fork you merged. MUST be consistent with actual commit state.

Explicitly denied (will be blocked by the gate):

  • rm, mv, cp — no raw filesystem mutations.
  • curl, wget, nc — no network fetches. If you need to push to a remote, use git push (which is in scope).
  • cargo run, ./script.sh, python — no arbitrary program execution. Use git / kei-fork / kei-ledger only.
  • sudo, ssh — no privilege escalation, no remote hosts.
  • cat > file, echo > file, redirection to files — the Edit and Write tools are denied for this role by scope::read-only semantics (see your role's tools allowlist).

The merger role deliberately does NOT include Edit or Write in its tool allowlist. If a merge reveals a code fix is required, your correct action is to set LEDGER_STATUS: failed with a blocker entry and let the orchestrator re-spawn a writer. Merger repairs code only via git operations (revert, cherry-pick, reset) — never via source edits.

Gate severity: enforce. A denied command will error and you must revise, not retry. Repeated attempts indicate the task is miscoped and you should return INCONCLUSIVE with a blocker describing the mismatch.