This file is byte-identical to the first copy the registry indexed, one of 6 indexed copies. Same content hash, so the same checks give both the same grade.
principle-boundary-discipline from barbieri/local-openfinance is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
Apply when wiring validation, error handling, or framework adapters. Concentrate guards at system boundaries (CLI, config, network, external APIs); trust internal types and keep business logic in pure functions.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Boundary Discipline
Place validation, type narrowing, and error handling at system boundaries. Trust internal code unconditionally. Business logic lives in pure functions. The shell is thin and mechanical.
**Why:** Scattered validation is noisy, redundant, and gives a false sense of safety. Keep logic out of framework wiring so it can be tested without the framework.
**The pattern:**
- **At boundaries** (CLI args, config files, external APIs, network protocols): validate, return errors, handle defensively.
- **Inside the system:** typed data, error propagation, no re-validation. Trust the types.
- **Across the boundary.** Expose domain concepts, not the boundary's private representation. Keep general-purpose mechanism inside and special-purpose policy at the edge.
**Applications:**
Validation and error handling:
- Validate config at parse time (the boundary), not inside business logic
- Parse raw data into domain types at the boundary
- Do not re-export transport, storage, framework, or wire types through the public surface
- No redundant nil checks deep in call chains if the boundary already validated
Code organization:
…
The line at the top of this page pins the label git:20261005.32edae5, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
GET https://markdownregistry.com/api/v1/artifacts/art_37sv7xqt5pwwgh2y
GET https://markdownregistry.com/api/v1/resolve?ref=barbieri/local-openfinance/principle-boundary-discipline
GET https://markdownregistry.com/api/v1/blob/62ac2862c2caa22dd14531f51c9c6bb445ceb198ca98a687e25b4d47c1f10a28
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
barbieri/local-openfinance · .agents/skills/agent-browser/SKILL.md · Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages…
barbieri/local-openfinance · .agents/skills/ai-sdk/SKILL.md · Answer questions about the AI SDK and help build AI-powered features. Use when developers: (1) Ask about AI SDK…
barbieri/local-openfinance · .agents/skills/architect/SKILL.md · Sketch types, signatures, and module structure before code, then stay in the loop while implementation fills in. Use…
barbieri/local-openfinance · .agents/skills/arena/SKILL.md · Spawn N parallel candidates at the same task, pick a base, graft the strongest parts of the losers into it. Use for…
barbieri/local-openfinance · .agents/skills/automate-me/SKILL.md · Use for "automate me", "create/update/refresh my -mode skill", "turn/capture my preferences or working style into a…
barbieri/local-openfinance · .agents/skills/blast-radius/SKILL.md · Find what a change could break somewhere else before it ships, beyond the diff, and prove the one fact it's safe…
barbieri/local-openfinance · .agents/skills/cancel-ralph/SKILL.md · Cancel an active Ralph Loop. Use when the user wants to stop, cancel, or abort a running ralph loop.
barbieri/local-openfinance · .agents/skills/cli-for-agents/SKILL.md · Designs or reviews CLIs so coding agents can run them reliably: non-interactive flags, layered --help with examples…
barbieri/local-openfinance · .agents/skills/code-review/SKILL.md · Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes: Standards (does the code…
cursor/plugins · pstack/skills/principle-boundary-discipline/SKILL.md · Apply when wiring validation, error handling, or framework adapters. Concentrate guards at system boundaries (CLI…
cursor/plugins · harness/pstack/claude-code/skills/principle-boundary-discipline/SKILL.md · Apply when wiring validation, error handling, or framework adapters. Concentrate guards at system boundaries (CLI…
nightly-labs/openbot · marketplace/production-catalog/bundles/pstack/skills/principle-boundary-discipline/SKILL.md · Apply when wiring validation, error handling, or framework adapters. Concentrate guards at system boundaries (CLI…
michael-denyer/pstack-claude · plugins/pstack/skills/principle-boundary-discipline/SKILL.md · Apply when wiring validation, error handling, or framework adapters. Concentrate guards at system boundaries (CLI…
backnotprop/pstack · skills/principle-boundary-discipline/SKILL.md · Apply when wiring validation, error handling, or framework adapters. Concentrate guards at system boundaries (CLI…
iap/pstack-hermes · skills/principle-boundary-discipline/SKILL.md · Apply when wiring validation, error handling, or framework adapters. Concentrate guards at system boundaries (CLI…
j-star-films-studios/vibecode-protocol-suite · assets/.agent/skills/engineering-principles/boundary-discipline/SKILL.md · Apply when wiring validation, error handling, or framework adapters. Concentrate guards at system boundaries (CLI…
theonlyfusioncube/potetos-for-everyone · skills/principle-boundary-discipline/SKILL.md · Validate and normalize at boundaries, trust internal invariants, and keep business logic free of adapter noise. Use…