Skip to content

Use one issue form and a reviewed Ready checklist #2667

Open

Description

@codeforester

Problem

The accepted Base governance design and implementation plan identify package 2 as a required deliverable. This issue translates that package into a reviewed, bounded issue/PR train; it does not authorize implementation before the issue reaches Ready.

Expected behavior

Replace category-specific issue intake with one issue form whose sections and ordering follow the accepted design. Put Bug reproduction steps inside Problem, use the existing native Task/Bug/Feature types, and remove category prefixes from new titles. Define the manual Ready checklist for Type, acceptance-to-test mapping, named slices, risk, ten impact dispositions and open questions. Changing Type after Ready invalidates the readiness approval. The form is not the enforcement boundary for API/CLI-created issues; package 7 verifies those later.

Scope and non-goals

Scope: Replace category-specific issue intake with one issue form whose sections and ordering follow the accepted design. Put Bug reproduction steps inside Problem, use the existing native Task/Bug/Feature types, and remove category prefixes from new titles. Define the manual Ready checklist for Type, acceptance-to-test mapping, named slices, risk, ten impact dispositions and open questions. Changing Type after Ready invalidates the readiness approval. The form is not the enforcement boundary for API/CLI-created issues; package 7 verifies those later.

Non-goals: Do not silently expand scope, activate unreviewed policy, mirror issue fields onto PRs, grant agents merge/release authority, or make changes outside the named affected areas. Any new product decision or materially new work gets a separate issue and decision record.

Affected areas

Impact and evidence

  1. Product intent: Implements only the accepted governance design and plan; any product-requirement change must be filed separately.
  2. Architecture and contracts: Destination is the package-specific section of the merged governance design/implementation plan plus the affected canonical contract named above.
  3. User guidance: The issue identifies likely guidance paths; the implementation PR must name updated user/FAQ/README paths or give a change-specific reason why none is affected.
  4. CLI/API and reference: The affected-area list determines whether CLI/API/reference docs change; the implementation PR must cite the exact reference path or justify no impact.
  5. Operations and safety: No privileged automation or merge authority is implied; the PR must list operational/security effects and any rollback.
  6. Validation and testing: The issue lists the planned tests; the PR must report executed validation and explain any unavailable test.
  7. Examples and downstream use: The implementation PR must identify affected examples/consumers or give evidence that this change has no downstream surface.
  8. Governance and contributor process: This package changes or preserves the contributor/governance contract as described in Scope; links must point to the canonical rules.
  9. Decision records: No new decision is accepted by this issue; any durable deviation requires a proposed decision record and explicit maintainer acceptance.
  10. Release notes: The PR must include a user-facing release-note line or a reasoned none; this issue does not pre-decide that disposition.

These are issue-stage dispositions to refine during Triage. Before Ready, every category must have its exact destination or evidence-based no-impact reason; the PR repeats the ten-category evidence for actual changes.

Open questions

  • None known. If implementation exposes an unresolved contract, return this issue to Triage and record the decision before implementation continues.

Plan

  • S1: One focused PR for this issue. Use Fixes #N only if no additional slice is needed; if the maintainer approves multiple PRs, name each S1…Sn here before the first is opened and use Part of #N.
  • Dependencies: the P1 issue
  • Acceptance criteria:
  • One issue form presents the shared contract without fragile type-specific form routing; the current Type is checked when an issue moves to Ready.
  • Bug reports collect reproduction steps under Problem; switching Type after Ready makes the prior readiness approval stale.
  • The form does not duplicate Project fields or Agent Assignment in the body and does not invent issue types.
  • The manual checklist explains Triage versus Ready and requires no unresolved blocking question at Ready.
  • New titles use plain outcome/problem wording without category prefixes.
  • Validation:
  • Validate issue-form YAML and render its fields/requiredness.
  • Exercise Bug, Feature and Task examples, including a Type change after Ready.
  • Search current form and contributor guidance for conflicting title and Agent Assignment rules.
  • Risks and rollback: Issue forms apply only to web-created issues; do not claim API/CLI enforcement until package 7 ships. Revert the form PR if it blocks valid issue types or duplicates canonical Project metadata.
  • Decision impact: No decision is accepted merely by implementing the issue. Record the relevant accepted decision/ADR and file a superseding record if the maintainer approves a change.

Activity

  1. self-assigned this
    on Nov 10, 2026
  2. moved this from Backlog to Triage in baseon Nov 10, 2026
  3. moved this from Triage to Backlog in baseon Nov 10, 2026
  4. moved this from Backlog to Triage in baseon Nov 10, 2026
  5. added this to the v1.11.0 milestone on Nov 11, 2026
  6. moved this from Triage to Backlog in baseon Nov 11, 2026
  7. codeforester commented on Nov 11, 2026

    @codeforester
    CollaboratorAuthor

    Pre-Triage review against the accepted plan (#2664, tracker #2665)

    1. Category labels. Today each form applies its category label: bug_report.yml applies bug, documentation.yml applies documentation, and feature_request.yml and implementation.yml apply enhancement. issue-branch-policy.yml (L119, L205) requires exactly one category label and reads the branch prefix from it. A single form can only apply a fixed label set, so say who sets the category label and when: the Triage checklist, a maintainer, or the CLI.
    2. Existing CLI check. basectl gh issue readiness (gh_issue_readiness.sh:9) hard-codes the old sections, including Project Fields and Agent Assignment. Every issue in the new layout fails it: basectl gh issue readiness 2666 --format json returns not_ready and reports all eight old sections missing. Update it here, or state that Validate issue readiness through API and CLI intake #2571 replaces it, and add it to Affected areas.
    3. Other intake paths. config.yml keeps blank_issues_enabled: true, so even on the web the form isn't the only intake. Decide whether to turn blank issues off. support.yml is the public support intake. Design §4.4 says not to impose the Ready contract on support questions, so state that "one form" means one form for work items, plus support and contact links.
    4. Org defaults. Seven repos have no issue forms of their own and use the org defaults in basefoundry/.github/ISSUE_TEMPLATE/: base-demo, base-bash-libs-demo, base-cli-demo, base-workspace, base-platform-tools, banyanlabs and homebrew-base. This issue changes Base only, and Adopt the governance profile in the organization configuration repository #2685 carries the org defaults. Cross-link the two.
    5. tests/test_community_issue_templates.py covers the current forms. Name it under validation.

    Dependencies text. Replace the P1 issue with #2666. The native blocked-by links are already correct; the body is what a reviewer reads.

    Contract text. The Impact, Scope and Open questions sections are still the shared template text. The Impact section is identical in 24 of #2666–#2690, and Scope repeats Expected behavior. That's fine in Backlog. Before Ready, replace each with this issue's own dispositions.

    Claude Code (Opus 5.5), reviewing from Ramesh's account at his request. This review comes before Triage, so it is not an issue-loop round.

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

Metadata

Metadata

Assignees

Labels

documentationDocumentation improvements

Type

Projects

  • Status
    Backlog

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions