{
  "schemaVersion": 1,
  "updated": "2026-09-28",
  "release": "satcom-priorities-evidence-2026-09-28",
  "site": "https://satcom.conews.press",
  "name": "SATCOM",
  "purpose": "Publishing operations for the CoNews network",
  "commercialPlatform": {
    "name": "Partners in the Community",
    "role": "Primary advertising and sponsorship platform",
    "url": "https://thevillager.today/partners",
    "next": "Approve offers, establish placement inventory and measure fulfillment."
  },
  "architecture": [
    {
      "layer": "Operator interface",
      "source": "idigitalpro1/copress-dashboard",
      "implementation": "Static HTML, CSS and browser JavaScript on the existing Vercel copress-dashboard project."
    },
    {
      "layer": "Operations context MCP",
      "source": "/mcp",
      "implementation": "Stateless Streamable HTTP; read-only tools, resources and prompts from an explicit public content allowlist. No credentials or operational records."
    },
    {
      "layer": "Canonical operations documentation",
      "source": "idigitalpro1/codex",
      "implementation": "Private repository for cross-system decisions, release evidence, priorities and the 2026 business plan. Public context here is a curated summary, not a replacement."
    },
    {
      "layer": "Existing integration boundary",
      "source": "/apistore and /console/api/hermes/*",
      "implementation": "API Vault is browser-local. The Hermes proxy points to codex.conews.press; its upstream health is not asserted by MCP health. Local Ace tools require separate host identity and authorization."
    }
  ],
  "routes": [
    {
      "path": "/",
      "name": "SATCOM dashboard",
      "scope": "Operator cards and launchers"
    },
    {
      "path": "/codex",
      "name": "Development and prompts",
      "scope": "Architecture, priorities, public guidance and MCP connection"
    },
    {
      "path": "/kanban",
      "name": "Development Kanban",
      "scope": "Reviewed shared development cards, evidence and next actions"
    },
    {
      "path": "/docs",
      "name": "Documentation hub",
      "scope": "Browser-local documentation library"
    },
    {
      "path": "/network",
      "name": "Network HQ",
      "scope": "Publication and service directory"
    },
    {
      "path": "/newsletter",
      "name": "Newsletter workbench",
      "scope": "Preparation; delivery requires a separately configured provider and authorization"
    },
    {
      "path": "/apistore",
      "name": "API Vault",
      "scope": "Browser-local credential reference; not a server-side connection"
    },
    {
      "path": "/learn",
      "name": "SATCO Academy",
      "scope": "Learning cards"
    },
    {
      "path": "/linear",
      "name": "Linear workbench",
      "scope": "Integration depends on its own configured access"
    },
    {
      "path": "/mcp",
      "name": "Operations MCP",
      "scope": "Public read-only context; POST"
    },
    {
      "path": "/api/health",
      "name": "MCP health",
      "scope": "This service only; does not measure upstream systems"
    },
    {
      "path": "/api/development-board",
      "name": "Reviewed development board API",
      "scope": "Read-only allowlist from existing Admin Kanban; explicit dated snapshot on upstream failure"
    }
  ],
  "priorities": [
    {
      "rank": 1,
      "title": "Protect source of truth and traceable releases",
      "owner": "Technical lead",
      "due": "Every release",
      "status": "Ongoing; September 27 releases recorded",
      "next": "Keep each app commit, review, deployment, validation and rollback in the canonical operations repository. Preserve the distinction between preview, live release and delivery.",
      "evidence": {
        "date": "2026-09-27",
        "label": "Canonical status",
        "url": "https://github.com/idigitalpro1/codex/blob/main/CURRENT_STATUS.md"
      }
    },
    {
      "rank": 2,
      "title": "Promote Partners in the Community",
      "owner": "Publisher and commercial lead",
      "due": "Original target: 2026-09-18; completion unverified",
      "status": "Promotion released September 7; commercial approval unverified",
      "next": "Confirm the approved offer sheet, verified paying sponsors, placement capacity and fulfillment measures. Directory listings are not paid-sponsor evidence.",
      "evidence": {
        "date": "2026-09-07",
        "label": "Approved priority plan",
        "url": "https://github.com/idigitalpro1/codex/blob/main/TOP_10_DEVELOPMENT_PRIORITIES.md"
      }
    },
    {
      "rank": 3,
      "title": "Verify Villager news discovery and reader journeys",
      "owner": "Technical lead and editor",
      "due": "Original target: 2026-09-14; indexing follow-up open",
      "status": "September 27 editorial release recorded; indexing unverified",
      "next": "Verify Search Console indexing and archive, events, contact and search journeys. Review the temporary Hall of Fame homepage priority before it expires October 5.",
      "evidence": {
        "date": "2026-09-27",
        "label": "Villager release record",
        "url": "https://github.com/idigitalpro1/codex/blob/main/ops/2026-09-27-villager-sept-24-hof-owner-share.md"
      }
    },
    {
      "rank": 4,
      "title": "Make editorial freshness and unique images repeatable",
      "owner": "Managing editor",
      "due": "Original target: 2026-09-25; repeatable workflow unverified",
      "status": "Aspen October edition released; recurring image workflow unverified",
      "next": "Confirm or replace inherited Aspen media rights. Keep original dates and attribution; generate, inspect, persist and label a story-specific illustration when no unique licensed photo exists.",
      "evidence": {
        "date": "2026-09-27",
        "label": "Multisite release review",
        "url": "https://github.com/idigitalpro1/codex/blob/main/ops/2026-09-27-multisite-release-review.md"
      }
    },
    {
      "rank": 5,
      "title": "Protect renewal revenue and reconciliation",
      "owner": "Circulation and finance",
      "due": "September 2026",
      "status": "Reconciliation and fulfillment evidence still required",
      "next": "Keep printed QR destinations and approved prices stable. Verify the canonical subscriber Sheet, provider events and fulfillment before claiming a paid renewal, synchronization or mailing.",
      "evidence": {
        "date": "2026-09-27",
        "label": "Renewal and distribution gates",
        "url": "https://github.com/idigitalpro1/codex/blob/main/ops/2026-09-27-multisite-release-review.md"
      }
    },
    {
      "rank": 6,
      "title": "Finish the shared platform configuration",
      "owner": "Technical lead",
      "due": "September–October 2026",
      "status": "Vercel restoration recorded September 12; platform proof open",
      "next": "Recheck myappstore.biz identity and TLS against the restored Vercel hosting record, then prove reusable publishing configuration. The earlier TLS failure is historical evidence.",
      "evidence": {
        "date": "2026-09-12",
        "label": "Hosting restoration record",
        "url": "https://github.com/idigitalpro1/codex/blob/main/AWS_DARK_FALLBACKS.md"
      }
    },
    {
      "rank": 7,
      "title": "Make SATCOM and its development entry point dependable",
      "owner": "Operations lead",
      "due": "September 2026",
      "status": "Newsletter Studio released; board and metrics remain limited",
      "next": "Refresh dated board evidence and event data; replace default marketing counts with provider-backed records. Verify /codex and an MCP call separately from upstream services.",
      "evidence": {
        "date": "2026-09-27",
        "label": "SATCOM release and limitations",
        "url": "https://github.com/idigitalpro1/codex/blob/main/ops/2026-09-27-multisite-release-review.md"
      }
    },
    {
      "rank": 8,
      "title": "Prove 5280.menu as the reference implementation",
      "owner": "Product and technical lead",
      "due": "October 2026, after shared platform and SATCOM gates",
      "status": "September 27 review: remediation required; expansion gated",
      "next": "Prepare a rollback-backed 5280.menu release from current main: refresh stale news, restore missing discovery and reader routes, and verify the complete release manifest before deployment.",
      "evidence": {
        "date": "2026-09-27",
        "label": "5280.menu remediation record",
        "url": "https://github.com/idigitalpro1/codex/blob/main/ops/2026-09-27-multisite-release-review.md"
      }
    },
    {
      "rank": 9,
      "title": "Deliver a dependable Thursday publishing workflow",
      "owner": "Editorial and circulation",
      "due": "September–November 2026",
      "status": "September 24 issue and email drafts ready; no campaign sent",
      "next": "Verify the live Sendy endpoint, exact opted-in lists, suppression state and sender identities. Review one proof per publication, obtain final campaign approval, then record provider acceptance separately from inbox delivery.",
      "evidence": {
        "date": "2026-09-27",
        "label": "Weekly distribution review",
        "url": "https://github.com/idigitalpro1/codex/blob/main/ops/2026-09-27-multisite-release-review.md"
      }
    },
    {
      "rank": 10,
      "title": "Expand only after quality and delivery gates pass",
      "owner": "Publisher",
      "due": "November–December 2026 review",
      "status": "Held behind platform, editorial and delivery gates",
      "next": "Keep the 13 town sites and eight guide hubs staged until reference-site checks, editorial ownership, substantive reporting, viable inventory and support capacity are demonstrated.",
      "evidence": {
        "date": "2026-09-07",
        "label": "Expansion gates",
        "url": "https://github.com/idigitalpro1/codex/blob/main/TOP_10_DEVELOPMENT_PRIORITIES.md"
      }
    }
  ],
  "boundaries": [
    "Verify the actual operator host and authorized connection before server work. Local paths and loopback addresses identify that host; public HTTPS access does not prove remote shell access.",
    "SATCOM mission control remains under development. Direct model prompts are the primary workflow. GUI development for news, activity and town sites is as important as content. Headless-only constraints apply to the PDF-to-WordPress pipeline, not publication GUI development.",
    "Work directly; do not delegate or spawn other agents.",
    "Partners in the Community is the primary advertising and sponsorship platform. Directory listings are not verified paying sponsors or outreach permission.",
    "The MCP service supplies public context only. It cannot deploy, retrieve secrets, access subscriber records, send messages or operate telephony.",
    "A health response proves this context service is responding, not that Ace, Hermes, a payment provider or publishing pipeline is connected.",
    "conews.press/codex is a different route from satcom.conews.press/codex. Its recorded September 7 failure has not been rechecked by this priorities refresh.",
    "Package prices and sales targets in the 2026 plan are proposals until approved. Do not publish them as offers or actual results."
  ],
  "operatorPolicy": {
    "updated": "2026-09-07",
    "primary": "astra",
    "fallbackOrder": [
      "claude",
      "grok",
      "cursor",
      "hermes"
    ],
    "mode": "operator-controlled handoff",
    "maxActiveExecutors": 1,
    "automaticDispatch": false,
    "rule": "Work directly. Stop or confirm the prior executor has ended before switching. A timeout alone does not prove a job stopped. Carry one task packet and its completed work forward; do not restart the entire task. The operator is on a remote laptop without a server connection; verify the actual host before server work.",
    "operators": [
      {
        "id": "astra",
        "name": "GPT-6 Astra in Codex",
        "role": "Primary",
        "model": "gpt-6-astra",
        "status": "Configured primary; Codex MCP verified",
        "availableForHandoff": true,
        "connection": "Codex SATCOM MCP registered and SDK tool calls verified. Public SATCOM does not invoke a paid model API.",
        "command": "codex -m gpt-6-astra",
        "next": "Open the intended repository in Codex, select GPT-6 Astra, and use one current task packet."
      },
      {
        "id": "claude",
        "name": "Claude",
        "role": "Fallback 1",
        "model": null,
        "status": "Connected — four SATCOM tools discovered",
        "availableForHandoff": true,
        "connection": "Claude native remote connector connected to SATCOM and displayed all four read-only tools on the remote laptop. Desktop Commander startup repair is a separate local check.",
        "command": null,
        "next": "Read the Astra prompt and one relevant Kanban card, then continue the approved next step."
      },
      {
        "id": "grok",
        "name": "Grok Bot",
        "role": "Fallback 2",
        "model": null,
        "status": "Grok CLI MCP verified; Bot app unverified",
        "availableForHandoff": true,
        "connection": "Grok CLI 1.0.5 passed SATCOM MCP handshake and discovered four tools. Grok Bot is a separate Cursor application; its launch inspection timed out. No model task was dispatched.",
        "command": "grok",
        "next": "Confirm the Grok Bot app is accessible, or use the verified Grok CLI context connection; confirm model access before taking over."
      },
      {
        "id": "cursor",
        "name": "Cursor",
        "role": "Fallback 3",
        "model": null,
        "status": "MCP configured; native discovery pending",
        "availableForHandoff": true,
        "connection": "SATCOM added to the local Cursor MCP configuration; pre-existing servers preserved. OpenAI/Claude models enabled in the picker; custom API key fields empty.",
        "command": null,
        "next": "Open the intended repository in Cursor and confirm SATCOM tools in Customize. Use existing authorized model access."
      },
      {
        "id": "hermes",
        "name": "Hermes 2.0",
        "role": "Fallback 4",
        "model": null,
        "status": "Blocked — host and version unverified",
        "availableForHandoff": false,
        "connection": "SATCOM Hermes health/models proxy timed out; local port 8793 refused connection. No Hermes CLI or installation found on this Mac. Ace is offline.",
        "command": null,
        "next": "Restore and identify the intended Hermes host, verify the 2.0 installation and model, then register SATCOM MCP and verify a read-only tool call."
      }
    ]
  }
}
