Repo-aware trust policy substrate
State: open/verified · Kind: module · Audience: system
Summary
Section titled “Summary”- 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.
Statement
Section titled “Statement”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.
What it provides
Section titled “What it provides”policyDecision(root, policy, opts?)— path/owner match only, no marker storetrustDecision(store, root, policy, opts?)— marker grant first, then policypolicyExecGate(store, policy, args, opts?)— turns a trust decision into theExecGateboolean a tool actually acts on- A path glob dialect (
*,?,**only) and case-insensitive owner matching, with no filesystem dependency
Underlying implementation
Section titled “Underlying implementation”- 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
Locations
Section titled “Locations”packages/ts/sdlc-tool/packages/ts/sdlc-tool/src/trust.ts