anthropic + anthropic_admin StackQL providers (monorepo factory)#1
Merged
Merged
Conversation
- factory/: locate (stats.yml drift check), download, pre-pass (3.1 downlevel, header defaults, exclusions), service-map (12-service taxonomy), scrub-unions (post-normalize union collapse), post-pass (body binding, cursor pagination) - beta-flags.yaml extracted from PyPI anthropic 0.116.0 (corrects the audit-time table for files/skills/user_profiles) - messages service generated, loaded in stackql v0.10.542, meta routes + mock SELECTs green (inference-as-SELECT, naive body translate, $.data unwrap, header auto-injection all verified) - spike findings recorded in CLAUDE.md Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M5qQSBivc7W458yqJG9i5a
…hods - factory/csv-review-bootstrap.mjs: one-time mapping review of all 104 ops (resource splits, work_items rename, work_stats relocation, exec routing for lifecycle/multipart/JSONL, SELECT for inference) - factory/guards.mjs: guards 1-4,6 (spec-coverage diff, select-shape consistency, signature uniqueness, no-polymorphism, zero-column selects) — all green; guard 5 is locate.mjs - npm run build: locate->download->prepass->split->normalize+scrub-> analyze->generate->post-pass->guards; regen verified byte-idempotent - meta walk: SHOW/DESCRIBE clean on all 26 resources; every EXEC method name parse-tested (add/run/stop/poll/... all safe) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M5qQSBivc7W458yqJG9i5a
- bin/: meta-route harness + server scripts (aws archetype); walk is green: 12 services / 26 resources / 104 methods, zero errors - tests/mock/mock-server.cjs: wire-contract-enforcing mock (401 no key, 400 no anthropic-version, 400 beta path without per-endpoint flag), 2-page cursor agents list, after_id lists with populated last_id, stateful agents store; admin routes included for Phase 3 - tests/smoke.cjs + manifest.yaml + queries/: manifest-driven runner (aws smoke.py architecture, Node port) — 13/13 mock tests green incl. agents INSERT(RETURNING)/SELECT/UPDATE/EXEC-archive lifecycle, pagination walk, inference-as-SELECT; live subset gated on ANTHROPIC_API_KEY Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M5qQSBivc7W458yqJG9i5a
- hand-authored per-service source specs transcribed from the canonical platform docs .md reference pages (organization/users/invites, workspaces/members/rate_limits, api_keys list-get-update only, usage_report messages+claude_code, cost_report, org rate_limits) - all four admin open questions resolved empirically on the mock and pinned in CLAUDE.md: (a) $.data row shape (deep objectKey works but drops bucket timestamps), (b) array query params take one scalar, double-quoted identifiers, (c) ending_at optional, (d) fast-mode header optional with no default - found + worked around stackql v0.10.542 EXEC prepare panic (response schemas without an array property SIGSEGV; bare-scalar responses fail to bind): post-pass stamps a synthetic schema_override envelope on exec-only methods; all 23 anthropic EXEC methods + admin archive dispatch-verified - guards green (6 services / 11 resources / 27 methods); meta routes zero errors; mock smoke 20/20 (invites + workspaces lifecycles, report pagination walks, group_by wire test, rate limit filters); both trees byte-idempotent Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M5qQSBivc7W458yqJG9i5a
- Docusaurus 3.10 (+@docusaurus/faster) sites for both providers, skeleton mirrored from stackql-provider-databricks; both yarn build clean with zero warnings - docgen via provider-utils generate-docs-v2 with per-provider headerContent (auth docs, coverage/exclusion lists, cross-links between the two sites) - factory/patch-provider-utils.mjs (postinstall): fixes the docgen Required-Params gap — SELECT-routed body-bearing methods now show body-required fields (model, messages, max_tokens) in method tables and produce routable SELECT samples; prepared upstream diff in factory/upstream/provider-utils-select-required-params.patch - factory/scrub-docs.mjs: removes auto-injected header params from SQL samples and double-quotes hyphenated/bracketed identifiers (backticks are a stackql parser error — empirically corrected from the original guidance) - netlify.toml per site (base-directory pattern, selective builds); root netlify.toml documents the two-site setup Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M5qQSBivc7W458yqJG9i5a
- .github/workflows/ci.yml: drift check (guard 5), full regen with byte-idempotency enforcement (git diff --exit-code), guards 1-4+6 via the build scripts, meta routes + mock smoke on both providers, and both website builds - READMEs: root, factory/, and per-provider Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M5qQSBivc7W458yqJG9i5a
… quoting) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M5qQSBivc7W458yqJG9i5a
…k-only) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M5qQSBivc7W458yqJG9i5a
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.
Masters TWO StackQL providers from one factory pipeline, per the work order and the binding rules in
CLAUDE.md.Surface
anthropicd272f069e15d096063103c857fb8e2a7, vendored + drift-guarded)anthropic_admin.mdreference pagesSpec coverage: 126 spec ops − 104 provider ops == exactly the documented 22-op exclusion list (2 SSE streams, 10 OAuth-only tunnels ops, 10 beta twins of GA ops) — mechanized as guard 1.
Guard results (all green, wired in CI)
spec ops 126 − provider ops 104 == exclusions 22✅.stats.ymldrift check:factory/locate.mjsvs pinned snapshot ✅Plus: regeneration is byte-idempotent from the committed CSVs + vendored spec (CI enforces with
git diff --exit-code).Test output
anthropic12/26/104 zero errors, every resource selectable ·anthropic_admin6/11/27 zero errorsx-api-key, 400 withoutanthropic-version, 400 on beta paths without the per-endpointanthropic-betaflag; 2-page cursor lists):anthropic13/13 (inference-as-SELECT with naive body fan-out, agents INSERT/RETURNING → SELECT → UPDATE → EXEC-archive lifecycle, pagination walk, after_id lists terminate) ·anthropic_admin20/20 (admin key-space rejection, invites + workspaces lifecycles, usage/cost/claude_code report pagination,"group_by[]"wire test, rate-limits model filter)ANTHROPIC_API_KEY/ANTHROPIC_ADMIN_KEY(admin live is READ-ONLY)anthropicEXEC methods + admin archive dispatch-verified on the wireEmpirical findings (pinned in CLAUDE.md)
$.databucket rows (deep$.data[*].results[*]objectKey works but drops bucket timestamps); (b) array query params take one scalar value, bracketed identifiers must be DOUBLE-quoted (backticks are a parser error — corrects few-shot 5); (c)ending_atoptional; (d) fast-mode beta header optional with no defaultfactory/post-pass.mjsstamps a syntheticschema_overrideenvelope on affected exec-only methods (19 total). Worth reporting upstream.managed-agentsfactory/upstream/provider-utils-select-required-params.patch) — method tables now showmodel, messages, max_tokensetc. for SELECT-routed body methodsMicrosites
Two Docusaurus 3.10 sites (
anthropic-provider.stackql.io,anthropic-admin-provider.stackql.io), bothyarn buildclean, cross-linked auth docs, Netlify per-site base-directory config committed (no GitHub Pages). SQL samples scrubbed: auto-injected headers removed, bracketed/hyphenated identifiers double-quoted, samples are actually routable.Note
A stray
stackql-providerbranch exists on the remote (created before the default-branch correction; the git proxy swallows branch deletions) — safe to delete in the UI.🤖 Generated with Claude Code
https://claude.ai/code/session_01M5qQSBivc7W458yqJG9i5a
Generated by Claude Code