@antoneeo/kb-agentic-skill 1.31.0 → 1.33.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.
@@ -289,6 +289,9 @@ Context (agent): "the question it answered, quoted"
289
289
  entered only as `[NOT VERBATIM — from <source>]`, never as a quote.
290
290
  - **Unattended**: R1 quotes the trigger that started the unit, labelled as such.
291
291
  Declared assumptions are not owner statements and never enter the record.
292
+ - **Design approval** (L3): the owner's approval of the design is an entry whose
293
+ label begins `design approved`; a no or a correction takes its own label
294
+ (`review.md` §When a review is due).
292
295
  - **Elicited notes**: a domain decision also lands in `corpus/notes/` (`origin: elicited`)
293
296
  naming its entry; the note keeps its own transcription because an export carries
294
297
  the corpus, not `audit/`.
@@ -797,16 +800,18 @@ date: 2026-08-02
797
800
  provenance: GIVEN
798
801
  extractor: pdftotext 24.02, form-feed page breaks, whitespace collapsed
799
802
  original_path: /vault/manuals/xyz.pdf
800
- original_sha256: <digest at ingest — RECORDED, never checked: we do not hold the file>
803
+ original_sha256: <digest at ingest — checked by stale/inventory only when original_path is local>
801
804
  ---
802
805
  ```
803
806
 
804
807
  The two fields are **not** in the same position, and writing them as if they were is
805
808
  how a dangling pointer survives a green run:
806
809
 
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.
810
+ - `original_sha256` is checked only where `original_path:` resolves to a local file:
811
+ `stale` and `inventory` report an original that changed since ingest. `check` never
812
+ hashes originals; elsewhere (remote, cloud-only, no path) it detects nothing. It
813
+ lets a human re-verify by hand and it dates the ingest. Keep that limit visible
814
+ wherever the field is written.
810
815
  - `original_path` **is** checked for resolution, and warns when it does not resolve
811
816
  (never errors — an imported bundle carries no originals). **Write it absolute, or
812
817
  relative to the project root**; the validator tries the docs root's parent first and
@@ -832,6 +837,24 @@ original_ref: wiki://team-space/app-config
832
837
  positive. Only this clears the check; a reason is required.
833
838
  - `original_ref:` — a non-local identifier of the original; recorded, never resolved.
834
839
 
840
+ **A document the project sent** (`distillation.md` §1) — its claims are `DECLARED`:
841
+
842
+ ```markdown
843
+ ---
844
+ sha256: <digest of the version sent>
845
+ date: 2026-10-16
846
+ provenance: DECLARED
847
+ recipient: <organization or role — never a private person's name>
848
+ original_path: deliverables/dpia_v5.1.docx
849
+ supersedes: dpia-v5-0a1b2c3d.txt
850
+ ---
851
+ Sent to <recipient> with <the package it belonged to>, in one line.
852
+ ```
853
+
854
+ `date:` here is the day it was **sent** (the docs site's chronology says so).
855
+ `original_path:` names the file in the project, so `inventory` recognizes it even when
856
+ redaction left no digest of it. `supersedes:` only for a resend.
857
+
835
858
  A **tombstone** (a withdrawn artifact) is renamed `<stem>-withdrawn-<YYYYMMDD>.<ext>.meta.md`
836
859
  and keeps `date:`, `provenance:`, `supersedes:` and `withdrawn: <reason>` — and **no
837
860
  `sha256:` or `original_sha256:`**. Its bytes are gone.
@@ -849,6 +872,28 @@ warning catches the author who declared the chain honestly and then filed the ro
849
872
  strongly, never the author who declared it wrongly. Nothing requires a `given/` sidecar
850
873
  to carry `provenance:` at all; adding that requirement is a new gate, not this one.
851
874
 
875
+ ## ai_docs/audit/INVENTORY_exclusions.md (what never enters the corpus)
876
+
877
+ ```markdown
878
+ # Inventory exclusions
879
+
880
+ Project files the practitioner decided never enter the corpus. One row per approval,
881
+ written only after it, dated that day. `inventory` never reads what a row excludes.
882
+
883
+ | pattern | reason | approved |
884
+ |---|---|---|
885
+ | src/ | application code: knowledge lives in the guides | 2026-10-26 (REQUEST_kb_corpus_reach.md R2) |
886
+ | *.pyc | generated | 2026-10-26 |
887
+ ```
888
+
889
+ Patterns are a gitignore subset, relative to the project root: `*`, `?`, `[...]` within
890
+ a segment, `**` across segments, a trailing `/` for directories, no `/` (other than a
891
+ trailing one) to match a name at any depth; case-insensitive on Windows. `validate` and
892
+ `check` refuse an empty pattern or reason, an `approved` that is not a date, and a
893
+ pattern that leaves the project root. The validator's built-in skipped directories
894
+ (`.git`, `node_modules`, dot-directories, …) need no row: `inventory` lists each once
895
+ as `SKIPPED`.
896
+
852
897
  ## ai_docs/corpus/notes/RULING_[topic]_[date].md (practitioner ruling)
853
898
 
854
899
  ```markdown