PSF: Update privacy wall mandate to use @personal tag instead of !personal
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
#+FILETAGS: :inbox:processor:workflow:psf:
|
#+FILETAGS: :inbox:processor:workflow:psf:
|
||||||
|
|
||||||
* Overview
|
* 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)
|
* Phase A: Demand (PRD)
|
||||||
:PROPERTIES:
|
: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.
|
Automate the sorting and enrichment of inbox captures.
|
||||||
|
|
||||||
** 2. User Needs
|
** 2. User Needs
|
||||||
- *Privacy Wall:* Headlines tagged ~!personal~ are moved **symbolically only**. No LLM processing allowed.
|
- *Privacy Wall:* Headlines tagged ~@personal~ are moved **symbolically only**. No LLM processing allowed.
|
||||||
- *Semantic Enrichment:* For public items (non-!personal), generate:
|
- *Semantic Enrichment:* For public items (non-@personal), generate:
|
||||||
1. A **Summary** sub-heading (1 sentence).
|
1. A **Summary** sub-heading (1 sentence).
|
||||||
2. A **Significance** paragraph explaining the PSF use-case.
|
2. A **Significance** paragraph explaining the PSF use-case.
|
||||||
3. A **Full Text** extraction for items tagged ~!archive~.
|
3. A **Full Text** extraction for items tagged ~!archive~.
|
||||||
@@ -28,14 +28,14 @@ Automate the sorting and enrichment of inbox captures.
|
|||||||
:END:
|
:END:
|
||||||
|
|
||||||
** 1. Architectural Intent
|
** 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)
|
* Phase D: Build (Implementation)
|
||||||
|
|
||||||
** Helper: Privacy & Archive Checks
|
** Helper: Privacy & Archive Checks
|
||||||
#+begin_src lisp :tangle ../projects/org-skill-inbox-processor/src/processor-logic.lisp
|
#+begin_src lisp :tangle ../projects/org-skill-inbox-processor/src/processor-logic.lisp
|
||||||
(defun inbox-is-private-p (tags)
|
(defun inbox-is-private-p (tags)
|
||||||
(member "!personal" tags :test #'string-equal))
|
(member "@personal" tags :test #'string-equal))
|
||||||
|
|
||||||
(defun inbox-is-archive-p (tags)
|
(defun inbox-is-archive-p (tags)
|
||||||
(member "!archive" tags :test #'string-equal))
|
(member "!archive" tags :test #'string-equal))
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ Define automated distillation, enrichment, and auditing behaviors.
|
|||||||
|
|
||||||
** 2. User Needs
|
** 2. User Needs
|
||||||
- *Knowledge Distillation:* Weekly scan of ~daily/~ files to extract evergreen concepts.
|
- *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):*
|
- *Content Enrichment (Karpathy Method):*
|
||||||
1. Cross-linking to existing notes.
|
1. Cross-linking to existing notes.
|
||||||
2. Merging redundant concepts.
|
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)
|
** Pre-Filtering (The Privacy Wall)
|
||||||
#+begin_src lisp :tangle ../projects/org-skill-scribe/src/scribe-engine.lisp
|
#+begin_src lisp :tangle ../projects/org-skill-scribe/src/scribe-engine.lisp
|
||||||
(defun scribe-filter-personal (org-ast-node)
|
(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."
|
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)))
|
(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)))
|
org-ast-node)))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user