docs(experiments): correct the equities assessment after independent review - #213
Merged
Merged
Conversation
…review Applies 19 findings from an independent review of the merged record. The verdict is unchanged: still NO, still on screening capability. Every change is about accuracy of evidence and internal consistency. Correction classes: - Attribution. The 2026-08-09 re-run was not entirely the committed probe; several measurements came from ad-hoc read-only queries written for the fact-check and never committed. Those findings are now marked "ad-hoc, not re-runnable", and the caveat no longer claims the re-run removed the document's weakest point. - Inverted rails. The verdict table had rails 18 and 19 the wrong way round. Rail 18 is what actually rejects a Coinbase equity id (quote_currency_of returns None on a 64-char hash); rail 19 is a grammar check that AAPL-USD passes. Section 5/E2 was already right and now the table agrees with it. - Overstated refusals. "Two independent refusals, each sufficient on its own" contradicted two later passages saying the whole verdict rests on the charter gate. Refusal 2 is Coinbase-specific and narrows the how, not the whether. - Wrong withdrawals restored. The spec's "equity" occurrence count and its named equity-specific error codes were greppable in the same spec file the rest of section 1b was read from. The EquityTradingSession retraction also over-reached: the type name was correct, only the five value spellings were invented. The research-integrity section gains a fourth rule about the scope of a retraction. - Unestablished termination. The 19,188-id cursor walk hit the script's 20-page cap, so the universe is not established as terminating there. - Sampling. "All 1000 products" is the first page, roughly 5% of the measured universe. - Sourcing hedges. The DJIM screen-retirement dates could not be confirmed at source and are now given as "during 2023" against the one dated primary artifact. The index comparison table no longer claims all methodologies were read at source. MSCI's averaging window is hedged rather than asserted. Two occurrence-count claims with no citable source are downgraded to "docs silent". - SS 21 substance. Clause 3/19 is a regime selector, not a fourth admission ratio. The 3/19 "self-contradiction" is a discrepancy between two differently-measured floors. Clauses 3/17, 3/18 and 3/20 were omitted entirely and are now recorded. The recurring-cost argument is stated once, correctly, and its circular cross-reference is gone. - Broker facts. Alpaca has supported fractional limit/stop orders and extended hours since 2024-02; the real notional constraints are different. The Schwab terms citation pointed at a JS shell that renders no text; the refutation survives against the real document. Schwab's "two business days" line governs API access requests, not app approval. The mylinedchart cluster is six pages, not five. - Arithmetic. 65-130 engineer-days is three to six months, and 50-100 of those days are equity-specific. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Follow-ups the corrections pass flagged rather than improvised: - "not the same instrument both times" read as though a different security was probed; it is about instrumentation. Reworded. - Six remaining "all 1000 products" / "998 of 1000" claims stated a first-page sample as if exhaustive. All now carry the ~5%-of-19,188 qualifier the same finding added to the one site in section 1a. - Section 6's "a standards read nobody has done" contradicted section 3, which reads and quotes SS 21. The undone step is authoring the KB entry, not the read. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Corrections to the equities decision record merged in #211, from an independent review that landed after the merge. The verdict is unchanged — keel still cannot add US equities, and the binding gate is still §71.6's screening capability. Every change here is about accuracy of evidence and internal consistency.
Feasibility only. No code changed, no adapter added, no dependency introduced.
The two that mattered
Rails 18 and 19 were inverted in the verdict table. Verified against
keel/execution/guards.py: rail 18 is what actually rejects Coinbase equities —quote_currency_ofreturnsNoneon a 64-char hash — and its own comment calls it "an INSTRUMENT-CLASS gate wearing a currency's clothes." Rail 19 is a grammar check that a sane adapter'sAAPL-USDwould pass. §5/E2 had this right; the verdict table was the sole outlier."Two independent refusals, each sufficient on its own" was overstated. It contradicted §7's own "the whole verdict rests on this single step," and refusal 2 is Coinbase-specific — the document concedes it "would be answered by choosing Alpaca." Only refusal 1 answers the question as posed. The verdict stands on one leg, and now says so.
Evidence-integrity corrections
recent_trading_days,equity_trading_flags, or per-product price fields. They came from ad-hoc queries written for the fact-check. The numbers are not in doubt; their reproducibility was overclaimed. Now markedequitoccurs 150 times in the spec, and named equity error codes exist (INVALID_EQUITY_TRADING_SESSION,PREVIEW_INVALID_EQUITY_TRADING_SESSION). Both were greppable the whole time.EquityTradingSessionis the real schema name; only its five value spellings were invented. Added as a fourth research-integrity rule.probe.py:231) — termination was never established, only that the same walk now returns 47% more ids with zero drift.AAOIFI §3 corrections — these change the implementation spec
External-source corrections
day, 2-decimal notional cap, cannot be replaced.developer.schwab.com/terms-and-conditionsis a JS shell rendering no text to a fetcher. The real terms are oncontentdelivery.schwab.com, 16,455 bytes, last updated 2023-02-14. The refutation survives (zero AI/ML matches), and the terms do carry an automation clause — robots and spiders, governing the website, not the API. Failing "opened at source" in the section that codifies it.Reviewer note
create_orderon an equity has still never been called, and §71.6 applied to real US shares remains an inference — both labelled prominently, in five and four places respectively. F13 was dropped as verified-correct style only; the "not read at source" hedge on the FINRA identifiers was deliberately kept.🤖 Generated with Claude Code