Skip to content

[M12] Ship a bounded evidence-backed Workshop stability rule set #99

Description

@Teakowa

Parent: #89
Depends on: #97, #98

Goal

Deliver a small, high-value first-party lint/stability rule set that demonstrates Wright's tooling-first product value without turning community advice into hard-coded correctness doctrine.

Context

Wright already has min-wait-loop, duplicate-condition, and expensive-loop-check. M12 should extend this only where real Workshop/corpus evidence supports low-noise static findings. Rules must distinguish exact/static evidence from heuristics and must document known limitations.

The first real wrightkit/agent-lab integration produced direct consumer evidence for a missing no-yield-loop analysis (#103). This is exactly the kind of product-driven rule expansion M12 should absorb: it blocks a real deterministic consumer and concerns a high-value Workshop stability pattern, rather than expanding rules for symmetry.

Work items

Additional rules may be selected from corpus evidence, but M12 does not require a large rule count.

Scope

  • Audit existing corpus/fixtures and current resource/cost analysis for recurring high-value Workshop stability/performance patterns.
  • Select a bounded first-party rule set; prefer repeated/expensive evaluation, hot-loop/timing, and duplicated semantic work where Wright can reason statically with acceptable false-positive risk.
  • Reuse the [M12] Establish lint rule registry and configuration contract #97 registry and [M12] Add first-class lint CLI and shared structured results #98 lint/tooling surface.
  • Give every shipped rule a stable ID, default severity, rationale, evidence classification, known limitations, and positive/negative fixtures.
  • Include at least one real-project/corpus evidence case for each shipped rule where such evidence exists; otherwise explicitly document why synthetic validation is sufficient.
  • Reuse exact resource/cost data when claims are exact; label static indicators and heuristics distinctly.
  • For [M12] Detect no-yield loops with bounded evidence classification #103 specifically, distinguish the static fact that a repeating path has no yield from boundedness and runtime-risk classification; do not equate a small statically bounded loop with an obviously unbounded loop.

Non-goals

  • Treating Workshop.Codes Wiki or community "anti-crash" recommendations as guaranteed-safe rules.
  • Claiming precise runtime/server CPU cost from static evidence alone.
  • Automatically rewriting code to satisfy stability rules.
  • Large rule-count targets.
  • Third-party plugin loading or [v0.2 workshop-rs] Define Workshop catalog, locale, extension, and version boundaries #96 content-pack work.
  • OPY/OSTW compatibility expansion merely to increase lint coverage.

Acceptance criteria

  • [M12] Detect no-yield loops with bounded evidence classification #103 is implemented and validated through the M12 registry and wright lint path.
  • A bounded PM-approved set of any additional first-party stability/performance rules ships only where current evidence justifies them.
  • Every new rule has stable ID, documentation/rationale, known limitations, positive/negative fixtures, and explicit evidence classification.
  • Real-project/corpus evidence is linked where available.
  • Heuristic findings are explicitly identifiable as heuristics and avoid high-noise defaults.
  • Resource/cost claims do not overstate what static analysis can prove.
  • Existing rules remain compatible unless a separately justified correction is recorded.
  • Current CI is green at acceptance.

Relationships

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