@antoneeo/kb-agentic-skill 1.31.0 → 1.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -797,16 +797,18 @@ date: 2026-08-02
797
797
  provenance: GIVEN
798
798
  extractor: pdftotext 24.02, form-feed page breaks, whitespace collapsed
799
799
  original_path: /vault/manuals/xyz.pdf
800
- original_sha256: <digest at ingest — RECORDED, never checked: we do not hold the file>
800
+ original_sha256: <digest at ingest — checked by stale/inventory only when original_path is local>
801
801
  ---
802
802
  ```
803
803
 
804
804
  The two fields are **not** in the same position, and writing them as if they were is
805
805
  how a dangling pointer survives a green run:
806
806
 
807
- - `original_sha256` detects nothing on its own — we do not hold the bytes. It lets a
808
- human re-verify by hand and it dates the ingest. Keep that limit visible wherever the
809
- field is written.
807
+ - `original_sha256` is checked only where `original_path:` resolves to a local file:
808
+ `stale` and `inventory` report an original that changed since ingest. `check` never
809
+ hashes originals; elsewhere (remote, cloud-only, no path) it detects nothing. It
810
+ lets a human re-verify by hand and it dates the ingest. Keep that limit visible
811
+ wherever the field is written.
810
812
  - `original_path` **is** checked for resolution, and warns when it does not resolve
811
813
  (never errors — an imported bundle carries no originals). **Write it absolute, or
812
814
  relative to the project root**; the validator tries the docs root's parent first and
@@ -832,6 +834,24 @@ original_ref: wiki://team-space/app-config
832
834
  positive. Only this clears the check; a reason is required.
833
835
  - `original_ref:` — a non-local identifier of the original; recorded, never resolved.
834
836
 
837
+ **A document the project sent** (`distillation.md` §1) — its claims are `DECLARED`:
838
+
839
+ ```markdown
840
+ ---
841
+ sha256: <digest of the version sent>
842
+ date: 2026-10-16
843
+ provenance: DECLARED
844
+ recipient: <organization or role — never a private person's name>
845
+ original_path: deliverables/dpia_v5.1.docx
846
+ supersedes: dpia-v5-0a1b2c3d.txt
847
+ ---
848
+ Sent to <recipient> with <the package it belonged to>, in one line.
849
+ ```
850
+
851
+ `date:` here is the day it was **sent** (the docs site's chronology says so).
852
+ `original_path:` names the file in the project, so `inventory` recognizes it even when
853
+ redaction left no digest of it. `supersedes:` only for a resend.
854
+
835
855
  A **tombstone** (a withdrawn artifact) is renamed `<stem>-withdrawn-<YYYYMMDD>.<ext>.meta.md`
836
856
  and keeps `date:`, `provenance:`, `supersedes:` and `withdrawn: <reason>` — and **no
837
857
  `sha256:` or `original_sha256:`**. Its bytes are gone.
@@ -849,6 +869,28 @@ warning catches the author who declared the chain honestly and then filed the ro
849
869
  strongly, never the author who declared it wrongly. Nothing requires a `given/` sidecar
850
870
  to carry `provenance:` at all; adding that requirement is a new gate, not this one.
851
871
 
872
+ ## ai_docs/audit/INVENTORY_exclusions.md (what never enters the corpus)
873
+
874
+ ```markdown
875
+ # Inventory exclusions
876
+
877
+ Project files the practitioner decided never enter the corpus. One row per approval,
878
+ written only after it, dated that day. `inventory` never reads what a row excludes.
879
+
880
+ | pattern | reason | approved |
881
+ |---|---|---|
882
+ | src/ | application code: knowledge lives in the guides | 2026-10-26 (REQUEST_kb_corpus_reach.md R2) |
883
+ | *.pyc | generated | 2026-10-26 |
884
+ ```
885
+
886
+ Patterns are a gitignore subset, relative to the project root: `*`, `?`, `[...]` within
887
+ a segment, `**` across segments, a trailing `/` for directories, no `/` (other than a
888
+ trailing one) to match a name at any depth; case-insensitive on Windows. `validate` and
889
+ `check` refuse an empty pattern or reason, an `approved` that is not a date, and a
890
+ pattern that leaves the project root. The validator's built-in skipped directories
891
+ (`.git`, `node_modules`, dot-directories, …) need no row: `inventory` lists each once
892
+ as `SKIPPED`.
893
+
852
894
  ## ai_docs/corpus/notes/RULING_[topic]_[date].md (practitioner ruling)
853
895
 
854
896
  ```markdown