Skip to content

fix: Do not require start on checks that aren't expected to run - #457

Merged
eddie-knight merged 3 commits into
gemaraproj:mainfrom
eddie-knight:fix/start-required
Aug 14, 2026
Merged

fix: Do not require start on checks that aren't expected to run#457
eddie-knight merged 3 commits into
gemaraproj:mainfrom
eddie-knight:fix/start-required

Conversation

@eddie-knight

@eddie-knight eddie-knight commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

Description

Do not require start time on checks that aren't expected to run.

Schema Changes

Schema Changes Made

  • No schema changes
  • Audit Log schema (auditlog.cue) changes
  • Capability Catalog schema (capabilitycatalog.cue) changes
  • Control Catalog schema (controlcatalog.cue) changes
  • Enforcement Log schema (enforcementlog.cue) changes
  • Evaluation Log schema (evaluationlog.cue) changes
  • Guidance Catalog schema (guidancecatalog.cue) changes
  • Mapping Document schema (mappingdocument.cue) changes
  • Policy Document schema (policy.cue) changes
  • Principle Catalog schema (principlecatalog.cue) changes
  • Risk Catalog schema (riskcatalog.cue) changes
  • Threat Catalog schema (threatcatalog.cue) changes
  • Vector Catalog schema (vectorcatalog.cue) changes
  • Other

Schema Change Details

Previously start was always required. Now it isn't.

Testing

  • Unit tests added/updated
  • Manual testing performed
  • Test data updated (if applicable)

Related Issues

Reviewer Hints


Self-review checklist

  • This PR has content that was created with AI assistance.
  • I have the experience and knowledge necessary to answer maintainer questions about the content of this PR, without using AI.

Signed-off-by: Eddie Knight <knight@linux.com>
@eddie-knight
eddie-knight requested a review from a team as a code owner August 14, 2026 18:09
@github-actions github-actions Bot added the fix label Aug 14, 2026
@eddie-knight

Copy link
Copy Markdown
Collaborator Author

CI is accurately failing on this because it triggers the breaking change indicators, as expected.

The check does not need to be modified, but it also doesn't need to be regarded because this "breaking" fix corrects the behavior to the expected state.

@jpower432 jpower432 linked an issue Aug 14, 2026 that may be closed by this pull request
@jpower432

Copy link
Copy Markdown
Contributor

I'm inclined to agree. I linked an issue where we discussed the proper behavior previously. This probably needs to be tested with go-gemara codegen.

@jpower432 jpower432 added the minor Increment minor release label Aug 14, 2026
@eddie-knight

Copy link
Copy Markdown
Collaborator Author

Agreed @jpower432 — I started on that after opening this PR, expecting it to be straightforward... but I'm not sure it is.

This is the result of make genlocal

+type AssessmentLog any /* TODO: IncompleteKind: _|_ */

@eddie-knight

Copy link
Copy Markdown
Collaborator Author

@jpower432 do you think it'd be better to just set start to optional across the board?

CUE conditionals cause IncompleteKind, preventing Go struct generation.
Move the "start required when executed" guard into #_AssessmentLogStrict
(marked @go(-)) and apply it at the #ControlEvaluation level, keeping
#AssessmentLog clean for codegen.

Update compat test to handle hidden definition blocks: skip #_ defs in
collectStableDefs and strip their structural noise in relaxForSubsume,
the same treatment already applied for time.Format and list.Contains
cross-context false positives.

Assisted-by: Claude Code <noreply@anthropic.com>
@jpower432

Copy link
Copy Markdown
Contributor

@eddie-knight Take a look here. I tested it locally in make genlocal.

Uses the same pattern as MappingDocument for conditionals. Also stripped the hiddenDefs out of the schema when relaxed to remove false positives in the compat check since they don't cause downstream SDK breaking changes.

fix: separate start-time validation from Go codegen via hidden def
@eddie-knight
eddie-knight merged commit 9d36c25 into gemaraproj:main Aug 14, 2026
8 checks passed
@eddie-knight
eddie-knight deleted the fix/start-required branch August 14, 2026 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fix minor Increment minor release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Set omitempty where possible

3 participants