Improve the documentation of (required) for maps and repeated fields#929
Improve the documentation of (required) for maps and repeated fields#929alexander-yevsyukov wants to merge 9 commits into
(required) for maps and repeated fields#929Conversation
Adds rule (4) under the `(required)` option, mirroring the new validation behavior agreed in SpineEventEngine/validation#305 — an entry with an empty-string key in a `(required) map<string, V>` is treated as missing. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e199d1c39a
ℹ️ 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".
There was a problem hiding this comment.
Pull request overview
Updates Spine Base Libraries’ (required) option documentation (especially for maps/repeated fields) to reflect recent Validation codegen behavior, while also applying the latest repo “config” conventions (agent instructions, pre-PR/version gates, and helper commands) and bumping snapshot versions/dependency coordinates.
Changes:
- Refined
(required)semantics documentation inspine/options.protofor messages/enums/strings/bytes and collection element handling. - Applied updated agent tooling/config: new
.claudecommands/agents,.agentsskills, and hook scripts for version gating and pre-PR workflow. - Bumped project snapshot version and refreshed several local Spine dependency versions and generated dependency reports.
Reviewed changes
Copilot reviewed 48 out of 51 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
version.gradle.kts |
Bumps published snapshot version. |
docs/dependencies/pom.xml |
Regenerates dependency-report POM version. |
docs/dependencies/dependencies.md |
Regenerates dependency report (version + timestamp). |
CLAUDE.md |
Updates Claude project conventions and workflow guidance. |
buildSrc/src/main/kotlin/io/spine/dependency/local/Validation.kt |
Updates local Validation snapshot version. |
buildSrc/src/main/kotlin/io/spine/dependency/local/Time.kt |
Updates local Time snapshot version. |
buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt |
Updates CoreJvmCompiler snapshot version and fixes KDoc grammar. |
buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt |
Updates Compiler fallback snapshot versions. |
buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt |
Updates local Spine Base snapshot versions. |
base/src/main/proto/spine/options.proto |
Expands (required) documentation for collections and per-element “missing” rules. |
AGENTS.md |
Adds rule clarifying git mv for tracked moves. |
.claude/settings.json |
Adds Claude Code permissions and hook wiring to .agents/scripts/*. |
.claude/commands/write-docs.md |
Adds command wrapper for writer skill. |
.claude/commands/update-copyright.md |
Adds command wrapper for update-copyright skill. |
.claude/commands/run-build.md |
Adds command to select the right build based on changed files. |
.claude/commands/review-docs.md |
Adds command wrapper for documentation review skill. |
.claude/commands/pre-pr.md |
Adds command wrapper for repo-specific pre-PR checklist. |
.claude/commands/move-files.md |
Adds command wrapper for safe moves/renames workflow. |
.claude/commands/java-to-kotlin.md |
Adds command wrapper for Java→Kotlin conversion workflow. |
.claude/commands/dependency-update.md |
Adds command wrapper for dependency refresh skill. |
.claude/commands/bump-version.md |
Adds command wrapper for version bump skill. |
.claude/commands/bump-gradle.md |
Adds command wrapper for Gradle wrapper bump skill. |
.claude/agents/review-docs.md |
Adds read-only doc-review agent definition. |
.claude/agents/kotlin-review.md |
Adds read-only Kotlin/Java review agent definition. |
.claude/agents/dependency-audit.md |
Adds read-only dependency-audit agent definition. |
.agents/version-policy.md |
Clarifies when version gating applies (presence of root version.gradle.kts). |
.agents/tasks/README.md |
Introduces durable task-plan format and lifecycle. |
.agents/skills/version-bumped/SKILL.md |
Documents the version-bumped guard skill and its rationale. |
.agents/skills/version-bumped/scripts/version-bumped.sh |
Adds script to enforce “branch must bump version” guard. |
.agents/skills/review-docs/SKILL.md |
Adds repo-specific documentation review procedure/checklist. |
.agents/skills/pre-pr/SKILL.md |
Adds repo-specific pre-PR orchestration procedure + sentinel format. |
.agents/skills/move-files/SKILL.md |
Tightens move/rename rules and adds /version-bumped as final step. |
.agents/skills/kotlin-review/SKILL.md |
Adds repo-specific Kotlin review procedure/checklist. |
.agents/skills/java-to-kotlin/SKILL.md |
Adds final-step /version-bumped guidance after conversion. |
.agents/skills/dependency-update/SKILL.md |
Adds detailed dependency refresh workflow and reporting format. |
.agents/skills/dependency-update/agents/openai.yaml |
Adds skill metadata for OpenAI interface integration. |
.agents/skills/dependency-audit/SKILL.md |
Adds detailed dependency-audit workflow and checks. |
.agents/skills/bump-gradle/SKILL.md |
Adds final-step guidance to ensure version is bumped. |
.agents/scripts/sanitize-source-code.sh |
Adds post-edit sanitizer for trailing whitespace / double blank lines. |
.agents/scripts/publish-version-gate.sh |
Adds pre-gradle gate to block publish-risky tasks without version bump. |
.agents/scripts/protect-version-file.sh |
Adds pre-edit hook blocking direct edits to version.gradle.kts. |
.agents/scripts/pre-pr-gate.sh |
Adds pre-gh pr create gate requiring a passing /pre-pr sentinel. |
.agents/project-structure-expectations.md |
Clarifies version.gradle.kts applicability wording. |
.agents/memory/reference/.gitkeep |
Adds placeholder for team memory store. |
.agents/memory/README.md |
Documents team memory format and routing rules. |
.agents/memory/project/.gitkeep |
Adds placeholder for project memories. |
.agents/memory/MEMORY.md |
Adds team memory index scaffold. |
.agents/memory/feedback/.gitkeep |
Adds placeholder for feedback memories. |
.agents/coding-guidelines.md |
Clarifies blank-line formatting rule wording. |
.agents/_TOC.md |
Updates TOC to include new memory/tasks/skills entries. |
This PR updates documentation in
options.protoaccording to latest code generation improvements in Validation.Other notable changes
configwas applied.