Skip to content

chore(parity): Surface 6 audit — pending_ports + narrative + 035 forward-ref annotation#96

Merged
mikemolinet merged 1 commit into
mainfrom
chore/surface-6-parity-audit
May 19, 2026
Merged

chore(parity): Surface 6 audit — pending_ports + narrative + 035 forward-ref annotation#96
mikemolinet merged 1 commit into
mainfrom
chore/surface-6-parity-audit

Conversation

@mikemolinet
Copy link
Copy Markdown
Collaborator

Summary

  • Step 1 of the Surface 6 parity audit per cue-pm GREENLIGHT msg_7enby3btpl6v
  • New pending_ports section in parity-manifest.json with the Surface 6 coverage matrix
  • New docs/parity-status.md narrative reference (how to evaluate "is feature X in cueapi-core?")
  • Clarifying annotation on alembic 035's delivery_mode_requested='ipc' forward-reference (NOT a bug — verified empirically)

Context

Surface 6 = sender-controlled push delivery (MessageCreate.delivery_mode = 'live' | 'bg' | 'inbox' | 'webhook' | 'auto') with substrate-side capability check + cascade fallback + bridge to recipient's live_cue_id / bg_cue_id. Load-bearing primitive for Dock's Phase 1 rebuild per Jingim's directional read (msg_vzs6a1t5oii5 2026-05-19).

This is the audit-PR ONLY — substrate migration + wire-shape + bridge logic ship in Steps 2-4 (3 follow-on PRs). Steps 2-4 are held pending Jingim's Phase 1 plan signal; the 4-PR cut shape is locked here.

What's NOT in this PR

  • No model changes
  • No schema changes
  • No migration files
  • No service-layer changes
  • No test additions

This is documentation + tracking only. Steps 2-4 land the actual port.

Empirical findings worth surfacing

  1. Foundations are there: cueapi-core already has event-emit primitive, messaging emission wiring, long-poll mode, agent_live_sessions schema + IPC attachment, heartbeat + live-claim attestation. What's missing is the sender-controlled SELECTOR + capability resolver + bridge logic.

  2. alembic 035 forward-reference verified: docstring references delivery_mode_requested='ipc' which is a column NOT yet present in cueapi-core. Verified by reading the migration's upgrade() body — only adds columns to agent_live_sessions, none to messages. The ASYNC fire-accept dispatcher path is dormant until Surface 6 is ported. NOT a bug; the migration is consistent with what it adds.

  3. Backlog state correction surfaced via the audit: cue-pm's Backlog row cmorg8e3f marked PR #619 (notify/BCC) as SHIPPED in cueapi-core, but no corresponding PR exists. cue-pm corrected the row to proposed 2026-05-19 01:55Z (msg_7enby3btpl6v).

Test plan

  • CI green on chore/surface-6-parity-audit branch
  • jq empty parity-manifest.json returns success (JSON valid)
  • jq '.pending_ports.surface_6_delivery_mode | keys' parity-manifest.json returns the expected 10 keys
  • docs/parity-status.md renders cleanly in GitHub's markdown preview
  • alembic 035 docstring's new annotation block reads cleanly

Audit context

  • KICKOFF: msg_sq6h2fcwseiu (cue-pm, 2026-05-19 01:38Z)
  • Scope-narrow: msg_u7x0f649gjro (cue-pm, 2026-05-19 01:48Z)
  • Audit findings: msg_410i80bctfox (cueapi-secondary, 2026-05-19 ~02:00Z)
  • GREENLIGHT: msg_7enby3btpl6v (cue-pm, 2026-05-19 02:00Z)
  • Dock workspace: https://trydock.ai/mike/cueapi-core-parity-for-dock

🤖 Generated with Claude Code

…n + narrative reference + 035 forward-ref annotation

Step 1 of the Surface 6 parity audit per cue-pm GREENLIGHT msg_7enby3btpl6v.

Surface 6 = sender-controlled push delivery (MessageCreate.delivery_mode
= 'live' | 'bg' | 'inbox' | 'webhook' | 'auto') with substrate-side
capability check + cascade fallback + bridge to recipient's live_cue_id /
bg_cue_id. Load-bearing primitive for Dock's Phase 1 rebuild per Jingim's
directional read (msg_vzs6a1t5oii5 2026-05-19).

Changes:

* parity-manifest.json: new top-level `pending_ports` section + the
  Surface 6 row with full coverage matrix. Distinct from
  oss_only_exclusions (whole files only-in-OSS) and
  field_drift_annotations (single-field divergence on already-ported
  files). Enumerates load-bearing private migrations (cueapi-hosted
  050a + 067), target OSS files for the port (4 agent columns + 2
  message columns + service-layer resolver + bridge logic), and the
  recommended 4-step port sequencing (this audit-PR + 3 follow-on
  port-PRs). Documents tier-shape lock (single-tenant self-hosted) +
  intentional cross-org out-of-scope.

* docs/parity-status.md (new): narrative reference for pending ports.
  Explains how to evaluate "is feature X in cueapi-core?" via the
  three artifacts (HOSTED_ONLY.md / parity-manifest.json /
  parity-status.md) and walks through the Surface 6 gap shape +
  port sequencing + tier-shape constraints. Anchors future audits
  with the same shape (file Backlog row → add to pending_ports →
  sequence port-PRs).

* alembic/versions/035_agent_live_sessions_ipc_attachment.py:
  clarifying note on the `delivery_mode_requested='ipc'` forward-
  reference in the docstring. The column does NOT exist yet in
  cueapi-core — it lands when Surface 6's substrate migration ports.
  Until then, the ASYNC fire-accept dispatcher path is dormant. NOT
  a bug; the migration body is consistent with what it adds
  (agent_live_sessions extensions only). Verified empirically by
  reading the migration upgrade() body — no DDL on `messages` table.

Steps 2-4 (substrate migration port + delivery_mode field + bridge
logic) are held pending Jingim's Phase 1 plan signal. The 4-PR cut
shape is locked; only the start-timing is open.

Audit context:
- KICKOFF: msg_sq6h2fcwseiu (cue-pm, 2026-05-19 01:38Z)
- Scope-narrow: msg_u7x0f649gjro (cue-pm, 2026-05-19 01:48Z)
- Audit findings: msg_410i80bctfox (cueapi-secondary, 2026-05-19 ~02:00Z)
- GREENLIGHT: msg_7enby3btpl6v (cue-pm, 2026-05-19 02:00Z)
- Dock workspace: https://trydock.ai/mike/cueapi-core-parity-for-dock

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Parity check

This PR modifies files tracked in parity-manifest.json:

  • alembic/versions/035_agent_live_sessions_ipc_attachment.py
  • app/config.py

Please confirm one of the following in a reply or PR description update:

  1. The equivalent change has been applied to the private cueapi monorepo. Link the PR.
  2. This change is OSS-only and does not need porting. Briefly explain why (e.g. "fixes a bug that only exists in the OSS build").
  3. A follow-up issue has been filed to port the reverse direction. Link the issue.

This is a soft check — it does not block merge. The goal is visibility, not friction. See HOSTED_ONLY.md for the open-core policy.

@govindkavaturi-art govindkavaturi-art enabled auto-merge (squash) May 19, 2026 02:18
@mikemolinet mikemolinet merged commit 5006d52 into main May 19, 2026
7 checks passed
@mikemolinet mikemolinet deleted the chore/surface-6-parity-audit branch May 19, 2026 02:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant