Skip to content
Back to skills

Adr

ASecurity

- **Status:** accepted - **Date:** 2026-07-03 - **Design:** docs/design/harness-hygiene-prune-gates.md · **B SCOPE RISK resolved** - **Scope:** workstream B

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 6, 2026
ai-agents

Works with

  • cli

Security analysis

A100/100

Pro scans all 21 files and shows the line behind each finding

Scanned September 6, 2026

npx -y skills add scolladon/craft --skill adr --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Adr?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Adr
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/scolladon-adr/badge)](https://www.skillsdirectory.com/skills/scolladon-adr)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# 209 — Standing harness-prune as an on-demand `craft:prune` skill

- **Status:** accepted
- **Date:** 2026-07-03
- **Design:** docs/design/harness-hygiene-prune-gates.md · **B SCOPE RISK resolved**
- **Scope:** workstream B

## Context

Harness drift accumulates against model capability ("delete the harness against each
model release"). Craft has no recurring mechanism to propose pruning now-redundant
invariants, contracts, lints, or skill-prose. The risk: any automation (model-bump
detection, load-bearing auto-classification, an automated pruner, a pipeline phase) turns
this into unbounded engine machinery.

## Options considered

1. **Minimal on-demand `craft:prune` skill, propose-never-dispose** (recommended) — pros:
   pure prose, zero engine code, zero pipeline drag, reverts by deleting the skill dir;
   `contracts/core.md` reused as a fail-closed denylist / cons: manual trigger, no
   automation.
2. **Descope B to its own change** — pros: room to explore a balloon axis / cons: delays
   the mechanism; A & C ship without it.
3. **Drop B entirely** — pros: least work / cons: the drift problem stays unaddressed.

## Decision

**User-ratified: minimal prose B, ship now (option 1).** `craft:prune` is an on-demand
skill: it proposes prune candidates over a declared inspection scope (contracts, lints,
skill-prose) for human ratification, never deletes autonomously (propose-never-dispose),
and treats every line of `contracts/core.md` plus the non-overridable cross-phase
invariants as an undroppable denylist — fail-closed: a candidate touching the core is
refused, not warned. Trigger is manual. **All five balloon axes (B1–B5: auto-detect model
bumps, auto-classify load-bearing, automated pruner, advisory CI signal, new pipeline
phase) were put to the user and declined.**

## Consequences

Zero drag when not invoked; no default-pipeline cost. B reverts independently by removing
`skills/prune/`. The manual trigger is a deliberate floor — automation is a future,
separately-scoped decision if ever wanted. The core denylist guarantees a prune can never
drop a load-bearing invariant.

Files in this skill

  • 001-descriptor-storage-form.md1.4 KB
  • 002-pipeline-resolver-node-module.md3.2 KB
  • 003-contract-storage-fragments.md1.3 KB
  • 004-alias-map-shared-data.md1.1 KB
  • 005-skip-reorder-strictness.md2.1 KB
  • 006-contract-field-shape.md1.1 KB
  • 007-design-doc-split.md1.1 KB
  • 008-execution-config-levels.md1.4 KB
  • 009-procedure-skill-bridge.md1.8 KB
  • 010-manifest-lint-new-keys.md2 KB
  • 011-legacy-per-phase-skip.md1.8 KB
  • 012-manifest-validation-node-fold.md2.6 KB
  • 013-renamed-agent-model-key.md2.1 KB
  • 014-backlog-template-in-p4.md2 KB
  • 015-contract-decomposition-boundary.md2.6 KB
  • 016-fragment-loading-assemble-bin.md2.2 KB
  • 017-agent-thinning-depth.md1.9 KB
  • 018-r8-deterministic-block-equivalence.md2 KB
  • 019-findings-normalize-wiring-scope.md1.5 KB
  • 020-inline-role-craft-sourcing.md3.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…