Skip to main content

log-intake-rejection

Persists a rejection record in raw/rejected/ when source intake fails. Use when source-intake-steward or evidence-verifier rejects a source and the rejection must be recorded for organizational memory. Write-once, sha256-keyed, locked.

Source facts

Repository
wryenmeek/knowledgebase
Last source activity
October 19, 2026 at 22:31
Detected SKILL.md language
English
Stars
1
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
log-intake-rejection
description
Persists a rejection record in raw/rejected/ when source intake fails. Use when source-intake-steward or evidence-verifier rejects a source and the rejection must be recorded for organizational memory. Write-once, sha256-keyed, locked.
# log-intake-rejection ## Overview Creates a write-once rejection record in `raw/rejected/` after a source fails intake validation. Provides persistent organizational memory to prevent re-evaluation churn. ## When to Use - When source-intake-steward or evidence-verifier rejects a source - When the rejection must be recorded for organizational memory - When preventing re-evaluation churn for previously rejected sources ## Runtime mode `blocking-only` with narrow write capability. ## Writable paths - `raw/rejected/<slug>--<sha256-prefix-8>.rejection.md` (write-once). - `wiki/log.md` (append-only rejection event via `append-log-entry`). ## Lock `raw/.rejection-registry.lock` — acquired before rejection record write, released after. Then `wiki/.kb_write.lock` — acquired for `wiki/log.md` append, released after. The two locks are never held simultaneously (sequential acquisition). ## Prerequisites - Source has been evaluated and rejected by `source-intake-steward` or `evidence-verifier`. - Rejection metadata provided: `slug`, `sha256`, `source_path`, `rejection_reason`, `rejection_category`, `reviewed_by`. ## Procedure 1. Acquire `raw/.rejection-registry.lock`. 2. Compute filename: `<slug>--<sha256[:8]>.rejection.md`. 3. Check for existing record by `sha256` (scan `raw/rejected/` frontmatter). If duplicate found → fail closed. 4. Write rejection record per `schema/rejection-registry-contract.md`. 5. Release `raw/.rejection-registry.lock`. 6. Acquire `wiki/.kb_write.lock` and append rejection event to `wiki/log.md` (via `append-log-entry` skill). Release `wiki/.kb_write.lock`. If log append fails → fail closed (the rejection record is already written; log the failure for operator remediation). ## Hard-fail conditions - Path outside `raw/rejected/`. - Record already exists for this `sha256`. - Lock unavailable (`raw/.rejection-registry.lock` or `wiki/.kb_write.lock`). - Missing rejection metadata. - `wiki/log.md` append failure (rejection record is already persisted; fail-closed means exit with error for operator remediation, not rollback). ## References - `docs/decisions/ADR-013-rejected-source-registry.md` - `schema/rejection-registry-contract.md`
View on GitHub