Skip to content

Reduce duplicate CI work and fix HTTP contract bugs - #1035

Merged
CaliLuke merged 3 commits into
mainfrom
luca/ci-and-schema-contracts
Oct 22, 2026
Merged

CaliLuke merged 3 commits into
mainfrom
luca/ci-and-schema-contracts

Conversation

@CaliLuke

Copy link
Copy Markdown
Owner

CI previously ran the same 15 coverage-consuming packages in both the root suite and the coverage ratchet. make test-ci runs that group once with cross-package instrumentation, then runs the other 82 packages once. The ratchet still uses only its configured consumers, and aggregate coverage includes the full root suite. Race, integration, OpenAPI, generated-code and corpus gates remain intact. Formal verification remains an explicit design tool, outside CI.

This batch also fixes two correctness problems:

  • Reject bare media-type tokens such as application when constructing HTTP response negotiation policies, preventing a later matching panic.
  • Admit scalar/object and nested unions in documentation-only request and response bodies. Copy the schema before applying modifiers, keep schema-validation visits separate from runtime codec admission, and preserve explicit component names without runtime body transformation. Shared typed methods retain their codecs and runtime untagged restrictions.

Validation: focused regressions and coverage-harness integration tests; full DSL/expression/OpenAPI package checks; rendered schema assertions, libopenapi and pinned Vacuum; generated-module compilation; byte-identical existing inline-body and untagged fixtures; independent-process determinism for all 16 expanded raw-body artifacts; independent review of each atomic commit. The repository pre-push lint and full root suite passed. End-to-end CI timing and the complete coverage-ratchet verdict will come from this PR run; the earlier local combined run was interrupted by disk exhaustion after its consumer group completed.

Fixes #1034.

Allow scalar and nested branches in documentation-only untagged bodies while retaining runtime codec admission. Copy documentation occurrences before modifiers and preserve explicit schema naming without runtime body transformation.

Fixes #1034
@coderabbitai

coderabbitai Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 9f0d7eca-7308-4557-8674-5475a88b9718
📥 Commits

Reviewing files that changed from the base of the PR and between 9c67df5 and 9c30b10.

📒 Files selected for processing: 36
  • .agents/skills/loom-framework/SKILL.md
  • .agents/skills/loom-framework/references/formal-models.md
  • .agents/skills/loom/SKILL.md
  • .github/workflows/test.yml
  • Makefile
  • docs/dsl-reference.md
  • docs/http-guide.md
  • dsl/attribute_oneof.go
  • dsl/http_endpoint_body.go
  • expr/attribute_schema.go
  • expr/attribute_schema_validation_test.go
  • expr/attribute_validate.go
  • expr/attribute_wire_names_test.go
  • expr/http_body_types.go
  • expr/http_documentation_union_test.go
  • expr/http_endpoint_finalize.go
  • expr/http_endpoint_validate.go
  • expr/http_response.go
  • expr/tla/documentation_schema/Checked.cfg
  • expr/tla/documentation_schema/DocumentationSchema.tla
  • expr/tla/documentation_schema/Old.cfg
  • expr/tla/documentation_schema/README.md
  • expr/tla/documentation_schema/Shared.cfg
  • expr/tla/union_branch_admission/README.md
  • expr/transport_nullable_test.go
  • http/codegen/documentation_union_compile_test.go
  • http/codegen/openapi/v3/documentation_union_test.go
  • http/codegen/openapi/v3/testdata/golden/raw-request-bodies_file0.golden
  • http/codegen/openapi/v3/testdata/golden/raw-request-bodies_file1.golden
  • http/codegen/testdata/streaming_dsls.go
  • http/response_negotiation.go
  • http/transport_policy_test.go
  • scripts/coveragecheck/main.go
  • scripts/coveragecheck/suite.go
  • scripts/coveragecheck/suite_test.go
  • scripts/lint_ci_contract.sh
+---------------------------------------------------------------------------------------+
| If you don't fail at least 90% of the time, you're not aiming high enough. - Alan Kay |
+---------------------------------------------------------------------------------------+
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@CaliLuke
CaliLuke marked this pull request as ready for review October 22, 2026 21:59
@CaliLuke
CaliLuke merged commit 9c30b10 into main Oct 22, 2026
12 of 17 checks passed
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.

Authored OpenAPI response unions reject nested and scalar/object branches

1 participant