x-internal-rnf-validate
Validate RNF no-relax markers and justification gate for override inheritance
- License 许可
- MIT
- 最近更新
- 2026-10-27
- Stars
- ★ 0
- Forks
- 1
01 前言 Front Matter
- name
- x-internal-rnf-validate
- model
- haiku
- visibility
- internal
- description
- Validate RNF no-relax markers and justification gate for override inheritance
- allowed-tools
- [ "Bash" ]
- user-invocable
- false
- requires-capabilities
- []
03 SKILL.md 正文
🔒 INTERNAL SKILL — Invoked only by other skills via the Skill tool. Not user-invocable.
Skill: x-internal-rnf-validate
Purpose
Validates a list of RNF override specs against the no-relax marker and justification gate rules:
SECURITYandCOMPLIANCEare hard-blocked — cannot be relaxed even with justification.- All other categories that are relaxed require a non-blank justification.
- Categories marked
norelaxpass unconditionally.
Delegates to XInternalRnfValidateCommand (CLI adapter) and ValidateRNFNoRelaxUseCase (application layer) which calls RNFNoRelaxValidator (domain).
Parameters
| Flag | Required | Format | Description |
|---|---|---|---|
--override |
No (repeatable) | See formats below | One RNF override spec per flag |
--dry-run |
No | flag | Parse and report only; always returns exit 0 |
Override Spec Formats
| Format | Example | Meaning |
|---|---|---|
CATEGORY:norelax |
PERFORMANCE:norelax |
RNF carried forward unchanged |
CATEGORY:norelax:originalValue |
SECURITY:norelax:TLS 1.3 |
Same, with original value context |
CATEGORY:relaxed:originalValue:newValue:justification |
PERFORMANCE:relaxed:P99<200ms:P99<500ms:Batch path |
Relaxed RNF with mandatory justification |
CATEGORY must be a valid RNFCategory enum value (case-insensitive): PERFORMANCE, SCALABILITY, RELIABILITY, SECURITY, COMPLIANCE, OBSERVABILITY, DATA_INTEGRITY, MAINTAINABILITY, PORTABILITY, USABILITY.
Exit Codes
| Exit | Meaning |
|---|---|
| 0 | All overrides valid (or --dry-run mode) |
| 1 | Validation failure — one or more hard-block or missing-justification violations |
| 2 | Execution error — malformed spec or unexpected exception |
Examples
All no-relax (passes)
x-internal-rnf-validate \
--override PERFORMANCE:norelax:P99<200ms \
--override SECURITY:norelax:TLS1.3
# exit 0
Relaxed with justification (passes)
x-internal-rnf-validate \
--override PERFORMANCE:relaxed:P99<200ms:P99<500ms:Batch processing path
# exit 0
Hard-blocked category (fails)
x-internal-rnf-validate \
--override SECURITY:relaxed:TLS1.3:TLS1.2:Legacy client
# exit 1 — Violation: RNF category SECURITY is mandatory and cannot be relaxed
Relaxed without justification (fails)
x-internal-rnf-validate \
--override PERFORMANCE:relaxed:P99<200ms:P99<1s:
# exit 1 — Violation: RNF category PERFORMANCE override requires justification
Dry run with violation (reports but exits 0)
x-internal-rnf-validate --dry-run \
--override COMPLIANCE:relaxed:PCI-DSS-L1:PCI-DSS-L2:Cost reduction
# exit 0 (violations printed but not blocking)
Integration Notes
| Caller | Usage |
|---|---|
x-refine-story |
Validates RNF inheritance constraints before story refinement is approved |
x-internal-create-story |
Validates override specs declared in epic-level story specs |
Implementation classes:
- Application:
dev.iadev.application.capability.ValidateRNFNoRelaxUseCase - CLI adapter:
dev.iadev.adapter.inbound.cli.XInternalRnfValidateCommand - Domain:
dev.iadev.domain.capability.RNFNoRelaxValidator
Haiku eligibility (Rule 23 §criterion a): utility command execution — no architectural choices or design reasoning required.
04 同仓库更多 Skills
x-parallel-eval
Detects and classifies file-collision risks between work units (tasks, stories, or epic phases) before parallel execution. Reads ## File Footprint blocks produced by x-task-plan / x-story-plan, applies the parallelism-heuristics knowledge pack (hard / regen / soft categories + hotspot overrides), and emits a collision matrix + serialization recommendation in Markdown (default) or JSON.
parallelism-heuristics
Canonical catalog of file-collision heuristics for parallel task, story, and epic execution. Defines the File Footprint block format, the three Conflict Categories (hard / regen / soft), a hotspot list of high-contention paths, and the degrade-with-warning policy. Consumed by x-task-plan, x-story-plan, x-epic-map, x-parallel-eval, and x-dev-*-implement.
x-watch-pr-ci
Polls a PR's CI checks and Copilot review status, blocking until checks complete or timeout. Returns one of 8 stable exit codes (SUCCESS=0, CI_PENDING_PROCEED=10, CI_FAILED=20, TIMEOUT=30, PR_ALREADY_MERGED=40, NO_CI_CONFIGURED=50, PR_CLOSED=60, PR_NOT_FOUND=70). Writes a versioned state-file for session resume.
x-validate-docs
Documentation freshness gate: validates 6 dimensions (readme, api-specs, grpc-proto, adr, skill-docs, system-architecture) against code changes in a PR. Stack-aware — only validates targets declared/auto-detected from ProjectConfig.documentation.targets. Returns exit non-zero on staleness; produces structured report.
x-update-system-architecture
Incrementally updates docs/architecture/system.md after an epic completes. Appends new entries to the Decision Log (§11) using x-internal-write-report --append (dedup by ## ID: marker) and surgically inserts component/integration changes into sections 1-10 via Edit. Idempotent: re-running with the same epic produces a byte-identical system.md.
x-update-architecture
Incrementally updates the service architecture document with changes from architecture plans. Adds new components, integrations, flows, and ADR references without rewriting existing content. Use after implementation to keep architecture documentation current.