Skip to content

docs(spx-v2): correct a startup claim STATE.md asserted without running it - #15

Merged
thomaswillner merged 3 commits into
mainfrom
docs/correct-state-config-claim
Aug 30, 2026
Merged

docs(spx-v2): correct a startup claim STATE.md asserted without running it#15
thomaswillner merged 3 commits into
mainfrom
docs/correct-state-config-claim

Conversation

@thomaswillner

Copy link
Copy Markdown
Owner

What

Corrects a factual error in orchestration/spx-v2/STATE.md, and records the first runtime-proof attempt honestly.

The error

STATE.md told every reader — and the Mac dispatch prompt repeated it — that a leftover data_source.vix.allow_cboe_vix3m_fallback makes the process refuse to start.

Measured on the Mac in spx-0dte-bot-v2 PR PrimeIntellect-ai#291: it does not. extra="forbid" fires inside provider composition and is converted to startup: GONE data (paper_data_composition_refused) with "entries are IMPOSSIBLE" — with a live Gateway the process runs and binds in that state. Raw-YAML startup refusals come from settings_adapter.py's named STRATEGY_OWNED_PATHS, which this key is not on.

Where it came from, since that matters more than the fix

PR PrimeIntellect-ai#270's body asserts the refusal, and the production_data.py:89 comment asserts it too. I copied it from them into STATE.md, into the MacBook dispatch prompt, and into several summaries — without executing it once.

That is LESSONS.md §13 — never publish a claim you have not run in the form you state it — broken by the same author, in the same folder, four hours after writing the rule. The correction is recorded in STATE.md under a new "Corrected claims" heading rather than silently patched, because the provenance is the useful part.

The production_data.py:89 comment is still wrong and deserves its own small fix lane in the V2 repo. Deleting the key remains correct housekeeping; it is simply not a startup blocker.

Also recorded

  • The first runtime-proof attempt did not pass. PR track runtime content hash for kernel venv staleness PrimeIntellect-ai/prime-agent#291 (evidence only): zero clean passes, two measured FAILs (session artifacts absent → artifact_missing on both domains; no listener on 7497), three observables unprovable without a live process. IB Gateway was down, so the PAPER runtime fail-closes at adapter start and /readiness was never presented. Bringing the Gateway up is operator-only (IB Key 2FA).
  • execution.mode must be quoted — bare off is YAML False and the loader refuses it by design. Set execution.mode: "off".

Testing

Docs only. The corrected claim is sourced from a measurement in PR PrimeIntellect-ai#291's evidence file rather than from another document — which is the whole point of the change.

🤖 Generated with Claude Code

https://claude.ai/code/session_01G5B7QM1QLQuWSBMCxiCzS6


Generated by Claude Code

…ing it

STATE.md told every reader that a leftover
data_source.vix.allow_cboe_vix3m_fallback makes the process refuse to start.
Measured on the Mac in PR PrimeIntellect-ai#291: it does not. extra="forbid" fires inside
provider composition and becomes `startup: GONE data
(paper_data_composition_refused)`; with a live Gateway the process runs and
binds. Raw-YAML startup refusals come from settings_adapter.py's
STRATEGY_OWNED_PATHS, which this key is not on.

The claim came from PR PrimeIntellect-ai#270's body and the production_data.py:89 comment, both
of which assert it, and was copied into this file, the Mac dispatch prompt and
several summaries without being executed once. That is exactly LESSONS.md 13 --
never publish a claim you have not run in the form you state it -- broken by
the file that carries the rule. The code comment remains wrong and deserves its
own fix lane.

Also records the first runtime-proof attempt honestly: PR PrimeIntellect-ai#291 did not pass.
Zero clean passes, two measured FAILs, three observables unprovable without a
live process, because IB Gateway was down and the PAPER runtime fail-closes at
adapter start. And adds the quoting rule: execution.mode must be "off" quoted,
since bare off is YAML False.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G5B7QM1QLQuWSBMCxiCzS6
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 29, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-08-29T23:24:20.548825Z e51d092 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copy link
Copy Markdown
Owner Author

Test (coding-agent 1/3) is red — not this PR's, and here is why

The failure:

FAIL test/kernel-agent-message-skill.test.ts
  > agent-message skill over the kernel host bridge
  > lists agents and sends without exposing a spoofable sender
Error: Test timed out in 30000ms.
  ❯ test/kernel-agent-message-skill.test.ts:43:2

Test Files  1 failed | 100 passed | 3 skipped (104)
Tests       1 failed | 1410 passed | 24 skipped (1435)

This PR changes one file: orchestration/spx-v2/STATE.md. Markdown, in an orchestration-notes folder, with no import path to the TypeScript kernel host bridge or the IPython provisioner. 1410 of 1411 tests pass.

Three things say it is environmental, not a regression:

  1. It is a timeout, not an assertion. The test did not observe wrong behaviour; it ran out of a 30-second budget.
  2. This exact job passed on a comparable diff 80 minutes ago. PR chore(spx-v2): one current-state file, one lessons file, no stale snapshots #14 was also docs-only in the same folder, and Test (coding-agent 1/3) went green (23:02→23:06).
  3. This shard was heavily loaded. In the same run 4603-worker-recovery took 104 s, 4600-supervisor-singleton 45 s, and kernel-attach-image-skill 10 s, while the kernel bootstrap did real work — uv pip install per skill, plus a logged broken_skill install failure and several rebuilding kernel venv cycles. A 30-second cap on a kernel-bridge test in that environment is fragile by construction.

Action taken: re-running the failed job once — the sanctioned single re-run to confirm the diagnosis. If it fails again, that is real and I will treat it as such rather than re-classifying it as a flake.

Worth flagging separately, not fixed here: a 30 s testTimeout on a test whose setup provisions a Python kernel is a latent CI flake for every PR in this repo, not just this one. That deserves its own small lane — either a longer timeout for the kernel-bridge suite or a pre-provisioned kernel fixture. I am not widening a documentation PR to do it.


Generated by Claude Code

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e51d092a3f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread orchestration/spx-v2/STATE.md Outdated
Comment thread orchestration/spx-v2/STATE.md
Comment thread orchestration/spx-v2/STATE.md Outdated
Comment thread orchestration/spx-v2/STATE.md Outdated
claude added 2 commits August 29, 2026 23:26
…ctions

Codex found four P2s on the correction PR. All verified, all valid.

1. The input of record still told the operator `execution.mode: off` unquoted --
   the exact form this PR establishes the loader refuses. An implementing agent
   following it would reproduce the refusal. Now quoted, with the reason.

2. I over-corrected. Having found that a leftover
   allow_cboe_vix3m_fallback does NOT block startup, I demoted deleting it to
   "housekeeping". Wrong in the other direction: it still leaves
   `startup: GONE data (paper_data_composition_refused)` with entries
   IMPOSSIBLE, so a healthy /readiness is unreachable while it is present.
   Only the REASON was wrong; the step is still required.

3. The operator steps implied that starting the Gateway yields healthy session
   domains. It does not. Observable (c) failed artifact_missing on BOTH
   domains, and those artifacts come from the Hermes publisher, not from
   Gateway uptime. The steps now name three preconditions, not one.

4. Bare `PR PrimeIntellect-ai#291` in prime-agent markdown autolinks to prime-agent's own PrimeIntellect-ai#291,
   which exists and is unrelated -- pointing readers away from the evidence the
   claims rest on. Now explicit cross-repository links.

Findings 2 and 3 are the useful ones: a correction that swings past the truth
is still wrong, and a checklist that names one precondition out of three
promises an outcome it cannot deliver.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G5B7QM1QLQuWSBMCxiCzS6
…oes not

The operator had to say this twice tonight, which means the file that exists to
stop repetition did not contain it. Now it is the first thing in LESSONS.md.

Records what drift actually looked like in the session that did it, because the
abstract rule was already known and did not prevent it. It never announced
itself; it looked like being helpful -- the operator said the repo was unclean,
so files got edited instead of a brief getting filed (spx#290); a stale doc
blocked the operator, so the doc got fixed directly instead of a brief getting
filed (spx#292). Neither touched a .py file, which is exactly why it felt
allowed. The order says all code, any repository, and product-repo files are the
fleet's lane whatever their extension.

The tell is written down as a sentence to catch in the act: "this is small, I
can just do it." Small is what the fleet is for.

Also records the one legitimate exception and its exact shape -- an operator
prompt that re-designates the session as Prime Agent IS a dispatch, it covers
the briefs named in that prompt and nothing else, and the session reverts to
observer when they are delivered rather than carrying the designation forward.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G5B7QM1QLQuWSBMCxiCzS6
@thomaswillner
thomaswillner merged commit 2c4da7b into main Aug 30, 2026
8 of 10 checks passed
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.

2 participants