Skip to content

feat(aws-startup-advisor): add GPT-6 family to agent-advisor model catalog - #454

Merged
herosjourney merged 7 commits into
aws:mainfrom
herosjourney:feat/gpt6-agent-advisor-catalog
Oct 20, 2026
Merged

herosjourney merged 7 commits into
aws:mainfrom
herosjourney:feat/gpt6-agent-advisor-catalog

Conversation

@herosjourney

Copy link
Copy Markdown
Contributor

Gap

The agent-advisor's model-recommendation catalog
(plugins/aws-startup-advisor/skills/agent-advisor/references/models/openai-bedrock-2026-08-21.json)
is a separate file tree from the migration-skills' shared AI references
(skills/shared/ai/*). Merged PR #433 added GPT-6/UltraFast coverage to the shared
references, but that coverage never reached the agent-advisor's own catalog, so
agent-advisor still could not recommend any GPT-6 model.

What this PR adds

  • Four new GPT-6 family entries in openai-bedrock-2026-08-21.json: openai_gpt_6_astra,
    openai_gpt_6_sol, openai_gpt_6_luna, openai_gpt_6_1_sol, ported from the facts already
    verified in ai-openai-to-bedrock.md / bedrock-pricing-cache.md.
  • Updated routing prose in model-recommend.md describing real GPT-6 routing differences:
    narrower in-region footprint, Astra's CRIS Invoke gap, and the mantle Chat-Completions
    deviation from GPT-5.x (not a cosmetic reword).
  • Minimal consistency edits: extended the catalog's top-level disclaimer string, and added
    the four new keys to test_scoring.py's _POOL_LIFECYCLE_KEYS fixture so existing
    pool/lifecycle drift tests cover them.
  • Correctly encoded context_window as 1050000 (1.05M tokens, matching the convention
    already used by the sibling openai_gpt_5_6_sol/terra/luna entries) rather than the 272K
    short-context pricing-tier boundary, and populated output_token_ceiling (128000 for
    Astra/Sol/Luna, 131072 for 6.1 Sol) instead of leaving it "unknown" — these were caught
    and fixed in a review round, see Verification below.

Relationship to #390

This PR supersedes/fixes the gap that open draft PR #390 attempted to address. PR #390 only
reworded one sentence to claim GPT-6 Astra UltraFast support, without adding the actual
model entry to the catalog — so its claim would be false if merged as-is. This PR adds the
real catalog data and updates the routing prose to match. Recommend the maintainer close
#390 in favor of this PR (not closing it myself).

Verification

  • python3 -m json.tool openai-bedrock-2026-08-21.json — valid JSON.
  • agent-advisor scripts test suite: 323/323 passed (after adding the four new keys to
    _POOL_LIFECYCLE_KEYS).
  • Full plugin CI (mise run ci): all checks green — lint:md (797 files, 0 errors),
    lint:model-id, lint:model-staleness, lint:artifacts (80 checked, 0 errors),
    lint:vendored-parity (49 files byte-identical), lint:skill-refs (1293 checked, 0
    missing), plugin test suite (391 passed), test:heroku-source-review (44 passed).
  • A semantic review round flagged two numeric data-entry errors (context_window and
    output_token_ceiling, see above); both were fixed and the full CI suite was re-run clean
    (391 passed, all lint checks green, valid JSON).
  • Scope confirmed unchanged: no touches to skills/shared/ai/*, other migration skills, the
    Anthropic catalog, or openai_model_recommendation.py's detection/candidate-order logic.

Logan Kleier added 2 commits October 14, 2026 10:25
Add openai_gpt_6_astra, openai_gpt_6_sol, openai_gpt_6_luna, and
openai_gpt_6_1_sol to the agent-advisor OpenAI-to-Bedrock catalog,
ported from the already-verified facts in shared/ai/ai-openai-to-bedrock.md
and shared/ai/bedrock-pricing-cache.md (PR aws#433). Entries follow the
openai_gpt_5_6_sol template shape; placed after openai_gpt_5_4 (not
before openai_gpt_5_6_sol) so the engine's dict-order fallback keeps
selecting GPT-5.x candidates for GPT-5.x sources.

Extended the catalog's top-level disclaimer and model-recommend.md's
OpenAI routing paragraph (Step 2) to describe GPT-6 same-model routing,
its narrower in-region mantle footprint (Astra: us-east-1+us-west-2;
Sol/Luna/6.1 Sol: us-east-1 only), the mantle Chat Completions deviation
from the GPT-5.x pattern, and GPT-6 Astra's CRIS Invoke gap.

Added the four new catalog keys to test_scoring.py's
_POOL_LIFECYCLE_KEYS (the one existing test that enumerates the full
model-selection pool by name).

Verification (see .agents/tasks/gpt6-agent-advisor-catalog/verification.md
in the startups-pr repo for full detail):
- python3 -m json.tool ... openai-bedrock-2026-08-21.json: valid JSON
- skills/agent-advisor/scripts: uv run --with pytest python -m pytest -q
  -> 323 passed
- mise -C plugins/aws-startup-advisor run ci -> all checks green
  (lint:md 0 errors, lint:model-id OK, lint:model-staleness fresh,
  lint:artifacts PASS, lint:vendored-parity PASS, lint:skill-refs PASS,
  test 391 passed, test:heroku-source-review 44 passed)

Out of scope per plan/SCOPE GUARD: skills/shared/ai/*, gcp-to-aws,
azure-to-aws, llm-to-bedrock skills; openai_model_recommendation.py's
family-detection/candidate-order dispatch logic (new GPT-6 source IDs
still fall through to 'unknown' family -- a separate, flagged gap).
…ling

Review (CHANGES_REQUESTED) found two numeric data-entry errors in all
four new GPT-6 catalog entries:

- context_window was 272000, but the shared source facts
  (ai-openai-to-bedrock.md, bedrock-pricing-cache.md) state the real
  context window is 1.05M tokens; 272K is only the short/long-context
  pricing-tier boundary, the same relationship the existing
  openai_gpt_5_6_sol/terra/luna entries already encode as 1000000.
  Fixed to 1050000 across Astra, Sol, Luna, and 6.1 Sol.
- output_token_ceiling was left "unknown" despite being a sourced
  fact (128,000 for Astra/Sol/Luna, 131,072 for 6.1 Sol). Populated,
  since _numeric_requirement_conflict in openai_model_recommendation.py
  fails closed on "unknown" and would needlessly block a hard
  output-token requirement the real ceiling could satisfy.

Updated each entry's capability_source prose to match the corrected
fields (1.05M window / 272K pricing boundary; names the populated
output ceiling) without touching any other sourced claim.

Verification (full detail in
.agents/tasks/gpt6-agent-advisor-catalog/verification.md in the
startups-pr repo):
- python3 -m json.tool ... openai-bedrock-2026-08-21.json: valid JSON
- mise -C plugins/aws-startup-advisor run ci -> all checks green
  (lint:md 0 errors, lint:model-id OK, lint:model-staleness fresh,
  lint:artifacts PASS, lint:vendored-parity PASS, lint:skill-refs PASS,
  test 391 passed, test:heroku-source-review 44 passed)
@herosjourney
herosjourney requested review from a team as code owners October 14, 2026 17:44

@leon1418 leon1418 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[🤖 AI review 🤖]

Reviewed 96ee9d7cc64897a2b1503ca4ad37965fe6b9f6e4 with OCR delegation, an isolated independent reviewer, and repository/consumer checks. Two corrections remain:

  1. Connect the four GPT-6 catalog entries to the deterministic selector and add end-to-end routing tests. The new same-model behavior is currently unreachable.
  2. Correct the Sol/Luna image-input capability entries using the current model cards, so completing routing also supports their documented vision workloads.

Validation: 323 advisor tests and 391 plugin tests passed; model ID/staleness, artifact, vendored-parity, skill-reference, changed-Markdown lint and diff checks passed. A 96-case schema-valid base/head probe selected no GPT-6 model; the independent reviewer reproduced the same gap, and its 32 cases were verified against the original checkout. These are offline checks, not target-account inference validation.

@leon1418 leon1418 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[🤖 AI review 🤖]

Follow-up review of 015b22ea040efe1cccd6246a27b84c85b73c980f completed with OCR delegation, one isolated independent reviewer, repository checks and a passing convergence gate. The original GPT-6 selection and Sol/Luna vision fixes are verified. Two P2 issues introduced by the routing changes remain: incomplete Chat-path verification/migration guidance, and exception/schema failures in early region-filtered decisions. The consolidated corrections and reproductions are in the original routing conversation.

Validation: 342 advisor tests and 391 plugin tests passed, plus model-ID/lifecycle, artifact, vendored-parity, skill-reference, changed-Markdown and diff checks. The independent reviewer passed 169 supplied tests; all 33 of its current/base/prior comparisons were reproduced against original Git source. No live AWS invocation was performed. Approval remains for the user.

Verification:
- uv run --no-project --with pytest --with jsonschema python -m pytest test_openai_model_recommendation.py test_verify_model_path.py -q (90 passed)
- mise -C plugins/aws-startup-advisor run ci && git diff --check (391 Python tests, 57 Node tests, all lint/parity checks passed)

@leon1418 leon1418 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[🤖 AI review 🤖]

Follow-up review of b2bcf5d8e65d79554b59003bb57c5b035a77c759 completed with a passing hybrid/convergence gate. The previous Chat integration and region-decision findings are fixed. One P2 remains: GPT-6 runtime selection generates unsupported EU/AU CRIS IDs despite required Geo residency. This case was present at 015b22e, and I missed it in the previous review. Details, public model-card evidence and the bounded correction are in the original routing conversation.

Validation: 349 advisor and 391 plugin tests passed, plus repository contract checks and both changed Markdown files. The independent reviewer passed 152 tests; all 36 of its current/base/prior outputs were reproduced against original Git source. These are offline checks, not target-account inference validation.

Semantic union preserves GPT-6 exact routing, image input, Mantle Chat and Responses verification, region-aware options, and Converse fallback while adopting the 2026-09-24 catalogs, Opus 5.5 profile architecture, cache invalidation, and upstream hardening.

Fix unsupported GPT-6 EU/AU CRIS IDs by applying model-specific profile eligibility before selection and in decision options.

Verification: 152 pre-merge focused; 336 combined GPT-6/Opus; 509 agent-advisor scripts; 444 startup-advisor CI; model/staleness/vendored/skill-ref lints passed (51 vendored files, 1316 refs); root validate/build constituent tasks passed (2607 Markdown files, no leaks); 9 JSON/TOML files parsed; diff/marker checks passed.
@herosjourney
herosjourney added this pull request to the merge queue Oct 20, 2026
Merged via the queue into aws:main with commit b1e5742 Oct 20, 2026
10 checks passed
@herosjourney
herosjourney deleted the feat/gpt6-agent-advisor-catalog branch October 20, 2026 17:30
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