Skip to main content

Completeness Protocol (ZAKON #11)

ZAKON #11 — Completeness Protocol

NIKAD "evo cijela slika" bez POTPUNE slike.

Date: 2026-02-24 Origin: Alem repeatedly had to say "nemaš cijelu sliku" 3+ times before John gathered all data. Root cause: 67 hooks enforce code/deploy/sync verification but ZERO enforce information completeness in CEO briefings.


Rule

Before ANY briefing, status update, or email summary to CEO:

  1. Check ALL sources — not just the first one that returns results
  2. NEVER present partial data as complete — "evo šta imam do sad" ≠ "evo cijela slika"
  3. Explicitly state known unknowns — what you COULD NOT check and why
  4. Read previous session context — when CEO asks about past topics, FIRST read session logs

Briefing Completeness Checklist

Before answering ANY CEO question about status, emails, people, or follow-ups:

# Source Command Required?
1 Email — john mail-native.js unread --account john + sent --account john YES
2 Email — info mail-native.js unread --account info + sent --account info YES
3 Email — alem mail-native.js unread --account alem + sent --account alem YES
4 Email — alai mail-native.js unread --account alai + sent --account alai YES
5 Email — dev mail-native.js unread --account dev + sent --account dev YES
6 MC tasks — Alem's mc.js list --owner alem --status open YES
7 MC tasks — Blocked mc.js list --status blocked YES
8 Session logs session-search.sh topic <topic> or keyword <keyword> When topic-specific
9 HiveMind hivemind.js query "<topic>" or semantic-query "<topic>" When topic-specific
10 Email briefing ~/system/logs/email-briefing-latest.md YES

Shortcut: node ~/system/tools/ceo-briefing.js --full runs ALL of the above.


"Known Unknowns" Protocol

EVERY briefing MUST end with a "Known Unknowns" section:

## Known Unknowns
- [source I couldn't check] — [why]
- [information gap] — [what would resolve it]

If all sources were checked: ## Known Unknowns: None — all sources checked.


Session Context Rule

When CEO asks about something from a previous session:

  1. FIRST run session-search.sh topic "<topic>" or keyword "<keyword>"
  2. READ the relevant session file(s)
  3. THEN check current state (emails, MC tasks)
  4. Present: What we discussed → What changed since → Current state

CEO Briefing Output Format

Use the structured format from ceo-briefing.js:

# CEO Briefing — {date} {time}

## DECISIONS NEEDED (your call required)
## ACTION REQUIRED (only you can do this)
## WAITING FOR (sent, no response yet)
## COMPLETED SINCE LAST SESSION
## OPEN THREADS (context from previous sessions)
## KNOWN UNKNOWNS

Anti-Patterns (NEVER do these)

  1. "Provjerio sam email" → Which account? ALL accounts? Inbox AND sent?
  2. "Nema ništa novo" → Checked where? When? All 5 accounts?
  3. "Evo cijela slika" → Did you check sessions, HiveMind, MC tasks, ALL emails?
  4. Answering from memory → ALWAYS verify with tools. Memory is unreliable across sessions.
  5. Checking 1-2 accounts → ALL 5 accounts (john, info, alem, alai, dev) or explicit statement about what was skipped

Enforcement

  • Hook: briefing-completeness in universal-post-dispatcher — warns when only 1-2 email accounts checked
  • Tool: ceo-briefing.js — deterministic all-source sweep
  • Boot: Quick context sweep runs on every session start

Ljestvica (ZAKON #1)

This is a RULE + TOOL + HOOK fix (3 layers):

  • Rule: This document (behavioral standard)
  • Tool: ceo-briefing.js (makes completeness easy)
  • Hook: briefing-completeness (enforcement reminder)