Skip to content

Replace requirements generator Python script #593

Description

@ehartford

Summary

scripts/generate-requirements.py is still the only known generator for docs/requirements.md, but it is not wired into build.w or current runbooks and remains a post-seed Python dependency in the Makefile-elimination audit.

Triage findings

  • rg finds no build target or runbook invoking scripts/generate-requirements.py; it is a manual maintenance tool.
  • docs/requirements.md still describes itself as a generated traceability matrix derived from docs/with-specification.md.
  • Regenerate docs/requirements.md against spec v7.0 #386 is closed, but running python3 scripts/generate-requirements.py --preserve-from-head on current main is not a no-op: it changes docs/requirements.md by thousands of lines and changes the generated count from 3074 normative requirements to 3092. The diff includes source line shifts and title truncation changes, so this is not safe to treat as obsolete without an explicit replacement/retirement decision.

Desired outcome

Either:

  1. Port the generator to a With-owned docs-generation target, for example with build :requirements-generate plus a check target that verifies docs/requirements.md is current without writing it; or
  2. Decide the requirements matrix is no longer generated/live, delete the Python script, and update docs/requirements.md to state its actual maintenance policy.

Acceptance criteria

  • No normal post-seed workflow depends on Python for requirements generation.
  • If the requirements matrix remains generated, the generator is implemented in With and has a build target.
  • Existing triage checkboxes, impl: #N, and tests: #N annotations are preserved when regenerating.
  • Section 30 remains informative-only; with build :requirements-informative-check continues to pass.
  • docs/eliminate-Makefile.md no longer lists scripts/generate-requirements.py as an unresolved post-seed blocker after the replacement or retirement lands.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions