I3410 — A Codex prompt is captured through Codex's own UserPromptSubmit hook, and capture status stops calling Codex prompts unadapted
Add a codex line to MJ_CAPTURE_ADAPTERS that reads Codex's prompt field, with the shim and config entry capture install writes, in the way it writes the Claude one. Before building, re-verify the dated vendor evidence in share/providers.yaml against the installed Codex.
BLOCKED wave 2 · p3 · implementation profile · parallel safe
Blocked. This issue cannot start until I3303, I3406 are done. The status is derived from that, not declared.
Objective
Add a codex line to MJ_CAPTURE_ADAPTERS that reads Codex's prompt field, with the shim and config entry capture install writes, in the way it writes the Claude one. Before building, re-verify the dated vendor evidence in share/providers.yaml against the installed Codex.
Why
The owner's 2026-10-19 Cognitive Fabric pack asks that event ingestion use the hooks each client actually offers (campaigns/prismatic-way-cognitive-fabric-prompt-pack/prompts/02_EVENTS_INTENTS.md). Codex sessions work this repository daily, and their prompts are never events. I3303 plans Codex session events and the guard, not prompts.
Current state
share/providers.yaml:135-154 records Codex UserPromptSubmit with the raw text in prompt. lib/capture.sh:249 has only a claude-code adapter, and lib/capture.sh:2037 reports Codex prompts unadapted.
Desired state
A Codex prompt payload writes one record with provider codex. capture status reports Codex prompts as wired or unwired by running the shim. Gemini stays unadapted and is reported so.
Scope
- lib/capture.sh
- share/providers.yaml
- test/cases/29_prompt_capture.sh
- .ai/repo/project/intents
Out of scope
- A Gemini adapter (deferred, as in I3303)
- Codex session or edit-guard events (I3303)
Dependencies
- I3303READY Codex's hooks draw its episodes and refuse an edit no claim covers, as Claude Code's do
- I3406BLOCKED A prompt delivered again, concurrently, on the next day or after a resumed session is still one record, and capture status counts every identity that more than one record holds
Acceptance criteria
- A Codex-shaped payload piped into the generated shim writes one record with provider codex
- The same prompt id from claude-code and codex writes two records (I3406's key)
- capture status no longer lists Codex prompts as unadapted once the adapter is installed
Validation
- bash test/run.sh 29_prompt_capture 170_provider_lifecycle_declared
- majordomus capture status --json
Evidence required
- case_a_codex_prompt_is_captured (an assertion block added to test/cases/29_prompt_capture.sh)
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I3410.yaml. Read it back with majordomus plan show I3410.