Skip to content

Two Feature surfaces the suite does not reach #284

Description

@TBarregren

What to build

Two things the collection now promises about a Feature are not held by anything. They are filed together because both are the same shape — a rule stated for both entry types and enforced for one — and because docs/rules/skills.md already obliges that module to say where the suite holds less than the rule, which is half of what each needs.

The Feature half of Select's unchecking gate. cmd_apply_select in skills/kntnt/scripts/kntnt.py raises two distinct refusals through require_yes: one where unchecking deletes a Skill's files, and one where unchecking a Feature takes what it wrote back out of a Harness's own configuration. docs/rules/collection.md states both halves as the rule, and every shipped page carrying the gate now states both. Only the first is exercised by a test. Add a test for the second, alongside the existing one for the Skill half so a reader meets them together.

The README's Feature sections. docs/rules/skills.md says a Feature gets a section under the README's ## Features heading on the same terms a Skill's section is written on, and the module names the suite enforcement for the Skill case. tests/test_readme.py reads only the partition holding the Skills, against the Catalog's Skills. Nothing compares the ## Features sections against the Catalog's Features.

That second one has two admissible shapes and the choice is made here so a builder does not have to make it: extend the test. Compare the README's ## Features sections against the Catalog's features the way the existing check compares the Skills, rather than adding a disclaimer saying nothing does. The disclaimer route is what docs/rules/skills.md requires when a rule genuinely outruns the suite, and it is the wrong answer where the check is this cheap to write.

Acceptance criteria

  • A test exercises the refusal cmd_apply_select raises when unchecking a Feature without --yes, asserting on that refusal and not on the one raised for a Skill.
  • A test compares the README's ## Features sections against the Catalog's Features, on the terms the existing Skills check uses.
  • Both new tests fail against the code with the behaviour they check removed or inverted, rather than passing vacuously.
  • Where docs/rules/skills.md said the suite holds less than the rule for either of these, and it no longer does, that sentence is brought up to what the suite now holds.
  • The four checks CONTRIBUTING.md lists all pass.

Written against 6fc533f

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

    orchestratedCompleted ticket retained for Orchestrate history

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions