Skip to content

Repo-aware trust policy substrate

State: open/verified · Kind: module · Audience: system

  • The repo-aware substrate any sdlc-shaped tool mounts to decide whether a repository it did not write may run its own scripts, hooks, or build config.
  • Sits downstream of @sksizer/cli-tool, @sksizer/easy-git, and @sksizer/easy-gh; knows git and GitHub and nothing about any one consumer’s config format.

Running code on behalf of a repository the tool did not author is consent that must come from somewhere. This package supplies a three-layer trust decision — a one-time marker grant, a policy.paths glob over the resolved repo root, and a policy.owners match on the origin remote’s owner — with a deliberate, non-general glob dialect and clear precedence (marker, then path, then owner) plus a documented threat model for spoofing in either direction. sdlc, waypost, and detect-runners each mount this policy behind their own config vocabulary via an injected expandPath callback, rather than duplicating the matcher.

  • policyDecision(root, policy, opts?) — path/owner match only, no marker store
  • trustDecision(store, root, policy, opts?) — marker grant first, then policy
  • policyExecGate(store, policy, args, opts?) — turns a trust decision into the ExecGate boolean a tool actually acts on
  • A path glob dialect (*, ?, ** only) and case-insensitive owner matching, with no filesystem dependency
  • packages/ts/sdlc-tool/src/trust.ts
  • consumed by solutions/ontological/lib/config/trust.ts (sdlc), packages/ts/waypost/src/cli.ts, packages/ts/detect-runners/src/config.ts
  • packages/ts/sdlc-tool/
  • packages/ts/sdlc-tool/src/trust.ts

← Back to Capabilities