Skip to content

fix(content): sync the copy to v0.16.0, and correct a claim that went false (#142) - #143

Merged
eaitbrahim merged 1 commit into
mainfrom
fix/sync-to-v0160-142
Sep 17, 2026
Merged

eaitbrahim merged 1 commit into
mainfrom
fix/sync-to-v0160-142

Conversation

@eaitbrahim

Copy link
Copy Markdown
Contributor

Closes #142.

The hand-written copy was last verified against v0.13.3. v0.14.0, v0.15.0 and v0.16.0 have shipped since. The fetched half — changelog, engine docs, roadmap, release assets — re-resolves at build time and needed nothing; this is the half a human writes.

The claim that went false

"That setup surface cannot arm a rule, release funds or spend anything — every capability increase in keel still requires a person at a terminal."

Untrue since v0.15.0 (#781). keel/capabilities.py gained a BROWSER gate beside TTY, and two web rows are capability increases reached from a browser: Resume trading (after the kill-switch) and Clear streak halt (rail 16). Each sits behind a typed phrase, a loopback-only check and its own gate token — narrow and well guarded, and still not a terminal.

The corrected copy says both halves, because the second is the safety-relevant one: halting is deliberately never gated on locality, so an operator whose keel is behind a tunnel can stop it from the tunnel.

Counts corrected against v0.16.0

claim was now source
rails twenty (1–14, 16–21) twenty-one (1–14, 16–22) rail 22, cash posture (#691), v0.14.0
console views eight + Docs thirteen + Docs Positions, Balances, Timeline, Research, Plans
research modules thirteen fourteen spread.py registered for #371
suite about 5,000 about 6,650 v0.16.0 release notes
adapters Coinbase, Robinhood, Alpaca, fake + Kraken a port-complete stub whose every data/market method raises

On the research count: commands/research.py has 14 module= rows, while that file's own docstring still says thirteen. The site follows the registry, not the docstring — worth an engine-side fix.

The Get Started screenshot predates the six views added since v0.13.2. Rather than quietly show a stale header, its caption now says so.

The front page can stop hedging

docs/experiments/2026-09-05-restatement-restated.md ships in v0.16.0. The site resolves links at the latest release tag, so the copy deliberately written around that record — citing 0 of 138 and "the note's own sensitivity check fails at twice that" — now quotes the measurement:

  • 0 of 240 configurations clear at the taker rate, priced per product
  • break-even inside the fee-free allowance of 20.5% against a reconstructed 14.9% win rate — about five and a half points underwater, inside the window this page once called break-even

The honest-result pointer on the home page, the compliance page and the footer moves to that record.

Verified unchanged, left alone

Eight MCP tools · Python 3.14 floor · the 5–183.8bp slippage range · the six RULE_REGISTRY kinds.

Verification

  • npm run check: 0 errors, 0 warnings (4 pre-existing hints in untouched news/[page].astro)
  • npm run build: 74 pages, resolving v0.16.0
  • Both experiment links return 200 at the pinned tag
  • Swept the rendered dist/ for every superseded string: remaining hits are only in fetched changelog and engine-doc pages, which are historical records and correctly untouched

Worth your eye

The Arabic and French were written for this change and have not had a native reader — including the corrected capability sentence, which is the one a reader is most likely to rely on.

🤖 Generated with Claude Code

https://claude.ai/code/session_01EXz13qp1UM3pBa6BqsRqvC

… false (#142)

The site's hand-written copy was last verified against v0.13.3. Three minor
releases have shipped since. The fetched half -- changelog, engine docs, roadmap,
release assets -- re-resolves at build time and needed nothing; this is the half a
human writes.

**The claim that went false.** The Install page said of the web console: "every
capability increase in keel still requires a person at a terminal". That stopped
being true at v0.15.0 (#781), when `keel/capabilities.py` gained a BROWSER gate
beside TTY and two `web` rows became capability increases reachable from a browser
-- Resume trading after the kill-switch, and Clear streak halt for rail 16's
consecutive-loss halt. Each sits behind a typed phrase, a loopback-only check and a
gate token of its own, which is narrow and well guarded, and is still not a
terminal. The copy now says so, and says the other half too: halting is
deliberately NEVER gated on locality, because an operator whose keel is behind a
tunnel must be able to stop it from the tunnel.

Counts corrected against v0.16.0:

- rails twenty -> TWENTY-ONE, numbered 1-14 and 16-22; rail 22 (cash posture, #691)
  shipped in v0.14.0 and is now listed beside 20 and 21.
- web console eight views -> THIRTEEN, with Positions, Balances, Timeline, Research
  and Plans named; Docs is the fourteenth header entry. The Get Started screenshot
  predates the six added since v0.13.2 and its caption now says so rather than
  quietly showing an old header.
- research modules thirteen -> FOURTEEN. `spread.py` joined the front door's
  registry for #371 -- 14 `module=` rows in `commands/research.py`, though that
  file's own docstring still says thirteen. The site follows the registry.
- suite about 5,000 -> about 6,650 tests.
- the broker port gains Kraken, described as what it is: a port-complete stub whose
  every data and market method raises. It proves the port's shape, not that keel
  can trade there.

**The front page can stop hedging.** `2026-09-05-restatement-restated.md` ships in
v0.16.0, and the site resolves links at the latest release tag, so copy written
deliberately around that record can now quote it: 0 of 240 configurations at the
taker rate priced per product, and break-even inside the fee-free allowance of
20.5% against a reconstructed 14.9% win rate -- roughly five and a half points
underwater, inside the window this page once called break-even. The honest-result
pointer on the home page, the compliance page and the footer moves to that record.

Verified unchanged at v0.16.0 and left alone: eight MCP tools, the Python 3.14
floor, the 5-183.8bp slippage range, the six RULE_REGISTRY kinds.

All copy is EN/AR/FR. The Arabic and French were written for this change and have
not had a native reader. `npm run check`: 0 errors. Build: 74 pages, resolving
v0.16.0, and both experiment links return 200.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EXz13qp1UM3pBa6BqsRqvC
@eaitbrahim eaitbrahim added the bug Something isn't working label Sep 16, 2026
@eaitbrahim eaitbrahim self-assigned this Sep 16, 2026
@sonarqubecloud

Copy link
Copy Markdown

@eaitbrahim
eaitbrahim merged commit 9dbb681 into main Sep 17, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sync the site copy to v0.16.0 — including a capability claim that became false at v0.15.0

1 participant