Skip to content

docs,test: drop the withdrawn Granite auxiliary and name granite-4-h-small for R1 (WO-16) — VOTE CAST 2026-07-28 - #120

Merged
sergi-torres merged 2 commits into
mainfrom
fix/wo-16-granite-discourse
Jul 28, 2026
Merged

docs,test: drop the withdrawn Granite auxiliary and name granite-4-h-small for R1 (WO-16) — VOTE CAST 2026-07-28#120
sergi-torres merged 2 commits into
mainfrom
fix/wo-16-granite-discourse

Conversation

@sergi-torres

@sergi-torres sergi-torres commented Jul 28, 2026

Copy link
Copy Markdown
Owner

✅ VOTE CAST — 2026-07-28

This touches docs/MVP.md §2, marked LOCKED, and docs/MVP.md:4 requires 2/3 ratification. That vote was cast on 2026-07-28 by the repo owner (Sergi Torres, P1). The decision-log row is no longer pending: it is ratified, and it now also settles the escalation model that #102 left open.

What was voted: the R1 escalation model is ibm/granite-4-h-small — chosen as the successor the Watsonx catalogue itself points to for the withdrawn Granite, and because it keeps the full-IBM angle the challenge rewards. It is a backup only: nothing calls it, and it never enters the A/B. The side-by-side keeps comparing meta-llama/llama-3-3-70b-instruct with and without style conditioning — that does not change.

R3 gets no replacement. Its old plan B ("use the faster granite-8b for the baseline") is void twice over: the model does not exist for us, and swapping only the baseline would break the A/B whichever model replaced it. R3's mitigation is now the three non-model levers it already had — sequential generation with optimistic loading, shorter max_tokens, and the pre-recorded generations of R5 — and the docs say so instead of inventing a substitute.

What

  1. Removes the Granite 3 8B auxiliary from the declared stack and points the integration test at the model actually in use.
  2. Ratifies that removal and names ibm/granite-4-h-small as R1's escalation backup, declared but not exercised.

The finding is stronger than the issue's premise. It is not that ibm/granite-3-8b-instruct is missing from eu-de: it was withdrawn upstream on 2026-03-31 and exists in no region. Switching region does not recover it.

Measurement

Public Watsonx foundation-model catalogue — no credentials required. Re-measured 2026-07-28 for this update, HTTP 200, 18 models listed for eu-de:

GET https://eu-de.ml.cloud.ibm.com/ml/v1/foundation_model_specs?version=2024-05-01&limit=200

ibm/granite-4-h-small              -> available   (lifecycle: available since 2025-10-02, provider IBM)
meta-llama/llama-3-3-70b-instruct  -> available   (lifecycle: available since 2024-12-06)
ibm/granite-3-8b-instruct          -> NOT PRESENT in eu-de

Earlier six-region sweep (eu-de, eu-gb, jp-tok, au-syd, ca-tor, us-south), all HTTP 200:

Region ibm/granite-3-8b-instruct
eu-de (ours) absent
eu-gb, jp-tok, au-syd, ca-tor absent
us-south listed: available 2024-10-21 → deprecated 2025-11-24 → withdrawn 2026-03-31

Runtime evidence 2026-07-27 in eu-de:

meta-llama/llama-3-3-70b-instruct  -> OK: 'pong'
ibm/granite-3-8b-instruct          -> 404 model_not_supported

Why

Closes #98. Settles the open question of #102 (#102 is not closed by this PR — the escalation choice is recorded here, the issue stays for the owner to close).

In front of a jury that scores the stack, correcting the claim is safer than defending one that cannot be demonstrated live. README.md, docs/MVP.md §2 and the docs/architecture.md diagram all advertised "Llama 3.3 70B + Granite 3 8B", and half of it does not respond. Equally, an escalation chain whose three exits are all closed is worse than one honest, verified exit.

Changes

  • docs/decision_log.md — the 2026-07-28 row is ratified (it was never merged, so it is rewritten in place rather than superseded by a second row; append-only integrity of main is untouched). It names Granite 4 H Small, carries the measurement as evidence, and states R3's lack of a plan B.
  • docs/MVP.md §2 / §6 — active path stays single-model; the escalation backup is listed as declared, not wired in.
  • docs/MVP.md §11 — R1 names Granite 4 H Small and marks it unexercised; R3 states it has no model-swap mitigation at all.
  • README.md, docs/ONBOARDING.md — same distinction: model in use vs declared fallback.
  • docs/architecture.md — the external-dependency bullet still read "creative + auxiliary models", a present-tense falsehood that no granite grep could catch because it names neither model. Fixed.
  • backend/tests/test_watsonx_client.py — all four model_id literals target meta-llama/llama-3-3-70b-instruct (unchanged since the first push).

Rebased onto main (not merged) — the branch was behind. The docs/decision_log.md conflict was resolved keeping all rows from both sides.

How IBM Bob helped

  • Custom Mode used: none
  • Bob session export: n/a

Claude Code agents. On the first pass the agent stopped on a different finding instead of fixing it, per the dispatch rule: the entire R1 escalation chain did not exist — llama-3-1-405b and Mistral Large are also absent from eu-de. It filed #102 rather than picking a replacement on its own, because that is a separate decision with its own vote. This second pass records the vote.

Checklist

  • Tests pass locally (make test)
  • Lint passes (ruff check . + black --check . — green; no Python touched in the ratification commit)
  • If schema changed (StyleProfile / Passport) → bumped version + updated docs/
  • If new env var → added to .env.example
  • If new/changed endpoint → updated docs/api_contract.yaml
  • Documentation in the relevant README.md updated
  • At least one teammate reviewed

This branch's tests have not been run. The executor worked in a worktree with pytest forbidden (the editable-install trap). Before merging, run pytest backend/tests/test_watsonx_client.py -q and above all confirm that test_generate_live_watsonx actually executes rather than self-skipping on missing credentials: a silent skip here would look like a pass.

Expected conflict in docs/decision_log.md: append-only, four writers. Keep all rows.

@vercel

vercel Bot commented Jul 28, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
author-ai Ready Ready Preview, Comment Jul 28, 2026 9:17pm

sergi-torres and others added 2 commits July 28, 2026 23:07
…98)

`ibm/granite-3-8b-instruct` is not available to this project. Measured
2026-07-28 against the public Watsonx catalogue
(`GET /ml/v1/foundation_model_specs?version=2024-05-01`): absent from
`eu-de` (our configured region) and from `eu-gb`, `jp-tok`, `au-syd`,
`ca-tor`; listed only in `us-south`, where it is `deprecated` since
2025-11-24 and `withdrawn` since 2026-03-31 (upstream alternative
`ibm/granite-4-h-small`). This matches the runtime result of 2026-07-27
in `eu-de`: llama-3-3-70b -> 'pong', granite-3-8b -> 404
model_not_supported. No region change would recover it.

Granite never appeared in production code; its only caller was the live
integration test.

- backend/tests/test_watsonx_client.py: all four `model_id` literals now
  use `meta-llama/llama-3-3-70b-instruct`, the model the product really
  calls (the live test included).
- docs/MVP.md: §2 (LOCKED) and §6 record a single-model stack; R1 and R3
  no longer lean on plan Bs that do not exist.
- README.md, docs/architecture.md, docs/ONBOARDING.md: stop advertising
  a "Llama 3.3 70B + Granite 3 8B" stack.
- docs/decision_log.md: append-only entry superseding the 2026-06-24 LLM
  stack decision, as the LOCKED policy of docs/MVP.md:4 requires.
  Ratification by 2/3 vote still pending.

Refs #98

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
, #102)

The 2/3 vote the LOCKED policy of `docs/MVP.md:4` requires was cast on
2026-07-28 by the repo owner (P1). The decision-log row drafted with #98
is no longer pending: it is ratified, and it now also records the R1
escalation model that #102 left open.

Measured 2026-07-28, public endpoint, no credentials
(`GET https://eu-de.ml.cloud.ibm.com/ml/v1/foundation_model_specs?version=2024-05-01&limit=200`,
HTTP 200, 18 models listed for `eu-de`):

    ibm/granite-4-h-small              -> available (since 2025-10-02, IBM)
    meta-llama/llama-3-3-70b-instruct  -> available
    ibm/granite-3-8b-instruct          -> not present in eu-de

- `docs/decision_log.md`: the 2026-07-28 row (unmerged, drafted by #98)
  is rewritten in place as ratified. It now names
  `ibm/granite-4-h-small` as the R1 escalation model, records the
  measurement as evidence, and says plainly that R3 gets no replacement
  plan B.
- `docs/MVP.md` §2 and §6: the escalation backup is listed as declared
  and not wired in; the active path stays single-model.
- `docs/MVP.md` §11: R1 names Granite 4 H Small and marks it unexercised;
  R3 states it has no model-swap mitigation at all, because swapping only
  the baseline would break the A/B whichever model did it.
- `README.md`, `docs/ONBOARDING.md`: same distinction, active model vs
  declared fallback.
- `docs/architecture.md`: the external-dependency bullet still claimed a
  "creative + auxiliary" pair — a present-tense falsehood the `granite`
  grep never caught because it names neither model.

The side-by-side is untouched: it compares
`meta-llama/llama-3-3-70b-instruct` with and without style conditioning.
No production code, no test and no configuration changed in this commit.

Refs #98, #102

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@
@sergi-torres
sergi-torres force-pushed the fix/wo-16-granite-discourse branch from 1746025 to eafa641 Compare July 28, 2026 21:17
@sergi-torres sergi-torres changed the title docs,test: drop the withdrawn Granite auxiliary from the stack (WO-16) — NEEDS 2/3 VOTE docs,test: drop the withdrawn Granite auxiliary and name granite-4-h-small for R1 (WO-16) — VOTE CAST 2026-07-28 Jul 28, 2026
@sergi-torres
sergi-torres merged commit ff7ca8d into main Jul 28, 2026
8 checks passed
@sergi-torres
sergi-torres deleted the fix/wo-16-granite-discourse branch July 28, 2026 21:48
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.

[backend] WO-16 — El modelo auxiliar ibm/granite-3-8b-instruct no existe en la región configurada

1 participant