Skip to content

ci(spec-sync): read the V2 spec from aide's S3 publish, not the gateway - #172

Merged
cat101 merged 2 commits into
mainfrom
ci/v2-spec-sync-from-s3
Oct 2, 2026
Merged

cat101 merged 2 commits into
mainfrom
ci/v2-spec-sync-from-s3

Conversation

@cat101

@cat101 cat101 commented Oct 2, 2026

Copy link
Copy Markdown
Member

Why

aide is about to narrow each gateway's public /openapi.json to the documented subset — the documented spellings only, no aliases, and no undocumented routes such as /v2/workflow, /v2/extract/build-schema or /v1/classify/jobs. specs/v2-aide.json tracks the full customer surface (the SDK already ships a v2 build_schema resource), so reading the gateway after that change would report those routes as removed.

What

V2_SPEC_URL → https://ade-specs.s3.amazonaws.com/v2/staging/openapi.json, which aide's publish-openapi.yml generates offline from release/staging (dump_openapi.py --mode explicit) and uploads on every staging push. The header comment there already names the SDK spec-sync as its consumer.

Checked today: the S3 object and aide.staging.landing.ai/openapi.json are identical after jq -S, so this switch draws no drift by itself. Side effect: the V2 loop no longer depends on staging being booked. V1 is untouched.

Must merge before the aide change that narrows the gateway spec.

🤖 Generated with Claude Code

aide is narrowing each gateway's public /openapi.json to the documented
subset (no aliases, no undocumented routes such as v2 workflow and v2
build-schema). The SDK tracks the full customer surface, which aide's
publish-openapi.yml already uploads from release/staging to public S3.
Byte-identical to aide.staging.landing.ai/openapi.json today, so this
switch draws no drift on its own.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Copilot AI 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.

Copilot review overview

🟡 Changes recommended

V2 still treats an S3 404 as a successful skip, allowing drift detection to stop without an alert.

Review effort: Balanced
Findings: 1 Medium severity

Open (1)
What changed in this PR

Switches V2 spec synchronization to aide’s S3-published spec before gateways narrow their OpenAPI output.

Changes:

  • Points V2 drift detection at the staging S3 artifact; leaves V1 unchanged.
  • Updates comments and contributor documentation to explain the source.
File Description
CONTRIBUTING.md Documents the V2 S3 source.
.github/​workflows/​spec-sync.yml Changes V2_SPEC_URL and explains source selection.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/spec-sync.yml
The exit-20 no-op exists because an unbooked staging cluster 404s. The V2
source is now a published S3 artifact that does not go away with staging,
so a 404 there means a broken publish, and skipping it silently would stop
V2 drift detection. V1 keeps its skip.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 2, 2026 21:00

Copilot AI 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.

Copilot review overview

🟢 Approval recommended

The source switch and failure handling are consistent, with only a non-blocking comment correction remaining.

Review effort: Balanced
Findings: None

Resolved since last review (1)

@cat101
cat101 merged commit e5fb87e into main Oct 2, 2026
6 checks passed
@cat101
cat101 deleted the ci/v2-spec-sync-from-s3 branch October 2, 2026 21:03
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