Skip to content

Add content to the "Concepts" section of the documentation#272

Merged
alexander-yevsyukov merged 46 commits intomasterfrom
docs-set-5
Feb 27, 2026
Merged

Add content to the "Concepts" section of the documentation#272
alexander-yevsyukov merged 46 commits intomasterfrom
docs-set-5

Conversation

@alexander-yevsyukov
Copy link
Copy Markdown
Collaborator

@alexander-yevsyukov alexander-yevsyukov commented Feb 26, 2026

This PR adds the content to the "Concepts" section and adds empty pages drafting the navigation structure for the complete documentation.

Other notable changes

  • A skill Writer was added under the .agents directory.
  • Drafted task documents for the remaining documentation work.

Copilot AI review requested due to automatic review settings February 26, 2026 21:26
@alexander-yevsyukov alexander-yevsyukov self-assigned this Feb 26, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds comprehensive content to the "Concepts" section of the Spine Validation documentation, providing a conceptual explanation of how validation works at build time and runtime. The changes introduce new documentation pages explaining validation options, constraints, violations, and error handling, along with supporting skill definitions for documentation writing.

Changes:

  • Created the main Concepts landing page explaining validation vocabulary, constraint execution, and nested validation
  • Added an Options overview page detailing where validation options come from and how they influence generated code
  • Introduced documentation writing skill definitions and templates to guide future documentation efforts
  • Removed obsolete time_options.proto file and updated documentation planning files

Reviewed changes

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

Show a summary per file
File Description
docs/content/docs/validation/02-concepts/_index.md Replaces draft placeholder with comprehensive concepts overview
docs/content/docs/validation/02-concepts/options-overview.md New page explaining validation options and code generation pipeline
docs/data/docs/validation/2-0-0-snapshot/sidenav.yml Adds Options overview to navigation structure
.agents/tasks/validation-documentation-plan.md Updates documentation plan to reflect completed Concepts section
.agents/tasks/archive/concepts-plan.md Archives completed concepts implementation plan
.agents/tasks/working-with-error-messages.md Defines requirements for future error message documentation
skills/writer/SKILL.md Defines documentation writing skill for the validation repository
skills/writer/assets/templates/*.md Provides templates for KDoc examples and documentation pages
docs/_options/time_options.proto Removes file (likely moved or consolidated elsewhere)
docs/_examples Updates subproject reference
version.gradle.kts Increments snapshot version

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .agents/tasks/working-with-error-messages.md Outdated
Get theme updates with the fixed image rendering
Copilot AI review requested due to automatic review settings February 27, 2026 16:58
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 24 out of 25 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread skills/writer/assets/templates/kdoc-example.md Outdated
Comment thread docs/content/docs/validation/02-concepts/_index.md
- `field_value` — the invalid value packed as `google.protobuf.Any`.

When you need a human-readable message, format the `TemplateString` from the violation.
See [Working with error messages](working-with-error-messages.md) for message formatting,
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

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

There are two concrete link issues: (1) ../01-getting-started/first-model is inconsistent with the later first-model.md link and is likely to break depending on the site’s URL strategy; align them (prefer the same target used elsewhere in this page). (2) working-with-error-messages.md does not match the added page filename (error-messages.md), so those links will 404—update both occurrences to error-messages.md.

Copilot uses AI. Check for mistakes.
Comment thread docs/content/docs/validation/02-concepts/_index.md
Comment on lines +105 to +106
- Customize and format messages:
[Working with error messages](working-with-error-messages.md).
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

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

There are two concrete link issues: (1) ../01-getting-started/first-model is inconsistent with the later first-model.md link and is likely to break depending on the site’s URL strategy; align them (prefer the same target used elsewhere in this page). (2) working-with-error-messages.md does not match the added page filename (error-messages.md), so those links will 404—update both occurrences to error-messages.md.

Copilot uses AI. Check for mistakes.
Comment thread docs/content/docs/validation/00-intro/philosophy.md
Copilot AI review requested due to automatic review settings February 27, 2026 17:58
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 32 out of 33 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .agents/tasks/built-in-options-plan.md Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings February 27, 2026 18:02
@alexander-yevsyukov alexander-yevsyukov marked this pull request as ready for review February 27, 2026 18:05
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 32 out of 33 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -0,0 +1,12 @@
```kotlin
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

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

This template’s outer fenced code block uses triple backticks, but it also contains a nested triple-backtick fence inside the KDoc example (line 6). That will prematurely close the outer fence in Markdown renderers. Use a different outer fence (e.g., quadruple backticks or tildes) so the nested ```kotlin block is preserved as literal text (the .agents/.../kdoc-example.md version already demonstrates the safer approach).

Copilot uses AI. Check for mistakes.
Comment on lines +128 to +130
A(Protobuf) --> B(Generated code)
B --> C(Domain logic)
subgraph B [Generated Java/Kotlin/TypeScript]
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

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

The Mermaid diagram defines node B (line 128) and then reuses B as a subgraph identifier (line 130), which can break rendering due to identifier collision. Also, the subgraph is empty (it doesn’t contain node B). Rename the subgraph to a distinct id and include the B node within the subgraph so the diagram renders consistently.

Suggested change
A(Protobuf) --> B(Generated code)
B --> C(Domain logic)
subgraph B [Generated Java/Kotlin/TypeScript]
A(Protobuf) --> B
B --> C(Domain logic)
subgraph GeneratedLayer [Generated Java/Kotlin/TypeScript]
B(Generated code)

Copilot uses AI. Check for mistakes.
Comment thread docs/content/docs/validation/02-concepts/options-overview.md Outdated
Comment thread skills/writer/SKILL.md Outdated
Comment on lines +3 to +47
description: Write, edit, and restructure user-facing and developer-facing documentation for the Spine `validation` repository. Use when asked to create/update docs such as `README.md`, `docs/**`, `CONTRIBUTING.md`, and other Markdown documentation; when drafting tutorials, guides, troubleshooting pages, or migration notes; and when improving inline API documentation (KDoc) and examples.
---

# Write documentation (repo-specific)

## Decide the target and audience

- Identify the target reader: end user, contributor, maintainer, or tooling/automation.
- Identify the task type: new doc, update, restructure, or documentation audit.
- Identify the acceptance criteria: “what is correct when the reader is done?”

## Choose where the content should live

- Prefer updating an existing doc over creating a new one.
- Place content in the most discoverable location:
- `README.md`: project entry point and “what is this?”.
- `docs/`: longer-form docs (follow existing conventions in that tree).
- `CONTRIBUTING.md`: contributor workflows.
- Source KDoc: API usage, examples, and semantics that belong with the code.

## Follow local documentation conventions

- Follow `.agents/documentation-guidelines.md` and `.agents/documentation-tasks.md`.
- Use fenced code blocks for commands and examples; format file/dir names as code.
- Avoid widows, runts, orphans, and rivers by reflowing paragraphs when needed.

## Make docs actionable

- Prefer steps the reader can execute (commands + expected outcome).
- Prefer concrete examples over abstract descriptions.
- Include prerequisites (versions, OS, environment) when they are easy to miss.
- Use consistent terminology (match code identifiers and existing docs).

## KDoc-specific guidance

- For public/internal APIs, include at least one example snippet demonstrating common usage.
- When converting from Javadoc/inline comments to KDoc:
- Remove HTML like `<p>` and preserve meaning.
- Prefer short paragraphs and blank lines over HTML formatting.

## Validate changes

- For code changes, follow `.agents/running-builds.md`.
- For documentation-only changes in Kotlin/Java sources, prefer `./gradlew dokka`.

Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

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

The PR adds the Writer skill in two locations (skills/writer/... and .agents/skills/writer/...) with seemingly duplicated content (SKILL.md, openai.yaml, templates). This duplication is likely to drift over time. Consider keeping a single canonical location (preferably .agents/skills/writer/... based on the PR description) and removing or explicitly documenting why both copies must exist and how they are kept in sync.

Suggested change
description: Write, edit, and restructure user-facing and developer-facing documentation for the Spine `validation` repository. Use when asked to create/update docs such as `README.md`, `docs/**`, `CONTRIBUTING.md`, and other Markdown documentation; when drafting tutorials, guides, troubleshooting pages, or migration notes; and when improving inline API documentation (KDoc) and examples.
---
# Write documentation (repo-specific)
## Decide the target and audience
- Identify the target reader: end user, contributor, maintainer, or tooling/automation.
- Identify the task type: new doc, update, restructure, or documentation audit.
- Identify the acceptance criteria: “what is correct when the reader is done?”
## Choose where the content should live
- Prefer updating an existing doc over creating a new one.
- Place content in the most discoverable location:
- `README.md`: project entry point and “what is this?”.
- `docs/`: longer-form docs (follow existing conventions in that tree).
- `CONTRIBUTING.md`: contributor workflows.
- Source KDoc: API usage, examples, and semantics that belong with the code.
## Follow local documentation conventions
- Follow `.agents/documentation-guidelines.md` and `.agents/documentation-tasks.md`.
- Use fenced code blocks for commands and examples; format file/dir names as code.
- Avoid widows, runts, orphans, and rivers by reflowing paragraphs when needed.
## Make docs actionable
- Prefer steps the reader can execute (commands + expected outcome).
- Prefer concrete examples over abstract descriptions.
- Include prerequisites (versions, OS, environment) when they are easy to miss.
- Use consistent terminology (match code identifiers and existing docs).
## KDoc-specific guidance
- For public/internal APIs, include at least one example snippet demonstrating common usage.
- When converting from Javadoc/inline comments to KDoc:
- Remove HTML like `<p>` and preserve meaning.
- Prefer short paragraphs and blank lines over HTML formatting.
## Validate changes
- For code changes, follow `.agents/running-builds.md`.
- For documentation-only changes in Kotlin/Java sources, prefer `./gradlew dokka`.
description: Compatibility alias for the writer skill. The canonical definition lives in `.agents/skills/writer/SKILL.md`; do not update this copy directly.
---
# Writer skill (alias)
This file exists only for backward compatibility with tooling that expects skills
under `skills/`. The canonical, up-to-date definition of the **writer** skill,
including its detailed guidance, templates, and configuration, is located at:
- `.agents/skills/writer/SKILL.md`
When modifying the writer skill:
- Edit `.agents/skills/writer/SKILL.md` instead of this file.
- If this file must change (for example, renaming the skill ID), mirror only the
minimal metadata in the front matter and keep this notice intact.
No further guidance is intentionally included here to avoid divergence from the
canonical definition.

Copilot uses AI. Check for mistakes.
## Placement

- Placement of the page: after “Built-in options”, before “Custom validation”.
- Hugo section (minimal change): add the page under `docs/content/docs/validation/02-concepts/`.
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

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

This task plan says the third-party messages page should live under 02-concepts/third-party-messages.md, but the PR actually introduces docs/content/docs/validation/04-third-party-messages/_index.md and wires it in the sidenav as 04-third-party-messages. Update the plan to match the implemented location (or adjust the docs location) so future work doesn’t target the wrong path.

Copilot uses AI. Check for mistakes.

## Output

Implemented as `docs/content/docs/validation/02-concepts/third-party-messages.md`.
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

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

This task plan says the third-party messages page should live under 02-concepts/third-party-messages.md, but the PR actually introduces docs/content/docs/validation/04-third-party-messages/_index.md and wires it in the sidenav as 04-third-party-messages. Update the plan to match the implemented location (or adjust the docs location) so future work doesn’t target the wrong path.

Copilot uses AI. Check for mistakes.
@alexander-yevsyukov alexander-yevsyukov requested review from armiol and removed request for Copilot February 27, 2026 18:05
Copilot AI review requested due to automatic review settings February 27, 2026 18:16
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 32 out of 33 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings February 27, 2026 18:21
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 28 out of 29 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@alexander-yevsyukov alexander-yevsyukov merged commit 1761e40 into master Feb 27, 2026
8 checks passed
@alexander-yevsyukov alexander-yevsyukov deleted the docs-set-5 branch February 27, 2026 18:35
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.

4 participants