Skip to content

fix: repair invalid GitHub Issue Form YAML templates - #267

Merged
yohnark merged 1 commit into
mainfrom
fix/229-repair-issue-form-yaml
Aug 15, 2026
Merged

yohnark merged 1 commit into
mainfrom
fix/229-repair-issue-form-yaml

Conversation

@yohnark

@yohnark yohnark commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Summary

Repair all five repository Issue Form templates so they compile through gh-inari and render as valid GitHub Issue Forms.

Linked issue

#229

Scope

All .github/ISSUE_TEMPLATE/*.yml files (architecture, bug, feature, maintenance, research).

Included

Quoted every flow-style description value that contained unquoted commas or semicolons, so YAML parses it as a single string instead of splitting it into extra sibling properties on the attributes mapping. Field labels, ids, and semantics are unchanged. Also committed .mcp.json (local Mottainai MCP server config).

Excluded

No change to gh-inari's parser or to the GitHub-native Issue Form schema itself; the templates now conform to the existing schema rather than requiring the schema to be loosened.

Implementation

Each broken block was a flow-style YAML mapping ({ label: ..., description: ... }) where the description text itself contained commas (e.g. "Boundary, invariant, and observable contract..."). Because flow mappings treat unquoted commas as key/value separators, YAML parsed the trailing comma-separated fragments as additional top-level keys under attributes (e.g. invariant: null, and observable contract...: null), which gh-inari's Issue Form schema compiler rejects with ISSUE_FORM_UNKNOWN_PROPERTY. Wrapping each affected description in double quotes restores it to a single scalar value.

Behavioral changes

None to application behavior. Issue creation via gh inari issue create and gh inari issue schema/validate now succeeds for all five templates instead of failing before this fix.

Validation

  • Typecheck
  • Tests
  • Build
  • Package check

Test layers:

  • Fast / unit / contract: pnpm test
  • Integration / process: pnpm run test:integration
  • Package / E2E / smoke: pnpm run test:e2e, pnpm run test:package
  • Standards / static: pnpm run verify:standards
  • Coverage: pnpm run test:coverage
  • Test effectiveness (when critical logic changes): pnpm run test:effectiveness
  • Full verification: pnpm run verify

Test contract

gh inari issue schema <template> must return ok (or a valid contract) for architecture, bug, feature, maintenance, and research with no ISSUE_FORM_UNKNOWN_PROPERTY violations.

Regression proof

Before: all five templates failed gh inari issue schema <template> with ISSUE_FORM_UNKNOWN_PROPERTY listing the leaked comma fragments as unsupported properties. After: all five return a clean 14-field contract with the original field ids intact (verified via gh inari issue schema and by parsing each YAML file with PyYAML to confirm every attributes mapping now contains only label/description/value).

Validation evidence

Ran gh inari issue schema <template> for architecture, bug, feature, maintenance, and research after the fix — all five returned ok contracts with the expected 14 fields each. Cross-checked with a PyYAML parse of each file confirming no stray keys remain under any attributes block.

Release impact

None. Documentation/governance-only change to Issue Form templates; no package or runtime artifact affected.

Risks

Low. Text-only quoting fix; no field ids, labels, or required-ness changed.

Breaking changes

None.

Migration / compatibility

N/A — no schema version or contract shape changes beyond fixing the malformed YAML.

Security impact

None. No security boundary touched.

Review focus

Confirm each quoted description preserves the original intended wording and that no field was accidentally dropped or renamed.

Flow-style attributes mappings across all five Issue Form templates
held unquoted comma-separated description text, which YAML parsed as
extra sibling properties instead of a single description string. This
broke gh-inari schema compilation with ISSUE_FORM_UNKNOWN_PROPERTY for
every template (architecture, bug, feature, maintenance, research).

Quote each affected description value so the full sentence parses as
one string, preserving the original field labels and semantics.

Also commit .mcp.json (MCP server config for local Mottainai tooling).

Closes #229

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 7ac72ffa-c749-44d0-a360-e08911f4022b

📥 Commits

Reviewing files that changed from the base of the PR and between 710e742 and dafa6a7.

📒 Files selected for processing (6)
  • .github/ISSUE_TEMPLATE/architecture.yml
  • .github/ISSUE_TEMPLATE/bug.yml
  • .github/ISSUE_TEMPLATE/feature.yml
  • .github/ISSUE_TEMPLATE/maintenance.yml
  • .github/ISSUE_TEMPLATE/research.yml
  • .mcp.json

📝 Walkthrough

Walkthrough

The pull request reformats five GitHub issue templates and adds an .mcp.json configuration for the mottainai MCP server. Template labels, descriptions, identifiers, validations, and behavior remain unchanged.

Changes

Issue Template YAML Formatting

Layer / File(s) Summary
Normalize issue form descriptions
.github/ISSUE_TEMPLATE/*.yml
The templates use quoted description values and expanded mappings. Existing field content and required validations remain unchanged.

MCP Configuration

Layer / File(s) Summary
Add MCP server configuration
.mcp.json
The configuration defines the mottainai stdio server command, configuration argument, and empty environment.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related issues

  • yohn-jp/mottainai#229 — Addresses invalid YAML formatting in the same five issue templates.
  • yohn-jp/mottainai#265 — Addresses malformed issue-template descriptions, including comma-containing mappings.
  • yohn-jp/gh-inari#58 — Addresses malformed formatting in architecture.yml.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/229-repair-issue-form-yaml

Comment @coderabbitai help to get the list of available commands.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant