Skip to content

Stable Initial Version

Choose a tag to compare

@mickyarun mickyarun released this 08 Jun 16:55
f05bfa5

What's Changed

  • Relicense AGPL-3.0 → Apache 2.0 + add IP-independence NOTICE by @mickyarun in #48
  • Public-launch follow-ups: BUD canonicalization, public-readiness docs, landing page by @mickyarun in #49
  • README polish: move independence note to footer, mark Anthropic direct API as supported by @mickyarun in #50
  • README + landing-page narrative restructure: How It Runs, AI Engines, Manifesto, FAQ, JSON-LD schema by @mickyarun in #51
  • Position as Agent-Driven Development methodology (not agentic SDLC) by @mickyarun in #52
  • feat: MCP-ify BUD design read/write + cascade reassignment to TODOs by @mickyarun in #53
  • feat: surface BUD ↔ Feature links in Requirements tab + audit timeline by @mickyarun in #54
  • fix+feat: BUD design wireframe preview, linked-features UI, PM agent grounding by @mickyarun in #55
  • prompt: wireframes are plain HTML — drop Vue/Vuetify, retire v-app autowrap by @mickyarun in #56
  • feat: BUD ↔ Feature links UI, wireframe preview fixes, todo regen on chat edit by @mickyarun in #57
  • refactor: regenerate BUD todos only at DEVELOPMENT-phase transition by @mickyarun in #58
  • scan: domain-overlap guard + compound-bigram cluster labels by @mickyarun in #60
  • chore: replace customer-specific placeholders with generic ones by @mickyarun in #61
  • feat(buds): Notion-style TODO board + agent-driven generation via job queue by @mickyarun in #59
  • removed the deployment file by @tanu-atoa in #62
  • chore(backend): clear all mypy --strict errors + open-source PR gates by @mickyarun in #63
  • fix(ci): unblock Dependabot PRs (hatchling pin + DCO bot exemption) by @mickyarun in #90
  • chore(deps)(deps): update tzdata requirement from >=2024.1 to >=2026.2 in /backend by @dependabot[bot] in #84
  • chore(deps)(deps): update python-dotenv requirement from >=1.0.0 to >=1.2.2 in /backend by @dependabot[bot] in #81
  • chore(ci)(deps): bump actions/setup-node from 4 to 6 by @dependabot[bot] in #64
  • chore(ci)(deps): bump googleapis/release-please-action from 4 to 5 by @dependabot[bot] in #66
  • chore(deps)(deps): update bcrypt requirement from <4.1 to <5.1 in /backend by @dependabot[bot] in #77
  • chore(deps)(deps): bump the multiplayer-minor-patch group across 1 directory with 2 updates by @dependabot[bot] in #70
  • chore(deps)(deps): bump the frontend-minor-patch group across 1 directory with 8 updates by @dependabot[bot] in #74
  • perf(design): real --resume + iteration_model + no-link fallback by @mickyarun in #89
  • chore(ci)(deps): bump amannn/action-semantic-pull-request from 5 to 6 by @dependabot[bot] in #65
  • chore(ci)(deps): bump github/codeql-action from 3 to 4 by @dependabot[bot] in #67
  • chore(ci)(deps): bump actions/setup-python from 5 to 6 by @dependabot[bot] in #69
  • chore(ci)(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #68
  • feat(security): layered defense for --dangerously-skip-permissions claude subprocess by @mickyarun in #92
  • fix(claude-guard): post-merge bug fixes — MCP unblock, NPROC, env-exfil by @mickyarun in #93
  • chore(ci): drop CodeQL quality queries, keep security-extended by @mickyarun in #94
  • fix(security): block partial-SSRF in GitHub install-repo client by @mickyarun in #95
  • refactor(bud-detail): split into focused subcomponents + composables by @mickyarun in #97
  • feat(bud): phase-gated section edits + role fallback chain by @mickyarun in #98
  • feat(bud-chat): session resume for all states + log-leak + concurrency + design auto-trigger fix by @mickyarun in #99
  • fix(security): truncate password input to 72 bytes before bcrypt by @mickyarun in #100
  • fix(bud-design): per-design cancel, per-repo banners, tracker loop fixes by @mickyarun in #101
  • feat(bud-chat): durable resume, cancel, and restart recovery for AI Editor chats by @mickyarun in #102
  • feat(pr-merge,features): phase 5 Redis-stream redesign + lineage UI by @mickyarun in #103
  • feat(skills): custom skills per agent type, per-BUD stage overrides, override-aware resolver by @mickyarun in #104
  • fix(skills): prune orphan agent_skills rows mis-tagged by step-4 fallback by @mickyarun in #105
  • feat(scan,pr-merge): route subsequent scans through the diff-based engine by @mickyarun in #106
  • fix(rbac): manager team:manage + developer buds:edit seed by @mickyarun in #107
  • feat(design-systems): user customisations preserved across re-extraction by @mickyarun in #120
  • fix(scan): include .bodhiorchard/mcp_bridge.py in bootstrap PR by @mickyarun in #121
  • fix(nginx): proxy /mcp/ to backend for example-repo bridges by @mickyarun in #122
  • fix(hooks): resolve tracked repo by basename when laptop path misses by @mickyarun in #123
  • fix(xp): resolve PR author to BUD assignee when github_username misses by @mickyarun in #124
  • feat(xp): stage-gated XP awards split among BUD contributors by @mickyarun in #125
  • feat(code-review): classify git-auth failures + retry-once + explicit cwd by @mickyarun in #126
  • fix(rbac): grant QA role buds:test for evidence upload + result entry by @mickyarun in #127
  • fix(github): preserve valid inline review comments on 422 by @mickyarun in #128
  • fix(github): post code-review on every re-run, not just the first by @mickyarun in #129
  • fix(storage): surface S3 errors as FileStorageError + bump success log by @mickyarun in #133
  • feat(qa-evidence): pydantic-settings storage
  • feat: external-LLM mode + remote MCP endpoint + per-phase auto-generate by @mickyarun in #136
  • fix(mcp-connect): show full URL when VITE_API_BASE_URL is a bare path by @mickyarun in #137
  • feat(mcp): write-side BYO-AI tools + append-only BUD edit history by @mickyarun in #138
  • fix(webhook): use webhook_event= kwarg to avoid structlog event collision by @mickyarun in #132
  • fix(bud-assignment): phase-scope continuity to stop cross-phase bleed by @mickyarun in #135
  • fix(security): safe_join helper + targeted path-injection guards by @mickyarun in #142
  • fix(qa-evidence): always-visible delete button on evidence tile by @mickyarun in #140
  • feat(qa): allow reverting manual result to pending by @mickyarun in #141
  • feat(tech-spec): figma URL on Design tab + local-Claude tech-spec generation by @mickyarun in #143
  • feat(figma-tech-spec): add figma URL field and make tech spec sections universal by @mickyarun in #146
  • feat(mcp): accept bud_number on get_bud_by_id by @mickyarun in #147
  • fix(narrow-synthesis): containment tier + deactivate filter prevent wrong-deactivation by @mickyarun in #148
  • fix(dev): add missing dev-start.sh referenced by package.json by @mickyarun in #149
  • feat(bud-board): add title and assignee filters to kanban header by @mickyarun in #150
  • feat(slack): feature Q&A + harden triage duplicate detection by @mickyarun in #151
  • fix(mcp): drop top-level oneOf from get_bud_by_id input_schema by @mickyarun in #159
  • fix(scan): prevent silent-empty synthesis from wiping repo features by @mickyarun in #160
  • feat(scan): adaptive narrow cap on PR-merge dispatcher by @mickyarun in #161
  • feat(bud): re-review action on Code Review tab by @mickyarun in #162
  • fix(bud): activity log + timeline render for code-review re-runs by @mickyarun in #163
  • fix(scan): refresh origin auth before rescan ls-remote by @mickyarun in #164
  • feat(scan): close Flutter exclusion gaps in indexer + extractor by @mickyarun in #165
  • fix(skills): line-churn scoring + walk develop branch for authorship by @mickyarun in #166
  • feat(scan): extend backend-link extractor to Dart/Flutter sources by @mickyarun in #167
  • feat(slack): make all Slack agent prompts honour Settings UI edits by @mickyarun in #152
  • fix(agents): two subprocess-resilience bugs in the BUD-agent path by @mickyarun in #158
  • fix(slack): make feature Q&A bot actually search and stay conversational by @mickyarun in #168
  • fix(scan): invalidate dashboard tree cache on scan complete by @mickyarun in #169
  • feat(buds): priority-aware smart assignment + yield-offer flow by @mickyarun in #170
  • fix(features): render BUD-authored rows so pagination + count agree by @mickyarun in #171
  • docs: extract landing site from Vue methodology page; refresh READMEs by @mickyarun in #172
  • feat(mcp): priority on create_bud + update_bud (optional) by @mickyarun in #175
  • fix(slack): scope-gate triage duplicate detection to stop false positives by @mickyarun in #176
  • fix(buds): let QA promote testing → uat without buds:edit by @mickyarun in #177
  • fix(triage): wire PRD agent + downstream skills on approval by @mickyarun in #178
  • docs(landing): add Slack triage & MCP tools demo video by @mickyarun in #179
  • fix(rbac): drop legacy OrgToUser.role; resolve canonical role via role_id by @mickyarun in #180
  • fix(tech-planner): forbid Unicode operators in Mermaid labels by @mickyarun in #182
  • fix(rbac+estimation): drop legacy OrgToUser.role and harden every estimate_bud_dates caller by @mickyarun in #181
  • feat: wire Learning Agent (post-close retrospective + estimator feedback loop) by @mickyarun in #183
  • fix(frontend): drop playcanvas manualChunk + raise Docker build heap + add fork-friendly prepare hook by @mickyarun in #184
  • fix(bud-closure): prevent running code synthesis on BUD close by @mickyarun in #185
  • docs(landing): add Design phase & agent prompts demo video by @mickyarun in #186
  • feat(landing): thumbnail-grid video picker + 2 new demos + Design URL fix by @mickyarun in #187
  • fix(reconciler): global score-descending pairing prevents false-positive feature deactivations by @mickyarun in #188
  • fix(bud): show "Run estimation" button when no estimates exist yet by @mickyarun in #189
  • fix(buds): polish Learnings recap rendering + share markdown styles with QA panel by @mickyarun in #190
  • fix(learnings): open org-wide Learnings overview to every org member by @mickyarun in #191
  • fix(learnings): fold merged + external contributor rows into active target by @mickyarun in #192
  • docs(readme+landing): lead with virtual-world hero, tuck rest under 'More walkthroughs' by @mickyarun in #197
  • fix(buds): stop unrelated PRs leaking onto PROD / UAT tabs by @mickyarun in #193
  • feat(buds): per-BUD branch override for UAT / PROD tabs by @mickyarun in #194
  • feat(buds): edit impacted_repos from BUD detail by @mickyarun in #195
  • fix(buds): allow QA role to use AI editor on Testing tab by @mickyarun in #200
  • docs(readme): lift screenshots above the fold by @mickyarun in #201
  • fix(reconciler): add absorbed tier for old-into-bigger-new merge pattern by @mickyarun in #198
  • feat(bugs): production bug board with Feature links, Kanban + comments by @mickyarun in #202
  • fix(bugs): sync frontend/package-lock.json for Docker npm ci by @mickyarun in #205
  • fix(bugs): restore frontend/package-lock.json minimal diff (revert #205 drift) by @mickyarun in #207
  • fix(agents): refresh GitHub App tokens on every Claude spawn site by @mickyarun in #209
  • fix(bud-agent + ai-editor): multi-repo token refresh + AI Editor cross-BUD pollution bundle by @mickyarun in #210
  • feat(slack-qa): route brain bot intents via a haiku classifier into focused sonnet specialists by @mickyarun in #212
  • fix(slack): three Brain bot thread + matching fixes by @mickyarun in #211
  • fix(deps): bump multiplayer vitest 1.6.1 -> 3.2.6 to unblock prod docker build by @mickyarun in #213
  • fix(deps): regenerate frontend lockfile + skip canvas postinstall to unblock prod docker build by @mickyarun in #214
  • fix(backend): pre-bake fastembed embedding model into the docker image by @mickyarun in #215
  • fix(slack-qa): treat bud-fact specialist max_turns as soft not_found by @mickyarun in #216
  • fix(members): rebind aliases on merge + admin unlink + Danger Zone skill rerun by @mickyarun in #217

New Contributors

Full Changelog: https://github.com/mickyarun/bodhiorchard/commits/v1.0.0