Skip to content

No gate-accepted home for property tests of non-workflow pure functions #31

Description

@ryanleecode

Found while applying a review fix in systemfsoftware/symphony-effect (feat/symphony-service, finding #41).

What happened. A pure function that is not a workflow (a secret redactor that always returns one outcome) needed a property-based test. The template gives it no place where the gates accept one:

  1. The test-discipline lint accepts property tests only at src/__tests__/<stem>.workflow.property.test.ts, which means next to a workflow.
  2. The architect-workflow rules (G1/J1) forbid turning a function with a single outcome into a workflow just to get that slot.
  3. The lint's alternative for non-workflow code is an in-source if (import.meta.vitest) block. But the template's vitest config does not set includeSource, so such a block never runs. Enabling it means editing a judgment surface (CONST-E9).

So the laws were written and passed locally but could not be committed. The fix shipped with example rows only.

Ask. Pick one supported home for properties of non-workflow pure functions and make the lint, the vitest config and the property-test skill agree on it. Two candidates: enable includeSource in the template, or allow src/__tests__/<stem>.property.test.ts for any module.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions