Unclassified

IntegrateWise — 4-Day Consolidation Report

Status: HISTORICAL MAY 2026 SNAPSHOT. MCP counts, D1 paths,
auto-approval and live-environment claims below require current evidence and
cannot override the frozen architecture.

Period: May 8–12, 2026
Author: Hermes Agent (Operator)
Status: LIVE ENVIRONMENT — all changes require PR + approval


1. MCP Servers — CURRENT STATE

131 MCP tools available after reload (May 12 07:45 AM session)

ServerTransportStatusNotes
integratewise-mcp-connectorHTTP (CF Worker)✅ Connected12 tools: kb., figma.
google-workspaceStdio (npx)🔄 ReconnectedNeeds @dguido/google-workspace-mcp — verify env vars
spineDbStdio (npx)🔄 Reconnected@spineDb/mcp-server-spineDb@latest
codaNEW — Stdio (npx)✅ Addedcoda-mcp npm package (fix for HTTP 401)

Coda Fix Applied

Previous config used url: https://coda.io/apis/mcp with Bearer token → always 401 (OAuth2 required). Switched to stdio transport via coda-mcp npm package:

mcp_servers:
  coda:
    command: npx
    args: ["-y", "coda-mcp"]
    env:
      CODA_API_KEY: "your-uuid-key-here"
    timeout: 120

2. Adaptive Spine — HEALTH CHECK

All 12 workers healthy (as of CF Wire Status, May 9):

ServiceWorker NameHealth StatusNotes
mcp-connectorintegratewise-mcp-connector✅ 200v2.0.0-semantic, 12 tools
actintegratewise-act✅ 200
connectorintegratewise-connector✅ 200
gatewayintegratewise-gateway✅ 200
thinkintegratewise-think✅ 200⚠️ Check config (per AGENTS.md)
knowledgeintegratewise-knowledge✅ 200
normalizerintegratewise-normalizer✅ 200
billingintegratewise-billing✅ 200
loaderintegratewise-loader⚠️ 404/health not found; uses /
workflowintegratewise-bff✅ 200
governintegratewise-govern✅ 200
pipelineintegratewise-pipeline✅ 200

⛔ CF Access — 403 BLOCKED

Direct HTTP to pipeline worker returns 403. Service token in ~/.iw/secrets.env exists but is NOT whitelisted in CF Access Application Policy. This blocks:

  • Continuity scripts (session read/write to Spine)
  • Any external Spine read/write from Hermes
  • Token helper works but HTTP calls fail at CF Access layer

Fix required: CF Dashboard → Zero Trust → Access → Applications → connect-a1b.workers.dev → Add Service Auth rule.

⛔ Wrangler — NOT AUTHENTICATED

  • No OAuth session (wrangler whoami fails)
  • No CLOUDFLARE_API_TOKEN set
  • Can't deploy, can't inspect secrets store
  • Fix: wrangler login or create API token at dash.cloudflare.com

3. Governance Layer — FULL AUDIT

What's Built (all in services/govern/)

ComponentFileLinesStatus
API Routesindex.ts630✅ Complete
Types & Schemastypes.ts136✅ Complete
Policy CRUD + Enginepolicies.ts370✅ Complete
Workflow (approve/reject/pending)workflow.ts239✅ Complete
Governance Rules Enginegovernance-engine.ts483✅ Complete
Audit + HMAC Signaturesaudit.ts265✅ Complete

Architecture (verified from code)

Signal (Think) → persist action_proposal → actions table (pending_approval)
     ↓
Govern: POST /v1/check → policy matching (wildcards + roles + evidence) → allow/deny/auto-approve
     ↓
HITL: GET /v1/pending → UI review (PendingApprovalsCard + ApprovalModal)
     ↓
Act: POST /v1/approve or /v1/reject → update actions status → signed audit entry
     ↓
Execute: Act service verifies approval_token → connector execution → pipeline re-ingestion
     ↓
Learn: Think receives outcome feedback → pattern extraction → decision_memory

Issues Found

  1. Zero policies seeded — governance_policies table exists (migration present) but has no production entries. canExecute() returns allowed: true for everything.
  2. Default rules are in-memory only — PII redaction, credit card masking, PII flagging exist in defaultRules array but are NOT persisted to governance_rules table.
  3. No enforcement in production — approval workflow is structurally complete but ungoverned.
  4. SIGNATURE_KEY unknown — audit entries use HMAC-SHA256 signing; secret must be in CF secrets store (can't verify without wrangler auth).

Act Service (services/act/) — FULLY IMPLEMENTED ✅

476 lines, complete implementation with:

  • Dual path: HITL (action_id) + Think (action_proposal_id)
  • Mandatory approval token validation
  • Governance double-check via service binding
  • Connector execution with re-ingestion through pipeline
  • Outcome feedback to Think for learning loop
  • Engagement log writes to Spine DB
  • Full audit trail (D1 edge cache)

4. Think Service (services/think/) — 1258 lines

Capabilities

  • Signals API — /v1/signals — query spine signals by tenant + band
  • Success Intelligence — /v1/success/intelligence — domain-specific signal routing across 9 routes (renewals, risks, support, usage, technical health, tasks, stakeholders, integrations, AI insights)
  • Analyze — /v1/think/analyze — on-demand entity analysis via SignalEngine
  • Accelerators — 6 endpoints: health-score, churn-prediction, revenue-forecast, pipeline-velocity, nps-analysis, data-quality
  • Summarize — /v1/summarize — AI-powered session summarization (OpenRouter fallback)
  • Extract Patterns — /v1/extract-patterns — recurring pattern detection
  • Decisions — /v1/decide — manual decision recording to D1
  • Twin 360 — /v1/twin/360/:entityId — entity 360 + trigger evaluation
  • Queue Handler — processes async events, persists HITL actions to Spine DB

Python Intelligence (REMOVED — May 27, 2026)

  • All PYTHON_INTELLIGENCE_URL references removed. SignalAnalyzer (TypeScript-native) is the canonical replacement, exported from @integratewise/types.
  • ZERO PYTHON rule fully enforced — services/intelligence/src/python-client.ts deleted. All workers import from @integratewise/types.

5. Workflow Service (services/workflow/)

Live Endpoints Verified

  • Workspace initialization, tenant config, knowledge-read-policy, AI context URLs
  • Connector registration, dashboard, projections, readiness
  • HITL queue (Durable Object), signal stream, presence, rooms
  • Python analyze proxy (same legacy concern as Think)

6. Pipeline Service (services/pipeline/)

CRITICAL: Only service with Spine write credentials. Merges normalizer (8-stage) + spine-v2 (SSOT reads/writes). Consumes: PIPELINE_QUEUE, KNOWLEDGE_QUEUE, ACCELERATOR_QUEUE, INTELLIGENCE_QUEUE, DLQ_QUEUE, SIGNAL_QUEUE.


7. Git Status — Uncommitted Changes

Modified (must commit or stash before deploy)

M  .gitignore
M  AGENTS.md
M  apps/web/package.json
M  packages/webhooks/src/worker.ts
M  packages/webhooks/wrangler.toml
M  pnpm-lock.yaml
M  services/mcp-connector/src/index.ts
M  services/mcp-connector/wrangler.toml
M  services/spine-v2/src/index.ts

Untracked (new files)

?? .envrc
?? .hermes/
?? .tool-versions
?? docs/HERMES_CONTINUITY_CONSTITUTION.md
?? docs/PARALLEL_CONTINUITY_ORCHESTRATION.md
?? docs/SECONDARY_MAC_NODE_PLAN.md
?? docs/design/KIRO_CONTEXT_TRANSFER_LG.md
?? docs/design/PLATFORM_AND_PRODUCT_PAGE_SPEC.md
?? docs/design/SITE_CONNECTIVITY_SPEC.md
?? docs/design/THREE_FLOWS_VISUAL_SPEC.md
?? docs/operations/CF_WIRE_STATUS.md
?? docs/product/ADAPTIVE_SYSTEM.md
?? docs/product/INDUSTRIES_AND_ROLES.md
?? packages/api/src/knowledge-sync.ts
?? packages/spineDb/migrations/030_hermes_continuity.sql
?? scripts/capture-auth-shots.mjs
?? scripts/capture-drawer-detail.mjs
?? scripts/capture-home-sections.mjs
?? scripts/capture-live-site.mjs
?? scripts/capture-loom.mjs
?? scripts/capture-twin-layer.mjs
?? scripts/capture-unauth-shots.mjs
?? scripts/knowledge-write.ts
?? services/iw-adk-agent/
?? services/mcp-connector/src/handlers/coda-proxy.ts
?? services/spine-v2/migrations/
?? spineDb/migrations/20260510100000_continuity_objects.sql

8. Cron Jobs

JobScheduleStatusNotes
iw-memory-triage (85b6b37d)9:00 AM IST daily (0 9 * * *)✅ RunningScript mode, no agent. Last run OK (May 12 06:10)
IW Daily Ops Briefing (e78cb491)10:30 AM IST daily (30 10 * * *)✅ RunningClaude Sonnet 4.6 via Copilot. Delivers to Telegram @IWHermesOpsBot (telegram:5753113905)

9. Prioritized Action List

🟢 RESOLVED (May 12)

#ActionOwnerStatus
1CF Access: whitelist service token for connect-a1b.workers.devNirmal (CF dashboard)✅ Fixed
2Wrangler auth: wrangler login or API tokenNirmal✅ Fixed

🟡 HIGH

#ActionOwnerBlocker
3Coda MCP config — verify coda-mcp npm package worksHermesAlready added to config, needs validation
4Deploy updated services (mcp-connector, spine-v2, webhooks)Needs wrangler auth firstUncommitted changes
5Seed governance policies in production DBNeeds wrangler auth firstZero policies configured
6Fix gateway.integratewise.ai DNS CNAMENirmal / DNSCustom domain not resolving
7Add GitHub Copilot provider — run hermes auth add copilot OAuth flowNirmalOAuth device code needed
8Add OpenCode provider — signup at opencode.ai, set OPENCODE_ZEN_API_KEY or OPENCODE_GO_API_KEYNirmalAccount + API key needed

🟠 MEDIUM

#ActionOwnerBlocker
7Update daily briefing cron → deliver to Telegram @IWHermesOpsBot chatHermesCron working but target wrong
8Verify services/iw-adk-agent/ — intent and implementationDev teamEmpty/unfinished
9Replace PYTHON_INTELLIGENCE_URL fallbacks with TSDev team✅ DONE — SignalAnalyzer in @integratewise/types, zero Python
10Verify HITL UI components (PendingApprovalsCard, ApprovalModal) implementedFrontend teamArchitecture docs say wired, code unverified
11Commit/stash git changes before any deployDevDirty working tree

🔵 LOW

#ActionOwner
12Add elias MCP server (if needed)Hermes
13Review loader service 404 on /healthDev
14Document continuity scripts usage in ACTIVITY_LOG.mdHermes

10. Key Decisions (from conversations)

  1. Model selection: Claude Sonnet 4.6 confirmed as active model via Copilot provider (changed from Kimi, Mimo)
  2. Coda integration: stdio via coda-mcp npm package (not HTTP endpoint — OAuth2 blocker)
  3. Hermes role: Orchestrator ONLY — never executor. HITL mandatory for production/financial actions
  4. Spine truth: CF Adaptive Spine = canonical. Firestore = monitoring mirror. Never write to Firestore as truth.
  5. Language: ZERO Python. TypeScript only across all services, scripts, and automation.

Generated: May 12, 2026 — next update on action completion