PSF: Update privacy wall mandate to use @personal tag instead of !personal

This commit is contained in:
2026-04-07 13:36:51 -04:00
parent 1928a1e391
commit b45f24ebc1
2 changed files with 8 additions and 8 deletions

View File

@@ -4,7 +4,7 @@
#+FILETAGS: :inbox:processor:workflow:psf:
* Overview
The *Enriched Inbox Processor Agent* is responsible for the daily migration of captured nodes from ~inbox.org~ to the ~daily/~ archive. It enforces a strict privacy wall for ~!personal~ content while providing deep semantic enrichment for public research.
The *Enriched Inbox Processor Agent* is responsible for the daily migration of captured nodes from ~inbox.org~ to the ~daily/~ archive. It enforces a strict privacy wall for ~@personal~ content while providing deep semantic enrichment for public research.
* Phase A: Demand (PRD)
:PROPERTIES:
@@ -15,8 +15,8 @@ The *Enriched Inbox Processor Agent* is responsible for the daily migration of c
Automate the sorting and enrichment of inbox captures.
** 2. User Needs
- *Privacy Wall:* Headlines tagged ~!personal~ are moved **symbolically only**. No LLM processing allowed.
- *Semantic Enrichment:* For public items (non-!personal), generate:
- *Privacy Wall:* Headlines tagged ~@personal~ are moved **symbolically only**. No LLM processing allowed.
- *Semantic Enrichment:* For public items (non-@personal), generate:
1. A **Summary** sub-heading (1 sentence).
2. A **Significance** paragraph explaining the PSF use-case.
3. A **Full Text** extraction for items tagged ~!archive~.
@@ -28,14 +28,14 @@ Automate the sorting and enrichment of inbox captures.
:END:
** 1. Architectural Intent
Iterate through the inbox. Use System 2 (Symbolic) to identify the tag. If ~!personal~, perform a direct move. If not, trigger System 1 (Neuro) for enrichment.
Iterate through the inbox. Use System 2 (Symbolic) to identify the tag. If ~@personal~, perform a direct move. If not, trigger System 1 (Neuro) for enrichment.
* Phase D: Build (Implementation)
** Helper: Privacy & Archive Checks
#+begin_src lisp :tangle ../projects/org-skill-inbox-processor/src/processor-logic.lisp
(defun inbox-is-private-p (tags)
(member "!personal" tags :test #'string-equal))
(member "@personal" tags :test #'string-equal))
(defun inbox-is-archive-p (tags)
(member "!archive" tags :test #'string-equal))

View File

@@ -16,7 +16,7 @@ Define automated distillation, enrichment, and auditing behaviors.
** 2. User Needs
- *Knowledge Distillation:* Weekly scan of ~daily/~ files to extract evergreen concepts.
- *Privacy Mandate:* NEVER process subtrees with the ~!personal~ tag. (LLM exclusion).
- *Privacy Mandate:* NEVER process subtrees with the ~@personal~ tag. (LLM exclusion).
- *Content Enrichment (Karpathy Method):*
1. Cross-linking to existing notes.
2. Merging redundant concepts.
@@ -59,10 +59,10 @@ Uses a weekly heartbeat trigger. Employs a "Compiler" approach: System 1 (Neuro)
** Pre-Filtering (The Privacy Wall)
#+begin_src lisp :tangle ../projects/org-skill-scribe/src/scribe-engine.lisp
(defun scribe-filter-personal (org-ast-node)
"Recursively strips out any headline or content tagged with !personal.
"Recursively strips out any headline or content tagged with @personal.
This runs strictly in System 2 BEFORE any data is passed to System 1."
(let ((tags (getf (org-agent:org-object-attributes org-ast-node) :TAGS)))
(when (not (member "!personal" tags :test #'string=))
(when (not (member "@personal" tags :test #'string=))
org-ast-node)))
#+end_src