Conversation
Adapt GeneratorAPI and its tests to service/api v1.0.0; retain the pilot YAML validator and v1 architecture. Wire FILE breaking checks through v1 policy, runtime, generated schemas and MCP. Carry over main build/CI toolchain updates and provide a live-verified remote plugin example. Validate with go test -race -count=1 ./..., go vet, both CLI builds, go mod verify, schema regeneration, and live protoc-gen-go v1.36.11 generation.
Add mutually exclusive descriptor_set_out_dir exports per project/module. Compile and validate all graphs and destinations before running plugins; preserve consumer options and use immutable prepared graphs. Explain descriptor conflicts with source and version context, avoid thin-root targets, and prevent output collisions including directory symlink aliases. Verified with 879 passing tests/subtests under -race, go vet, schema:check, both CLI builds, and all 69 v1 tests/subtests in easyp-test. The new regression reproduces premature plugin execution on the previous binary.
…view Use stable rule deduplication; reject unsupported lint names across runtime, schema and MCP with located diagnostics. Remove the unimplemented cycle rule from the catalog and replace its panic with an error. Resolve absolute replacements consistently. Let explicit --against override policy without promoting its default. Preserve legacy deps and Git-input transitives through MVS. Verified with 930 tests/subtests under -race, go vet, module verification, schema:check, both CLI builds, and all 76 v1 tests/subtests in easyp-test. All five defect regressions fail on the previous binary; the relative replacement control remains green.
Address X-14, X-16, R-20, X-24 and X-26. Apply Go prefixes without implicit language defaults. Compare independently scoped modules with revision-local snapshots, locks and effective policies; retain target paths, FILE checking and baseline-only files. Exclude vendor before policy discovery. Reject changed locked semantic-version identities while preserving normal updates and lock-first downloads. Remove obsolete docs publication from the CLI repository. Verified with 956 tests/subtests under -race, all 94 v1 easyp-test checks with -race and explicit source/binary paths, go vet, go mod verify, schema:check and both CLI builds. All 18 added regression tests/subtests fail against the pre-fix source/binary.
Address X-19/X-22, X-15, X-23, X-18 and X-25. Bound context discovery; make recursive generation opt-in and project selection repeatable. Restore per-plugin with_imports and stage outputs with Go-package collision checks. Resolve compatible tag/SHA/versionless requirements deterministically. Apply scoped lint directives without global state. Reuse locked Git commit objects with verified shallow-fetch fallback. Verified with 970 tests/subtests under -race, 104 v1 easyp-test checks, both CLI builds, go vet, go mod verify and schema:check. Import generation is checked by compiling the generated multi-module Go project. Reproducible cold/warm Git benchmarks retain identical locks.
Add preview-first v0 migration with conservative source equivalence, immutable historical pins, verified legacy hashes, backups and ordinary-failure rollback. Convert native repository configs and add a deterministic self-test to CI. Implement source-relative policy exclusions and unstable package filtering. Tighten manifest parsing, preserve hash comments during edits, respect import-root identities, fix baseline refs/ignore scope and literal plugin argv. Reject advertised-but-unimplemented future settings in schema and align MCP. Verified with 1349 tests/subtests under -race, all 136 v1 easyp-test checks, both CLI builds, go vet, module verification, schema:check and native example smoke. Migration round trips, old pins and hash-domain conversion are exercised against local Git fixtures. Shared policy delivery and local-replace lock semantics remain explicitly out of scope.
Respect Go import mappings and generator headers when relocating output, and reuse producer paths for insertion responses. Preserve Buf source selection through import lookup, compilation, file listing, collisions and vendoring, including lexical and physical aliases. Keep only reachable replacements import-only, canonicalize breaking selectors against revision-local snapshots, and discover historical Git modules after their current directory becomes a file. Add focused regressions and document the resulting behavior. Verified with Go 1.26.6: 13 package groups with -race, go vet, the complete v1 E2E suite (174 top-level / 873 including subtests), 11 live Git scenarios, and Python runtime/gRPC checks using freshly built CLI and MCP binaries.
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.
No description provided.