Skip to content

feat(template): add AI-driven themed naming for releases#16

Merged
nullhack merged 1 commit intomainfrom
feat/template-release-ai-themed-naming
Mar 13, 2026
Merged

feat(template): add AI-driven themed naming for releases#16
nullhack merged 1 commit intomainfrom
feat/template-release-ai-themed-naming

Conversation

@nullhack
Copy link
Copy Markdown
Owner

Summary

  • Add AI-driven analysis for release naming instead of hardcoded/random selection
  • Copy git-release and pr-management skills from template to meta template
  • Add repo-manager agent to meta template
  • Fix python3 compatibility in template_test.sh

Changes

  • Updated template-release skill to instruct AI to analyze commits
  • Updated git-release skill to use AI for themed name selection
  • Updated repo-manager agent to use AI analysis
  • Added skills and agent to meta template (.opencode/)

- Update template-release skill to use AI analysis for release naming
- Add git-release and pr-management skills to meta template
- Add repo-manager agent to meta template
- Fix python3 compatibility in template_test.sh
- Update git-release and repo-manager to use AI instead of random selection
@nullhack nullhack merged commit a6e4fd2 into main Mar 13, 2026
@nullhack nullhack deleted the feat/template-release-ai-themed-naming branch March 13, 2026 08:13
nullhack added a commit that referenced this pull request Apr 16, 2026
…rkin-first AC, and @id tracing

- Replace flat feature .md docs with folder-per-feature structure
- Add 4-phase scope model: project discovery, feature discovery, stories, criteria
- Switch from UUID acceptance criteria to Gherkin @id:<8-char-hex> Examples
- Add gen-tests and gen-id taskipy tasks; add gen_test_stubs.py script
- Rewrite scope/SKILL.md with INVEST gate, declarative Gherkin rule, MoSCoW triage
- Add Rules + Constraints sections to discovery template (Example Mapping layer)
- Delete extend-criteria skill; absorb gap-handling into PO and reviewer roles
- Absorb code-quality into verify/SKILL.md; leave code-quality as redirect
- Rewrite developer.md, reviewer.md with new paths and escalation model
- Add deprecated pytest marker with auto-skip conftest hook
- Add 4 new academic research entries (INVEST, Example Mapping, Declarative Gherkin, MoSCoW)
- Add Boehm Cost of Change Curve as research entry #16

BREAKING CHANGE: folder structure changed from flat docs/features/<name>.md to
docs/features/<state>/<name>/ with .feature files inside; test layout changed
from tests/ flat to tests/features/<name>/ + tests/unit/
nullhack added a commit that referenced this pull request Apr 16, 2026
…folder-per-feature, @id tracing) (#58)

* chore(setup-agent): enforce defaults-driven prompting and complete file substitution coverage

* feat(workflow): redesign PO scope process with 4-phase discovery, Gherkin-first AC, and @id tracing

- Replace flat feature .md docs with folder-per-feature structure
- Add 4-phase scope model: project discovery, feature discovery, stories, criteria
- Switch from UUID acceptance criteria to Gherkin @id:<8-char-hex> Examples
- Add gen-tests and gen-id taskipy tasks; add gen_test_stubs.py script
- Rewrite scope/SKILL.md with INVEST gate, declarative Gherkin rule, MoSCoW triage
- Add Rules + Constraints sections to discovery template (Example Mapping layer)
- Delete extend-criteria skill; absorb gap-handling into PO and reviewer roles
- Absorb code-quality into verify/SKILL.md; leave code-quality as redirect
- Rewrite developer.md, reviewer.md with new paths and escalation model
- Add deprecated pytest marker with auto-skip conftest hook
- Add 4 new academic research entries (INVEST, Example Mapping, Declarative Gherkin, MoSCoW)
- Add Boehm Cost of Change Curve as research entry #16

BREAKING CHANGE: folder structure changed from flat docs/features/<name>.md to
docs/features/<state>/<name>/ with .feature files inside; test layout changed
from tests/ flat to tests/features/<name>/ + tests/unit/

* fix(setup-project): migrate entry point to __main__.py and harden substitution checks

- Replace root main.py with app/__main__.py as the single entry point
- Update tests/version_test.py to import from app.__main__ and patch app.__main__
- Fix setup-project.md Step 3d: create __main__.py and delete main.py
- Fix setup-project.md Step 3f: add grep verification after substitutions
- Fix setup-project.md Step 4: replace smoke test with uv run task test-fast

* feat(gen-id): generate 20 IDs at once instead of one

* fix(display-version): replace non-standard .md with proper feature folder structure

Convert single prose file to the standard folder layout:
- discovery.md with status, entities, rules, and constraints
- version-retrieval.feature with @id:3f2a1b4c and @id:7a8b9c0d
- verbosity-control.feature with @id:a1b2c3d4, @id:b2c3d4e5, @id:e5f6a7b8

* fix(workflow): address 5 post-mortem defects from terminal-ping-pong run

- Phase 2: make entity-derivation + interview cycle explicit (pre-mortem before first round, iterate until stakeholder says baseline)
- Feature Decomposition Threshold: >2 concerns OR >8 candidate Examples triggers mandatory split
- Phase 4: replace soft 3-10 limit with concern-based split rule; note multiple .feature files per folder
- Implementation cycle: add hard STOP/WAIT gates, one test at a time before any reviewer interaction
- Reviewer per-test scope: code-design only (YAGNI/KISS/DRY/SOLID/ObjCal/patterns + semantic alignment); no lint/pyright/coverage
- Quality tooling (lint, static-check, coverage) deferred to developer handoff only
- Developer Quality Gate Priority Order added to AGENTS.md and implementation/SKILL.md
- TODO.md: add Step 4 cycle-aware format with Cycle State + reviewer scope legend

* refactor(gen-tests): replace hand-rolled Gherkin parser and fix stub indentation

- Replace 6 regexes + 3 brittle parsing functions with gherkin-official
  canonical parser (Cucumber project, actively maintained, single dep)
- Fix textwrap.dedent bug causing Given/When/Then docstring lines to land
  at column 0 instead of 4-space indented in generated test stubs
- Add gherkin-official>=39.0.0 to dev dependency group

* chore(workflow): fix principle priority order and add post-mortem workflow hardening

- Fix YAGNI > KISS > DRY > SOLID > ObjCal > patterns order across all 8 files
  (developer.md, reviewer.md, implementation/SKILL.md, session-workflow/SKILL.md,
  verify/SKILL.md, AGENTS.md)
- Add gen_todo.py merge-write script for TODO.md structural enforcement
- Rewrite session-workflow, implementation, tdd, verify skills v2.1 with
  mandatory Cycle State, WIP check, prereq check, STOP/WAIT language, gen-tests --check
- Add D6 global @id duplicate detection (WARNING + continue) to gen_test_stubs.py
- Add gen-todo task to pyproject.toml

* feat(workflow): add per-test design self-declaration and package verification

- Add mandatory package verification step at architecture start (Step 2)
  to prevent code being created under wrong package name
- Add Design Self-Declaration checklist to REFACTOR phase (per-test),
  covering YAGNI > KISS > DRY > SOLID > OC rules 1-9 with file:line evidence
- Add SELF-DECLARE as explicit cycle phase between REFACTOR and REVIEWER
- Replace compact 3-line reviewer template with structured claims-vs-verdict
  table so reviewer independently audits each declared rule
- Strip Self-Verification Before Handoff to quality tooling only — declaration
  already done per-test; no duplication at handoff
- Add imports-use-correct-package-name check to verify/SKILL.md section 4g
- Update Scope Guard in verify/SKILL.md to reference self-declaration flow
- Bump both skills to v2.2

* fix(workflow): sync SELF-DECLARE phase, reviewer Step 4 protocol, and gen_todo path

* fix(workflow): remove migration language from code-quality skill and table

* docs(post-mortem): add two ping-pong-cli post-mortem reports

* refactor(template): simplify app code, add unit test with Hypothesis, fix lint errors in scripts

* fix(template): remove @slow marker from template test — collected by test-fast

* feat(template): add template-config.yaml as single source of truth for setup substitutions

- Replace project_defaults.json with template-config.yaml (YAML, declarative substitution map)
- Fix stale Dockerfile references: python_package_template.python_module_template → app
- Fix stale docker-compose.yml references: python_package_template → app
- Update setup-project.md to read template-config.yaml instead of project_defaults.json
- Agent now follows the substitution map directly, no implicit knowledge of patterns needed
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