vault-sync: 2026-10-17 12:01 (jimmy)

This commit is contained in:
jimmy
2026-10-17 12:01:19 -07:00
parent 91cd44a331
commit 1bb471c8de
29 changed files with 990 additions and 245 deletions
@@ -41,3 +41,22 @@ Dashboard is the daily home. Every agent writes high-signal memory to the vault.
- No model is serving on :1920 (Apollo) or :8080 (Oracle --llm), so Apollo can only return an error and Oracle runs template mode only.
- ClearFeed stories.json is the example.com sample fixture, so all Oracle output is fake data.
- Apollo has not been mic-tested (Start was not clicked).
## 2026-10-17 — Search OS authenticity gate
The drafts were the one real defect in Phase 5: the Reddit post spoke as a *local resident* and the
Quora answer as an *industry expert*, both invented. Ported the gate into `search_os.py`:
- `apply_authenticity_gate()` classifies every draft by persona. `business_owner` / `brand` are
first-party (the business speaking as itself) → publishable. `local_resident` / `industry_expert`
are third-party → blocked unless named in `search_os/search_os_authorizations.json` with
`{"authorized": true, "person": "<real name>", ...}`.
- Report renders `✅ PUBLISHABLE` / `⛔ NOT PUBLISHABLE — <reason>` per draft, a gate summary line, a
"Blocked drafts — why" section with the JSON shape to unblock, and the publishing queue now reports
each draft's state instead of a static checklist.
- Verified on the `example.com` fixture: 2 of 4 publishable (GBP, YouTube), Reddit + Quora blocked.
Unit-checked both branches: an authorization record flips a block to publishable; `authorized: false`
keeps it blocked.
**Not done:** no real authorizations exist yet — the Reddit and Quora drafts stay blocked until a real
customer/expert is named. That is the correct default.