Skip to content

fix: compile-check says how to get its changed-files check back - #3332

Merged
hatayama merged 1 commit into
feature/compile-check-changed-files-checkfrom
fix/compile-check-fallback-guidance
Oct 15, 2026
Merged

hatayama merged 1 commit into
feature/compile-check-changed-files-checkfrom
fix/compile-check-fallback-guidance

Conversation

@hatayama

@hatayama hatayama commented Oct 15, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • When compile-check falls back to a full compile because the last one had errors, the reason now says what brings the changed-files check back.
  • The skill and docs now cover two cases an agent using compile-check ran into: using changes, and projects that treat warnings as errors.

User Impact

These come from an agent writing a game on a project with 561 assemblies and running compile-check 32 times.

  • Fallback reason. Before: no baseline: the last full compile had errors. The agent saw three full compiles in a row and could not tell from the output when the fast check would return. After: no baseline: the last full compile had errors; the first full compile without errors records one.
  • using directives. Adding or removing a using directive makes the next run a full compile, because it can change what every name in the file resolves to. Neither the skill nor the docs said so, so the full compile came without an explanation. Both now say it counts as a declaration change.
  • Warnings as errors. In a project that compiles with -warnaserror, rules the changed-files check cannot run, such as CS0414, fail only the --full run. The skill and docs now say this, next to the advice to run --full before finishing.

Changes

  • The reason string of a missing baseline after a failed full compile, with the store's comment that lists the reasons.
  • docs/compile-check.md:
    • the new reason, and that the assembly is compiled in full until a compile succeeds;
    • using directives in the list of conditions;
    • -warnaserror among what the check does not guarantee.
  • The compile-check skill: one sentence each on using directives and -warnaserror. It is now 7,004 bytes.

Verification

  • The two tests that expect the reason (TestFailedFullCompileLeavesNoBaseline and the store's TestLoadBaselineExplainsAMissingBaseline) were changed first and failed before the string changed.
  • git grep 'last full compile had errors' finds only the new string.
  • cli/dispatcher:
    • golangci-lint fmt --diff is empty; go vet ./... passes; golangci-lint run and the complexity config both report 0 issues.
    • go test ./... and go test -race ./internal/compilecheck/... pass.
    • Coverage with the CI exclusions: 94.26% (baseline 94.2).
  • cli/release-automation: go test ./... passes; check-skill-size passes; the file-length check passes.
  • scripts/sync-tool-docs.sh --check reports no drift.
  • Repository CI does not run on pull requests into this branch; the checks above were run locally.
  • This PR is stacked on fix: compile-check keeps the records of assemblies it blocks #3331.

View guided diff

@coderabbitai

coderabbitai Bot commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Note

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

⚙️ Run configuration
  • Configuration used: Repository: hatayama/unity-cli-loop/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: c393e296-ceea-48ae-a0af-113c056b01f5
📥 Commits

Reviewing files that changed from the base of the PR and between 1ccbf3d and 8a9e25b.

📒 Files selected for processing: 6
  • Packages/src/Editor/CliOnlyTools~/CompileCheck/Skill/SKILL.md
  • cli/dispatcher/internal/compilecheck/fast_path_test.go
  • cli/dispatcher/internal/compilecheck/resultstore/baseline.go
  • cli/dispatcher/internal/compilecheck/resultstore/baseline_contract_test.go
  • cli/dispatcher/internal/compilecheck/resultstore/store.go
  • docs/compile-check.md
+--------------------------------------------+
| I feel the need - the need for clean code! |
+--------------------------------------------+
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ 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.

Base automatically changed from fix/compile-check-keep-blocked-records to feature/compile-check-changed-files-check October 15, 2026 06:11
…le with errors

The fallback reason after a full compile with errors now says that the
first full compile without errors records a new baseline, so an agent
that sees several full compiles in a row knows when the changed-files
check comes back.

The skill and the compile-check doc also say that adding or removing a
using directive counts as a declaration change, and that in a project
that treats warnings as errors the rules listed in UncheckedCodes fail
only the --full run.
@hatayama
hatayama force-pushed the fix/compile-check-fallback-guidance branch from 8a9e25b to f70aaff Compare October 15, 2026 06:11
@hatayama
hatayama merged commit aebad28 into feature/compile-check-changed-files-check Oct 15, 2026
3 checks passed
@hatayama
hatayama deleted the fix/compile-check-fallback-guidance branch October 15, 2026 06:13
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.

1 participant