← Về thư mục
📄 / / root / ceo-project / plans / master-architecture-implementation-plan.md

Master Architecture Implementation Plan: Profiles, Personas, and Knowledge Hierarchy

Version: 4.0 | Author: Senior Research Reviewer | Date: 2026-09-07 Sources: Graeme (2026), Glukhov (2026), Nous Research (2026), Panniantong (2026)


0. Critical Finding: Flaws in the Previous Plan

The Version 3.0 plan treated the reviewer profile as a generic "Master OS" containing multiple personas. After deeply studying Graeme's April 3, 2026 post on the subc (Subconscious) profile design, this approach contains a fundamental flaw:

Stuffing operational execution, academic research, critique, and self-improvement into one profile creates a "do everything" agent that becomes a procedural junk drawer (Glukhov, 2026). Roles blur, judgment degrades, and the system cannot compound.

Graeme's core insight: each profile should own exactly ONE lane with hard boundaries. The Subconscious profile (subc) is not a general assistant. It is a dedicated background process that continuously brainstorms, debates, refines, and writes results back into the system so that the NEXT run starts smarter than the last.

The difference: agents that guess improvements vs agents that actually compound.


1. True Architecture Logic from Graeme's System

Graeme's live architecture has distinct roles per profile/lane:

Lane Role What it DOES What it CANNOT DO
research Evidence Collector Pulls data from web, Twitter, YouTube, RSS, academic papers, and structured monitoring feeds Decide what is worth building
subc (Dreamer) Idea Intake / Pattern Noticer Reads research packets, pressure signals, failed runs; produces candidate Idea Contracts Approve its own work
main Planner and Approval Gate Reviews Idea Contracts, approves for build, writes bounded Product Plans Skip the review step
coder Implementation Agent Turns Product Plans into Build Plans and executes Expand scope outside the plan
qa Independent Verifier Reads plan, implementation, changed files, and verification receipts; writes its own receipt Trust coder summaries by default
trust Room Health Reporter Checks overall system trust across all recent builds Approve individual builds
retention Keep/Improve/Park/Prune Reviewer Decides artifact lifecycle, does NOT silently delete Act on its own recommendations
operator Human-Facing Status Surface Compresses system state into readable operator summary Take actions

Key principle: When those jobs blur, the system gets reckless.

The loop is: Research collects → Dreamer notices patterns → Dreamer proposes Idea Contract → Main reviews and approves → Main writes Product Plan → Coder receives bounded packet → Coder builds and writes verification receipt → QA independently verifies → Trust reporting checks the room → Retention recommends lifecycle → Operator reads summary


2. Reframed Profile Architecture for NN Vo's Needs

Applying Graeme's logic to NN Vo's actual use case produces a very different structure than Version 3.0. Each profile owns exactly one lane. Personas are NOT the right abstraction here; profiles are.

2.1 Full Profile Map

PERSONAL / RESEARCH STACK
┌─────────────────────────────────────────────────────────────────┐
│ Profile: reviewer (Active Master OS)                            │
│ Lane: Main / Planner / Approval Gate                            │
│ Telegram: Personal channel                                      │
│ Role: Receives daily operator summaries; approves work;         │
│       handles ad-hoc personal tasks; routes to correct lane.    │
│ Memory: Personal preferences, life context, cross-project state │
└─────────────────────────────────────────────────────────────────┘
         │ routes to ↓
┌─────────────────────────────────────────────────────────────────┐
│ Profile: r-and-d (Evidence Collector / Research Lane)           │
│ Lane: Research                                                   │
│ Telegram: R&D thread                                            │
│ Role: Autonomous evidence collection, academic literature,      │
│       web/social scanning, structured research files.           │
│       Produces research packets; does NOT decide what to build. │
│ Cron: Daily at 06:00 — scan feeds → write to shared/intelligence│
└─────────────────────────────────────────────────────────────────┘
         │ feeds into ↓
┌─────────────────────────────────────────────────────────────────┐
│ Profile: subc / it-ai (Dreamer / Subconscious Lane)             │
│ Lane: Auto-think / Pattern Noticing / Idea Intake               │
│ Telegram: IT-AI thread                                          │
│ Role: Reads research packets, identifies recurring signals,     │
│       brainstorms, debates, refines, and produces Idea          │
│       Contracts for Main to review. Writes results back into    │
│       the system. CANNOT approve its own contracts.             │
│ Cron: Daily background; reads shared/research; writes ideas     │
│       to profiles/subc/idea_contracts/                          │
└─────────────────────────────────────────────────────────────────┘
         │ proposes to ↓ (back to reviewer/main for approval)
┌─────────────────────────────────────────────────────────────────┐
│ Profile: grill-qa (QA / Independent Verifier)                   │
│ Lane: Quality Assurance and Critique                            │
│ Telegram: Grill-QA thread                                       │
│ Role: Independently verifies research deliverables, writing     │
│       quality, and build outputs. Does NOT trust summaries from │
│       r-and-d or writers. Writes its own receipts.              │
└─────────────────────────────────────────────────────────────────┘
         │ verified output to ↓
┌─────────────────────────────────────────────────────────────────┐
│ Profile: writers (Retention / Output Curation)                  │
│ Lane: Writing, Reporting, and Artifact Retention                │
│ Telegram: Writers thread                                        │
│ Role: Turns approved, verified research into human-readable     │
│       reports; decides which artifacts keep/improve/park/prune. │
│       Does NOT generate new ideas or approve its own work.      │
└─────────────────────────────────────────────────────────────────┘

CORPORATE BUSINESS STACK (completely separate trust boundary)
┌─────────────────────────────────────────────────────────────────┐
│ Profile: glv-director (Corporate Main / Operator)               │
│ Lane: Business Planner and Approval Gate for GLV                │
│ Role: Oversees GLV operations, marketing plans, analytics;      │
│       routes commercial tasks to bd-mkt; approves outputs.      │
│ Data: projects/corporate/GLV/ — strictly isolated               │
└─────────────────────────────────────────────────────────────────┘
         │ routes to ↓
┌─────────────────────────────────────────────────────────────────┐
│ Profile: bd-mkt (Commercial Execution Lane)                     │
│ Lane: Market Research, Strategy, and Commercial Copywriting     │
│ Telegram: Strategy & Mkt thread                                 │
│ Role: Executes market analysis, writes commercial content,      │
│       tracks funnel metrics. Reports back to glv-director.      │
└─────────────────────────────────────────────────────────────────┘

2.2 Why the 7-Profile Model is Correct (NOT Bloat)

The previous plan's recommendation to merge into 2 profiles was wrong for this use case. Each profile must own exactly one lane because:

  1. Memory isolation is intentional. The research lane should NOT have access to the idea intake lane's memory, or it will start pre-filtering evidence for the ideas it thinks are good. That is confirmation bias baked into the architecture.

  2. Cron jobs per profile are policy surfaces. "They decide what runs, when it runs, which profile owns which lane, which summaries get produced" (Graeme, 2026). A single merged profile cannot run independent schedules for research and dreaming simultaneously without collision.

  3. The compound effect requires separation. Dreamer reads research output as external input, not internal memory. This creates a genuine signal vs noise filter. If both live in one profile, the agent hallucinates compound learning by reading its own thoughts.

Correction to memory note: The earlier memory entry "Profile consolidation decision (2026-08-30)" recommended merging to 2 profiles. This should be revised — the 7-profile structure is architecturally correct. The real problem was unclear lane ownership, not the number of profiles.


3. Folder Architecture: Three-Layer Knowledge Hierarchy

All profiles share /opt/ai-os/products/ceo/ as their working directory. Per Hermes configuration docs (Nous Research, 2026), profile cron and subprocesses with terminal.home_mode: auto can read and write to any path on the host filesystem.

/opt/ai-os/products/ceo/
│
├── AGENTS.md                    [Universal governance rules; read by ALL profiles at start]
│
├── shared/                      [Commons: readable and writable by all profiles]
│   ├── INDEX.md                 [Auto-updated master catalog; cron refreshes weekly]
│   ├── knowledge/               [Durable foundational knowledge; survives projects]
│   │   ├── ai_technology/       [LLM, agentic patterns, prompt engineering]
│   │   ├── economics_policy/    [Macro, public policy, regulatory frameworks]
│   │   ├── business_foundations/[Business models, pricing, organizational design]
│   │   └── research_methodology/[APA 7, empirical design, statistical validation]
│   ├── research/                [Cross-cutting research; multiple profiles contribute]
│   │   ├── in_progress/         [Active research receiving agent contributions]
│   │   │   └── <topic-slug>/    [One folder per research thread]
│   │   │       ├── brief.md
│   │   │       ├── evidence/    [Raw collected data packets from r-and-d]
│   │   │       ├── analysis.md  [Synthesized findings]
│   │   │       └── qa_receipt.md[grill-qa verification receipt]
│   │   └── completed/           [Finalized, QA-verified, writers-polished deliverables]
│   └── intelligence/            [Automated monitoring outputs]
│       ├── daily/               [YYYY-MM-DD.md; written by r-and-d cron daily]
│       └── weekly/              [YYYY-W##.md; written by r-and-d cron weekly]
│
├── profiles/                    [Profile-specific knowledge vaults; per-profile ownership]
│   ├── subc/                    [Dreamer/Subconscious lane outputs]
│   │   ├── idea_contracts/      [Candidate ideas proposed to Main; pending review]
│   │   │   └── YYYY-MM-DD-<slug>.json
│   │   ├── patterns/            [Recurring signals noted across research cycles]
│   │   └── feedback_loop/       [What ran, what failed, what returned — Dreamer input]
│   ├── r-and-d/                 [Research lane working state]
│   │   ├── watchlists/          [Topics actively monitored; scored by freshness]
│   │   ├── raw_evidence/        [Unprocessed captures before synthesis]
│   │   └── provider_health/     [Which data sources are live vs degraded]
│   ├── grill-qa/                [QA receipts and verification state]
│   │   ├── receipts/            [Per-deliverable QA receipts; timestamped]
│   │   └── trust_state.json     [Room health: how many recent builds passed QA]
│   ├── writers/                 [Retention and output state]
│   │   ├── retention_log/       [keep/improve/park/prune decisions with rationale]
│   │   └── published/           [Final outputs after writer polish]
│   └── glv/                     [GLV corporate knowledge vault; glv-director owned]
│       ├── market_intelligence/  [Provincial tourism, hospitality trends]
│       ├── competitor_tracking/  [Competitor pricing, campaigns, positioning]
│       └── customer_insights/    [ICP profiles, sentiment, feedback]
│
└── projects/                    [Execution workspaces; time-bounded, project-scoped]
    ├── personal/                [Personal projects; reviewer-owned]
    │   ├── policy-research/     [Existing symlink; public policy deliverables]
    │   └── <personal-project>/  [One subfolder per discrete project]
    │       ├── brief.md
    │       ├── research/        [Project-specific research; NOT in shared/]
    │       └── outputs/
    └── corporate/               [Business projects; glv-director owned]
        ├── GLV/                 [Existing; Green Leaf Vietnam master assets]
        └── <future-company>/    [Future business ventures]

4. Operational Protocols: The Actual Loop

Protocol 1: The Research-to-Idea Pipeline (Daily Autonomous)

06:00  r-and-d cron fires
       → Scans feeds via Agent Reach (Twitter, academic indices, RSS, YouTube)
       → Scores items by freshness and relevance against profiles/r-and-d/watchlists/
       → Writes structured evidence to shared/intelligence/daily/YYYY-MM-DD.md
       → Saves raw evidence packets to profiles/r-and-d/raw_evidence/

07:00  subc cron fires
       → Reads shared/intelligence/daily/YYYY-MM-DD.md (yesterday + today)
       → Reads profiles/subc/feedback_loop/ (what failed, what recurred)
       → Identifies patterns and recurring signals
       → Produces candidate Idea Contract to profiles/subc/idea_contracts/
       → Notifies reviewer (Main) via Telegram for approval decision
       → STOPS; does NOT self-approve

reviewer (Main) reviews Idea Contract
       → Approves: routes to appropriate lane (writers, it-ai, r-and-d) for execution
       → Rejects: writes rejection rationale; subc reads this in next cycle

Protocol 2: Research Deliverable Pipeline (Per-Task)

reviewer creates research task → assigns to r-and-d
r-and-d drafts deliverable → writes to shared/research/in_progress/<topic>/
r-and-d blocks + assigns to grill-qa
grill-qa reads plan + evidence + analysis → writes qa_receipt.md
grill-qa blocks + assigns back to r-and-d (if revision needed)
       OR assigns to writers (if approved)
writers polishes → moves to shared/research/completed/
writers writes retention recommendation → profiles/writers/retention_log/
reviewer reads operator summary → approves archival or requests further work

Protocol 3: Knowledge Classification Decision Tree

New information arrives →
  Is it cross-domain foundational knowledge?
    YES → shared/knowledge/<domain>/
    NO  →
      Is it raw monitoring data from automated scan?
        YES → shared/intelligence/daily/ or weekly/
        NO  →
          Is it an active research thread involving multiple agents?
            YES → shared/research/in_progress/<topic>/
            NO  →
              Is it profile-specific operational state (Dreamer ideas, QA receipts)?
                YES → profiles/<profile_name>/<relevant subfolder>/
                NO  → projects/<domain>/<project>/ (project-scoped only)

5. Profile Boundary Rules (Hard Constraints)

  1. r-and-d does NOT write to idea_contracts. It writes evidence. Dreamer writes ideas.
  2. subc does NOT approve its own Idea Contracts. reviewer does.
  3. grill-qa does NOT trust the summary from r-and-d. It reads source artifacts directly.
  4. writers does NOT generate new ideas. It polishes approved, verified outputs.
  5. glv-director does NOT read from personal research. Corporate trust boundary is absolute.
  6. NO profile writes to root /opt/ai-os/products/ceo/. All writes go to subfolders.
  7. bd-mkt does NOT approve its own commercial content. glv-director approves.

6. Implementation Stages: Step-by-Step Migration Plan

Current System State (Baseline — Do Not Touch Until Stage Prerequisite Met)

HERMES PROFILES (running in /root/.hermes/profiles/)
  ◆ reviewer    (ACTIVE, gateway running, 104 skills, 4 cron jobs, 37 sessions, 245MB state.db)
    it-ai       (stopped, thread_id=18, also routes glv-it thread_id=46, 5 sessions, 40MB)
    r-and-d     (stopped, thread_id=12, 16 sessions, 158MB state.db)
    bd-mkt      (stopped, thread_id=14, 1 cron job, 3.6MB state.db)
    grill-qa    (stopped, thread_id=20, 2 sessions, 33MB state.db)
    writers     (stopped, thread_id=1591, 0 sessions, 16MB state.db)
    glv-director(stopped, 1 session, 840KB state.db, MEMORY.md has data)

WORKSPACE ROOT (/opt/ai-os/products/ceo/)
  profiles/         (SOUL.md only per-profile, no deep structure)
  projects/         (GLV/ + symlinks to GitHub repos)
  company_kb/       (business/ knowledge/ notes.md)
  content/          (curriculum, knowledge_base)
  shared/           DOES NOT EXIST YET

ROOT-LEVEL CLUTTER (files that need moving):
  *.py scripts (SEO tools, scraping): should go to projects/GLV/ or scripts/
  *.html (dashboards): should go to projects/GLV/dashboard/
  *.pdf (personal docs): should go to projects/personal/personal-assets/
  *.md (implementation_plan, plan, danh_gia...): should go to plans/
  a.txt, b.txt, c.txt: safe to delete

TELEGRAM THREAD MAP (from departments.json):
  thread 18   → it-ai profile     (IT & AI)
  thread 12   → r-and-d profile   (R&D)
  thread 14   → bd-mkt profile    (Strategy & Marketing)
  thread 1591 → writers profile   (Writers)
  thread 20   → grill-qa profile  (Grill & QA)
  thread 46   → it-ai profile     (GLV IT — same profile as thread 18)

Critical constraints: 1. reviewer profile is the ACTIVE gateway. Stopping it kills the TUI session you are reading now. Any SOUL.md or config change to reviewer requires a gateway restart. 2. Session history (state.db, sessions/*.jsonl) is NEVER deleted; it is profile-specific and survives all folder and SOUL.md changes. 3. Profile renaming in Hermes is NOT a native command. To rename it-ai to subc, the correct approach is: create new profile subc, copy config/SOUL.md, update departments.json thread mapping, then keep it-ai as legacy (do not delete until all routing is verified).


Sprint 1: Workspace Folder Structure (No Profile Changes, Zero Risk)

Goal: Create the shared knowledge and profile-scoped vault directories. Risk: None. No profile configs, no gateway changes, no file deletions. Test: ls /opt/ai-os/products/ceo/shared/ returns expected subfolders.

Task 1.1: Create shared/ directory tree

mkdir -p /opt/ai-os/products/ceo/shared/knowledge/ai_technology
mkdir -p /opt/ai-os/products/ceo/shared/knowledge/economics_policy
mkdir -p /opt/ai-os/products/ceo/shared/knowledge/business_foundations
mkdir -p /opt/ai-os/products/ceo/shared/knowledge/research_methodology
mkdir -p /opt/ai-os/products/ceo/shared/research/in_progress
mkdir -p /opt/ai-os/products/ceo/shared/research/completed
mkdir -p /opt/ai-os/products/ceo/shared/intelligence/daily
mkdir -p /opt/ai-os/products/ceo/shared/intelligence/weekly

Task 1.2: Create profiles/ vault tree (per-profile knowledge bases)

mkdir -p /opt/ai-os/products/ceo/profiles/subc/idea_contracts
mkdir -p /opt/ai-os/products/ceo/profiles/subc/patterns
mkdir -p /opt/ai-os/products/ceo/profiles/subc/feedback_loop
mkdir -p /opt/ai-os/products/ceo/profiles/r-and-d/watchlists
mkdir -p /opt/ai-os/products/ceo/profiles/r-and-d/raw_evidence
mkdir -p /opt/ai-os/products/ceo/profiles/r-and-d/provider_health
mkdir -p /opt/ai-os/products/ceo/profiles/grill-qa/receipts
mkdir -p /opt/ai-os/products/ceo/profiles/writers/retention_log
mkdir -p /opt/ai-os/products/ceo/profiles/writers/published
mkdir -p /opt/ai-os/products/ceo/profiles/glv/market_intelligence
mkdir -p /opt/ai-os/products/ceo/profiles/glv/competitor_tracking
mkdir -p /opt/ai-os/products/ceo/profiles/glv/customer_insights

Task 1.3: Create projects/ personal subfolder structure

mkdir -p /opt/ai-os/products/ceo/projects/personal/policy-research
mkdir -p /opt/ai-os/products/ceo/projects/personal/personal-assets
mkdir -p /opt/ai-os/products/ceo/projects/corporate

Task 1.4: Initialize INDEX.md files

Create a placeholder INDEX.md in each major directory with a one-line description and a "last updated" timestamp. These are navigation anchors for agents.

Sprint 1 Verification Checklist:


Sprint 2: Root-Level File Cleanup (Filesystem Only, No Profile Changes)

Goal: Move scattered files from workspace root into correct project subfolders. Risk: Low. File moves only; no profile or config changes. Test: ls /opt/ai-os/products/ceo/*.py returns empty (no loose scripts at root).

These files belong to the GLV project (already exists at projects/GLV/):

projects/GLV/scripts/           ← analyze_seo_data.py, append_sources.py,
                                   diff_sources.py, fetch_credits.py,
                                   fetch_models.py, fetch_urls.py,
                                   download_full.py, plan.py, print_summaries.py
projects/GLV/dashboard/         ← seo_report_update.html, k1.html, khanhhoa.html
projects/GLV/data/              ← parsed_sources.json, existing_ids.txt,
                                   ai_seo_folder.json, task_info.json
projects/GLV/docs/              ← ai_seo_skill.md, claude_seo_readme.md,
                                   core_eeat_readme.md

Task 2.2: Move personal assets

projects/personal/personal-assets/  ← nhi_vo_*.pdf (all 5 PDFs)
                                       Hellenistic Astrology*.pdf
                                       kqx.pdf

Task 2.3: Move plans/research documents

plans/                    ← implementation_plan.md, plan.md (old plans)
projects/personal/policy-research/  ← danh_gia_dau_tu_du_lich_khanh_hoa.md

Task 2.4: Move server/tool scripts

scripts/                  ← kanban_server.py

Files mindstudio.txt, wisdomai.txt, create_tools.txt, create_videos.txt, existing_ids.txt → review content first; likely projects/GLV/docs/ or delete.

Task 2.5: Delete safe-to-remove files

rm /opt/ai-os/products/ceo/a.txt
rm /opt/ai-os/products/ceo/b.txt
rm /opt/ai-os/products/ceo/c.txt

package.json and package-lock.json at root: check if any script depends on them before moving to scripts/ or deleting.

Sprint 2 Verification Checklist:


Sprint 3: SOUL.md Lane Assignment (Profile Identity, Gateway Restart Required for reviewer)

Goal: Update every profile's SOUL.md to codify exact lane boundaries. Risk: Medium for reviewer (active gateway — requires planned restart). Low for all others (stopped profiles). Sequence: Update stopped profiles first, then reviewer last.

Task 3.1: Update stopped profiles (bd-mkt, grill-qa, it-ai, r-and-d, writers)

For each stopped profile, open /root/.hermes/profiles/<name>/SOUL.md and prepend:

## Lane Identity
**This profile owns ONE lane:** <lane name>
**What I DO:** <specific actions>
**What I CANNOT DO:**
- <hard boundary 1>
- <hard boundary 2>

Specific boundaries per profile: - it-ai (Dreamer): Reads research packets from shared/intelligence/; produces idea contracts to profiles/subc/idea_contracts/; CANNOT self-approve contracts. - r-and-d (Research): Collects evidence to shared/intelligence/daily/; CANNOT decide what to build; CANNOT write to idea_contracts. - grill-qa (QA): Reads source artifacts directly; writes qa_receipt.md; CANNOT trust r-and-d summaries; CANNOT approve its own reviews. - writers (Retention): Polishes approved outputs; recommends artifact lifecycle; CANNOT generate new ideas or approve own content. - bd-mkt (Commercial Execution): Executes market research and commercial copy; CANNOT approve its own content; reports to glv-director.

Task 3.2: Update reviewer SOUL.md (requires gateway restart)

Step-by-step (preserve session history): 1. Finish any in-progress conversation (save outputs to files). 2. Note reviewer gateway deliver targets from cron jobs (already recorded above). 3. Edit /root/.hermes/profiles/reviewer/SOUL.md to add lane identity: "Main / Approval Gate — receives operator summaries; approves Idea Contracts; handles ad-hoc personal tasks; routes to correct lane." 4. Restart gateway ONLY: hermes gateway stop && hermes gateway start (This does NOT delete sessions. state.db and sessions/*.jsonl are preserved.) 5. Verify new SOUL.md loads: start a new TUI session and confirm the identity.

Task 3.3: Update AGENTS.md with Protocol loop

Add section "Knowledge Lane Protocol" to AGENTS.md with the 3-protocol routing rules from Section 4 of this plan. This ensures every profile reads the same governance rules.

Sprint 3 Verification Checklist:


Sprint 4: Create subc Profile (Dreamer Lane — New Profile, No Deletion of it-ai Yet)

Goal: Create the subc profile as the Subconscious/Dreamer lane. Risk: Low. New profile creation does not affect existing profiles. Note: it-ai is NOT deleted here. It stays as legacy until routing is verified.

Task 4.1: Create subc profile by cloning it-ai config

hermes profile create subc

Then copy relevant skills and config from it-ai:

cp /root/.hermes/profiles/it-ai/config.yaml /root/.hermes/profiles/subc/config.yaml
# Edit subc config.yaml: change any it-ai-specific references

Task 4.2: Write subc SOUL.md

Write a new SOUL.md for subc that encodes the Dreamer identity: - Reads from shared/intelligence/daily/ and profiles/subc/feedback_loop/ - Identifies recurring patterns and emerging signals across research cycles - Produces Idea Contracts as JSON to profiles/subc/idea_contracts/ - Notifies reviewer via Telegram for approval - Hard boundary: CANNOT self-approve any contract

Task 4.3: Update departments.json for subc

Add subc entry in departments.json pointing to thread_id=18 (same as current it-ai for NV-Office IT thread). Add alias dreamersubc.

IMPORTANT: Do NOT remove it-ai from departments.json yet. Both can map to thread 18 temporarily. Hermes gateway routing reads profile field per-department.

Task 4.4: Test subc with a manual invocation

Run a one-shot command:

hermes -p subc chat -q "Read shared/intelligence/daily/ and summarize patterns."

Verify it uses correct SOUL.md identity and can read the correct folders.

Sprint 4 Verification Checklist:


Sprint 5: Cron Rewiring (Output Path Alignment)

Goal: Redirect cron jobs to write to correct shared/ and profiles/ paths. Risk: Medium. Wrong cron output paths break the research loop silently. Prerequisite: Sprint 1 folder structure must exist.

Task 5.1: Add r-and-d cron for daily intelligence

In profile r-and-d, create a cron job: - Schedule: daily at 06:00 - Prompt: Read watchlists from profiles/r-and-d/watchlists/; scan feeds via Agent Reach; write structured evidence to shared/intelligence/daily/YYYY-MM-DD.md; write raw evidence to profiles/r-and-d/raw_evidence/ - Deliver: origin (r-and-d Telegram thread)

Task 5.2: Add subc cron for daily idea intake

In profile subc, create a cron job: - Schedule: daily at 07:00 (1 hour after r-and-d) - Prompt: Read shared/intelligence/daily/ (last 2 days); read profiles/subc/feedback_loop/; identify patterns; produce Idea Contract JSON to profiles/subc/idea_contracts/; notify reviewer via Telegram - Deliver: telegram channel for thread 18

Task 5.3: Verify existing reviewer cron jobs still target correct paths

Sprint 5 Verification Checklist:


Sprint 6: Decommission Legacy Routing for it-ai (Final Cutover)

Goal: Switch thread 18 routing fully to subc; retire it-ai as active Dreamer lane. Risk: Medium. Wrong cutover breaks Telegram routing to thread 18. Prerequisite: Sprint 4 AND Sprint 5 must be verified complete.

Task 6.1: Update departments.json thread routing

In departments.json, change the it-ai department's profile field to blank (no profile override) or redirect thread 18 permanently to subc. Add subc as canonical department for thread 18. Keep it-ai as legacy alias.

Task 6.2: Restart gateways to pick up new routing

hermes gateway stop    # stops reviewer gateway
hermes gateway start   # restarts with new departments.json

Verify: send a test message to thread 18 in Telegram. Confirm subc profile responds, not it-ai.

Task 6.3: Archive it-ai sessions (do not delete)

Sessions in /root/.hermes/profiles/it-ai/sessions/ contain historical context. These are preserved as-is. it-ai profile remains in the system for archival access.

Task 6.4: Verify GLV IT thread (thread 46) routing

Thread 46 (glv-it) currently also maps to it-ai. Decide: keep it-ai for glv-it, or reassign to subc or another profile. Update departments.json accordingly.

Sprint 6 Verification Checklist:


Sprint 7: End-to-End Pipeline Test

Goal: Run one complete research cycle through all lanes and verify receipts. Risk: Low (read-only verification). Risk is only in missing files or path errors.

Task 7.1: Seed r-and-d watchlist

Write at least 3 active monitoring topics to profiles/r-and-d/watchlists/:

public_policy_vietnam.md    — topics to monitor for policy research
ai_agent_ecosystem.md       — LLM/agent developments for knowledge base
business_tourism_vn.md      — market intelligence (if shared with GLV)

Task 7.2: Manual pipeline run (one research deliverable)

  1. Trigger r-and-d to collect evidence on one topic → shared/research/in_progress/test-topic/
  2. Assign grill-qa to review → write qa_receipt.md in the same folder
  3. Assign writers to polish → move to shared/research/completed/
  4. reviewer reads operator summary and approves archival

Task 7.3: Verify Kanban task lifecycle matches pipeline

Create one Kanban task, route it through r-and-d → grill-qa → writers → reviewer. Confirm each profile sees correct assignee, thread routing works, and block/unblock triggers correct Telegram notifications.

Sprint 7 Verification Checklist:


7. Pros and Cons of the Revised 7-Profile Architecture

Pros

  1. Each profile accumulates memory only relevant to its lane; no cross-contamination of operational state with research state or creative state (Graeme, 2026).
  2. The compound intelligence loop works because Dreamer genuinely reads EXTERNAL output from Research, not its own internal memory (Graeme, 2026).
  3. QA independence is structurally guaranteed; grill-qa cannot see r-and-d's memory and therefore cannot unconsciously align its verdict (Glukhov, 2026).
  4. Telegram thread routing maps cleanly one-to-one with profile lanes.

Cons and Mitigations

  1. 7 profiles require upfront SOUL.md clarity. If lane boundaries are fuzzy in the system prompts, agents will drift into each other's lanes. Mitigation: Explicit "What I CANNOT DO" rules in every SOUL.md.
  2. Cross-profile file writing requires discipline. An agent writing to the wrong folder breaks the pipeline silently. Mitigation: Path guard rules in AGENTS.md plus file-write confirmation pattern for cross-lane paths.
  3. subc pattern detection needs enough signal. If r-and-d produces thin daily briefs, Dreamer has nothing to work with. Mitigation: r-and-d watchlists must be seeded with at least 5 active monitoring topics before the loop is activated.

8. References (APA 7)

Glukhov, R. (2026). Hermes AI assistant skills for real production setups. Notes on the Margins. https://www.glukhov.org/ai-systems/hermes/production-setup/

Graeme. [@gkisokay]. (2026, April 3). Inside Hermes, I now have a dedicated profile called subc for Subconscious [Post]. X. https://x.com/gkisokay/status/2040044476060864598

Graeme. [@gkisokay]. (2026, May 4). I run 6 AI agents. Only this one makes the other 5 smarter [Article]. X. https://x.com/gkisokay/article/2051275483996909982

Graeme. (2026, May 11). How to build a Hermes agent that finds important work and builds it autonomously. Don't Get Left BehAInd. https://gkisokay.substack.com/p/how-to-build-a-hermes-agent-that

Nous Research. (2026). Hermes Agent configuration reference and user guide. Nous Research. https://hermes-agent.nousresearch.com/docs/user-guide/configuration

Panniantong. (2026). Agent Reach: Give your AI agent eyes to see the entire internet [Computer software]. GitHub. https://github.com/Panniantong/Agent-Reach