Skip to content

Fix repository resolution order, add plugin diagnostics, and clean up dependencies (2026-06 audit)#69

Merged
alexander-yevsyukov merged 32 commits into
masterfrom
claude/loving-hypatia-tmv0w1
Jun 16, 2026
Merged

Fix repository resolution order, add plugin diagnostics, and clean up dependencies (2026-06 audit)#69
alexander-yevsyukov merged 32 commits into
masterfrom
claude/loving-hypatia-tmv0w1

Conversation

@alexander-yevsyukov

@alexander-yevsyukov alexander-yevsyukov commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

What this PR does

This PR began as the 2026-06 repository audit and its follow-up plan, and has
grown to execute the highest-leverage findings the repository owns. The audit
documents are included for traceability, but the substance of the PR is the fixes
below. Finding IDs (S2, Q2, A1, …) refer to docs/audit-2026-06.md.

Improvements

Correctness & hygiene (audit Milestone 1):

  • Repository resolution order (S2). Reordered both pluginManagement and
    dependencyResolutionManagement in settings.gradle.kts so gradlePluginPortal()
    is first and mavenLocal() is no longer the first repository, aligning with
    core-jvm-compiler. Removes the footgun of a stale mavenLocal artifact shadowing
    a released one during resolution, while keeping the sibling-repo -SNAPSHOT
    workflow intact (verified via :params:dependencies).
  • Actionable plugin diagnostics (Q2). Replaced the bare protobufExtension!!
    dereferences in the Gradle plugin with a shared Project.protobufExtensionOrFail()
    helper (gradle-plugin/.../plugin/Plugin.kt, Paths.kt). A missing
    com.google.protobuf plugin now fails with a message that names the missing plugin
    id and the offending project path and tells the user how to fix it, instead of an
    opaque NullPointerException.

Pre-GA API surface (audit Milestone 2):

  • :jvm:backend api edge documented (A1). The api(project(":backend"))
    edge in jvm/build.gradle.kts is intentional — downstream consumers program against
    the engine's Pipeline and CodeGenerationContext. Rather than narrow it to
    implementation, the edge now carries a because(...) rationale, closing A1 via the
    audit's sanctioned "record why it must" path and answering audit open question 3.

Cleanup:

  • Removed an outdated backend test (CodeGenerationContextSpec) that no longer
    matched current CompilerEvents behavior, along with the imports it left dead.
  • Removed the outdated ProtoData dependency declaration and refreshed the local
    Spine dependency versions.

Audit & plan (origin)

  • docs/audit-2026-06.md — read-only audit of this repository and core-jvm-compiler
    (architecture, code quality, security, testing, performance, dependencies, DevEx,
    docs), every finding cited as file:line and labeled FACT vs JUDGMENT.
    Health grade: B+, no Critical findings. The snapshot describes master
    @ 3fe9dcb (2026-06-10).
  • .agents/tasks/improvement-plan.md — tracks which findings are done (S2, Q2, A1),
    delegated to config (config#691:
    S1 scrambled PAT, Q3 silent npm-audit catch, coverage policy, workflow
    concurrency + SHA-pinned actions), and still open (T1 params specs, P1 engine
    perf smoke, Doc1 getting-started, A4 process-exit contract).

Open questions for a human before the remaining items start — PAT ownership, GA
timeline, perf budget — are listed in audit §6.

claude added 3 commits June 10, 2026 14:03
Self-version labels updated to match the bump. The full report
regeneration could not run in this environment: the Spine artifact
registries are not reachable from the sandbox (HTTP 403 via egress
policy). Dependency content is unchanged from the last real run.

https://claude.ai/code/session_01J8FpY1sQd1ehN3upW7HiUr

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.

Pull request overview

Adds a repository audit report and a follow-up improvement plan, while bumping the compiler snapshot version and updating the generated dependency-report self-version labels accordingly.

Changes:

  • Bump compiler snapshot version 2.0.0-SNAPSHOT.0462.0.0-SNAPSHOT.047.
  • Update dependency report artifacts/headers to reflect the new snapshot version.
  • Add a technical audit report (docs/audit-2026-06.md) and a draft improvement plan (.agents/tasks/improvement-plan.md) to track follow-up work.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
version.gradle.kts Snapshot version bump for the build/publishing version.
docs/dependencies/pom.xml Updates the dependency report POM’s self <version> to the new snapshot.
docs/dependencies/dependencies.md Updates dependency report headers to the new snapshot version.
docs/audit-2026-06.md Adds the audit report documenting findings and rationale.
.agents/tasks/improvement-plan.md Adds a draft plan for addressing the audit findings (tracking/tasks).

Comment thread docs/audit-2026-06.md Outdated
@codecov

codecov Bot commented Jun 10, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 20.00000% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 75.55%. Comparing base (6235d20) to head (79d7cf2).

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #69      +/-   ##
============================================
+ Coverage     75.34%   75.55%   +0.20%     
- Complexity      672      677       +5     
============================================
  Files           202      202              
  Lines          3947     3943       -4     
  Branches        393      390       -3     
============================================
+ Hits           2974     2979       +5     
+ Misses          855      846       -9     
  Partials        118      118              
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

claude added 3 commits June 10, 2026 14:36
Conflicts resolved by taking the master versions of `version.gradle.kts`
and the dependency reports (regenerated on master by PR #66).

https://claude.ai/code/session_01J8FpY1sQd1ehN3upW7HiUr
Self-version labels updated to match the bump; content as regenerated
on master by PR #66.

https://claude.ai/code/session_01J8FpY1sQd1ehN3upW7HiUr
Copilot AI review requested due to automatic review settings June 10, 2026 14:37

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.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Comment thread version.gradle.kts Outdated
@alexander-yevsyukov alexander-yevsyukov self-assigned this Jun 10, 2026
@alexander-yevsyukov alexander-yevsyukov moved this to 🏗 In progress in v2.0 Jun 10, 2026
@alexander-yevsyukov alexander-yevsyukov moved this from 🏗 In progress to 📋 Backlog in v2.0 Jun 10, 2026
@alexander-yevsyukov alexander-yevsyukov moved this from 📋 Backlog to 🏗 In progress in v2.0 Jun 11, 2026
alexander-yevsyukov and others added 5 commits June 15, 2026 18:31
Apply reviewer feedback to the engine performance smoke test:

- use `kotlin.io.path.createDirectories()` instead of
  `.also { it.toFile().mkdirs() }`, which discarded a `Boolean`;
- wrap the over-long KDoc link line within the 100-column limit;
- backtick the `@DisplayName` subject, matching `PipelineSpec`.

No behavior change; `:backend:performanceTest` and `:backend:build`
remain green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Mark (P1) done: the engine performance smoke signal landed as a
non-gating timed `Pipeline` run guarded by a hang ceiling (commits
e506e37, 5faf39e), which sidesteps the audit's perf-budget open
question instead of waiting on it.

The same file also carries the concurrent (T1) plan-doc updates already
present in the working tree — the T1 checkbox, bullet, and Log entries,
including the `Parameter.equals()` dead-code-removal note. The T1 source
changes belong to a separate, in-flight commit.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 15, 2026 17:57
@alexander-yevsyukov alexander-yevsyukov marked this pull request as ready for review June 15, 2026 17:57

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.

Pull request overview

Copilot reviewed 35 out of 36 changed files in this pull request and generated 1 comment.

Comment thread jvm/build.gradle.kts

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c437fa21bd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 15, 2026 18:09

@armiol armiol 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.

@claude @alexander-yevsyukov please see my comment.

Comment thread backend/src/test/kotlin/io/spine/tools/compiler/backend/perf/PipelineSmokeSpec.kt Outdated

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.

Pull request overview

Copilot reviewed 35 out of 36 changed files in this pull request and generated 1 comment.

Comment thread docs/dependencies/pom.xml
Copilot AI review requested due to automatic review settings June 15, 2026 18:46

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.

Pull request overview

Copilot reviewed 37 out of 38 changed files in this pull request and generated 1 comment.

Comment thread jvm/build.gradle.kts
@alexander-yevsyukov alexander-yevsyukov merged commit 91d84d0 into master Jun 16, 2026
10 checks passed
@alexander-yevsyukov alexander-yevsyukov deleted the claude/loving-hypatia-tmv0w1 branch June 16, 2026 07:54
@github-project-automation github-project-automation Bot moved this from 🏗 In progress to ✅ Done in v2.0 Jun 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

4 participants