Skip to content

feat(report): status/v1 and check/v1 schemas; a compatibility page - #16

Merged
AlexeyShalaev merged 1 commit into
masterfrom
docs/formats
Oct 8, 2026
Merged

AlexeyShalaev merged 1 commit into
masterfrom
docs/formats

Conversation

@AlexeyShalaev

Copy link
Copy Markdown
Member

touchmark stays at 0.x, so this writes down what users can rely on, and closes the one JSON report that had no schema.

  • status/v1 and check/v1. The JSON reports of status, apply and check gain a schema field and JSON Schemas (touchmark schema status, touchmark schema check), documented in Reports from the schemas. Tests validate samples and every golden report of the CLI against them, and keep the schema's states, actions and opt_in values equal to Go's. The field is the only change to the output, so it is additive.
  • Compatibility, a new reference page. Configuration files at version: 1 change only by adding; versioned reports only by adding fields and values; what touchmark leaves in repositories stays readable, with the marker's payload frozen (a change would be touchmark:v2, read alongside v1); command and flag names, exit codes, variables, CI report file names, Action inputs and the image are stable; text output, messages and Go packages are not. Deprecations warn, are announced in the changelog, and keep working at least two minor releases and six months; it lists the two deprecated keys (commit.author, a bare repos: list), which stay.
  • No PyPI. The release page's Adding PyPI later is gone: a release is the binaries, the image and the Action.
  • The text that still spoke of 1.0 (CONTRIBUTING.md, the release page, commit.author's "Removed in v1") now points to the compatibility page or says what happens.

go test ./internal/report ./internal/cli ./schemas ./scripts/docs passes (the CLI suite in golang:1.27, whose goldens were regenerated with -update).

The JSON reports of status, apply and check now carry a schema field, status/v1 and check/v1, and have JSON Schemas (touchmark schema status, touchmark schema check), with tests that validate them against samples and every golden report and keep their states, actions and opt_in values equal to Go's. The fields are added; nothing else in the reports changes.

docs/reference/compatibility.md says what a hub and a script can rely on at 0.x: configuration files at version 1 change only by adding, versioned reports only by adding fields and values, what touchmark leaves in repositories stays readable (the marker's payload is frozen), and the command line, exit codes, variables, report file names, Action inputs and image are stable; text output and messages are not. It lists the two deprecated keys, which stay, with a warning.

Also: no PyPI release (the section on adding it later is gone), and the text that still spoke of 1.0 points to the compatibility page.
@AlexeyShalaev
AlexeyShalaev merged commit ab71337 into master Oct 8, 2026
22 checks passed
@AlexeyShalaev
AlexeyShalaev deleted the docs/formats branch October 8, 2026 06:25
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