Notes from the work

One email when a tutorial or migration write-up goes live. Nothing else, and an unsubscribe link in every email.

LeanZero

Two people in Romania doing Atlassian migrations, Forge apps and practical AI work for teams that would rather talk to the person doing the job. Most of what we learn ends up on this site.

Services

  • Atlassian Migrations
  • Atlassian FastShift
  • Atlassian Maintenance
  • Forge App Development
  • AI Development Consultation

Topics

  • Jira
  • Jira Service Management
  • Confluence
  • Bitbucket
  • Atlassian Forge
  • Cloud Migration
  • Local AI
  • AI Coding
  • Certifications
  • Atlassian Team
  • All topics

Company

  • Blog
  • Tutorials
  • Contact

Community

  • Join Discord
  • Support this site

© 2026 LeanZero. All rights reserved.

Privacy PolicyTerms of Service24/7 SupportTrust CenterSecurityDPALegal notice
  1. Home
  2. Blog
Knowledge Base

Atlassian Insights & Tutorials

Real Atlassian solutions to real problems — no fluff, no SEO spam.

Read the latestFollow the tutorials
JiraConfiguration, workflows and fixes from real projectsLocal AIModels and agents running on your hardwareAI codingCoding tools and workflows tested in practice

Articles 84

All topicsAI CodingAtlassian ForgeAtlassian TeamBitbucketCertificationsCloud MigrationCogniRunnerConfluenceJiraJira Service ManagementLeanZero ManagementLocal AISentinel Vaultgoose Local Edition
Nobody will tell you what happened to the Jira reports that were retiring on 31 July
ArticleJira

Nobody will tell you what happened to the Jira reports that were retiring on 31 July

Six reports were announced for retirement. Three were saved, three were not, and both dates in circulation have now passed in silence. Three different answers are going around and none of them come from Atlassian — here is where each one actually starts.

Gabriela PerdumAug 31, 20265 min read

More Articles

Identity is the hard half of a Data Center migration. Cloud to Cloud hands it to you and charges you for the gaps instead.
ArticleCloud MigrationJira

Identity is the hard half of a Data Center migration. Cloud to Cloud hands it to you and charges you for the gaps instead.

DC to Cloud spends its budget resolving who everyone is, because usernames do not exist in Cloud. Cloud to Cloud gives you identity for free and a first-party copy tool — then bills you for the specific things that tool does not take.

Mihai PerdumAug 28, 202612 min read
OpenAI's Codex spent six days on goose and never completed a single run
Articlegoose Local EditionAI Coding

OpenAI's Codex spent six days on goose and never completed a single run

The model was fine. GPT-5.6 Sol driven from goose's own engine did good work. Driven from Codex it gold-plated the quality gates until a ten-minute rebuild took over an hour, and it never once got to the end. Six days, zero completed runs, and a bill I cannot justify to anyone.

Mihai PerdumAug 28, 202612 min read
The duplicate Forge event that deleted our spam filter
ArticleSentinel VaultAtlassian Forge

The duplicate Forge event that deleted our spam filter

Forge delivered one page edit twice, 400ms apart. The duplicate didn't post a second comment — it wiped the 24-hour window that stops second comments. Then I wrote the whole thing up backwards, and the test I built to prove it agreed with me.

Mihai PerdumAug 27, 202613 min read
Can a Jira sub-task sit directly under an epic? Yes — and only in company-managed projects
ArticleJira

Can a Jira sub-task sit directly under an epic? Yes — and only in company-managed projects

A widely accepted community answer says sub-tasks cannot skip a hierarchy level. Atlassian's own knowledge base says the opposite. I ran it on both project types: company-managed accepts it through the REST API and through the UI, team-managed refuses it in both, and half your reports cannot see the result.

Gabriela PerdumAug 25, 202613 min read
goose Local Edition: a benchmark that runs the app your agent built
ArticleLocal AIgoose Local Edition

goose Local Edition: a benchmark that runs the app your agent built

goose Local Edition is our fork of goose with a swarm engine and an execution-based scorer. The scorer boots the built application, drives it over HTTP and in a browser, and prices what a user would actually experience. On the current board our own fleet is last of seventeen at 0.0172 — here is why that number is the point.

Mihai PerdumAug 25, 202618 min read
CogniRunner 3.1.0: real Jira workflow conditions
ArticleCogniRunnerJira

CogniRunner 3.1.0: real Jira workflow conditions

For a year our workflow conditions evaluated a constant and gated nothing. 3.1.0 replaces that constant with ten checks that Jira runs itself. Here is what shipped, what I measured against a live Jira, and how it compares to what else is on the Marketplace.

Gabriela PerdumAug 24, 202617 min read
Sentinel Vault: you cannot block an edit in Confluence, so we undo it instead
ArticleSentinel VaultConfluence

Sentinel Vault: you cannot block an edit in Confluence, so we undo it instead

Forge gives you no veto over a Confluence save. Product events arrive after the change is already committed, which means a lock on Confluence content cannot prevent anything — it can only detect and restore. Here is what that constraint does to an app: why the restore has to ignore itself, why reverting the whole page is the wrong fix, and why a licence check in a protection app must fail open.

Gabriela PerdumAug 19, 202611 min read
goose swarm: pytest | head -80 exits 0 when nothing ran, and pipefail only trades the lie
ArticleAI Codinggoose Local Edition

goose swarm: pytest | head -80 exits 0 when nothing ran, and pipefail only trades the lie

A worker in my local-model swarm ran pytest against a file that did not exist, twice, and finished the task green. The pipe had eaten the exit code. Measured on bash and zsh, on pytest and cargo — including why turning pipefail on just moves the lie to the other side.

Mihai PerdumAug 18, 202614 min read
Previous
Page6of 10
Next

Found My Advice Helpful?

If I helped you solve something for free, coffee money is always appreciated (but never expected).

Buy Me a Coffee

Join the Community

Join the community to ask questions, share your work, and connect with other professionals.

Join Discord

Recent Writings

View all
Is 25 Rovo credits per user enough? Cost and usage per action, measured
ArticleJira

Is 25 Rovo credits per user enough? Cost and usage per action, measured

Gabriela Perdum13 min read
DeepSeek V4.1 Flash coding benchmark: 0.33 on a Forge app upgrade, Opus 5.5 got 0.67
ArticleAI Coding

DeepSeek V4.1 Flash coding benchmark: 0.33 on a Forge app upgrade, Opus 5.5 got 0.67

Mihai Perdum14 min read
Jira project status report that says when it can't tell: LeanZero Management
ArticleLeanZero Management

Jira project status report that says when it can't tell: LeanZero Management

Gabriela Perdum9 min read
Claude Haiku 5.5 vs GPT-6 Luna on two coding benchmarks: same price, 3.6x the agent bill
ArticleAI Coding

Claude Haiku 5.5 vs GPT-6 Luna on two coding benchmarks: same price, 3.6x the agent bill

Mihai Perdum22 min read
Atlassian license management by prompt: what CogniRunner's Jira AI agents can do now
ArticleCogniRunner

Atlassian license management by prompt: what CogniRunner's Jira AI agents can do now

Mihai Perdum17 min read