DEV Community

Mihai Perdum profile picture

Mihai Perdum

Atlassian Forge developer and AI enthusiast who built his own agentic development workflow. Turns complex migration projects into lean, fast deliveries.

Location Romania, Bucharest Joined Joined on  Personal website https://leanzero.net

Education

Mihail Sadoveanu

Work

Atlassian Consultant

What's New in CogniRunner: Local AI, Zero-Key Models & Actions That Write Back

What's New in CogniRunner: Local AI, Zero-Key Models & Actions That Write Back

Comments 1
4 min read

Want to connect with Mihai Perdum?

Create an account to connect with Mihai Perdum. You can also sign in below to proceed if you already have an account.

Already have an account? Sign in
The goose swarm, self-verifying: small local models shipping real software

The goose swarm, self-verifying: small local models shipping real software

Comments
15 min read
Inside goose-swarm: How We Turned One Local Model Into a Self-Verifying Fleet

Inside goose-swarm: How We Turned One Local Model Into a Self-Verifying Fleet

Comments
17 min read
MLX vs GGUF on Apple Silicon: Benchmarking the Same Local Model Two Ways

MLX vs GGUF on Apple Silicon: Benchmarking the Same Local Model Two Ways

Comments
7 min read
swarm-gym for goose: grading local models by running the code they write

swarm-gym for goose: grading local models by running the code they write

Comments
12 min read
How to run real end-to-end UI tests against a deployed Forge app (2026)

How to run real end-to-end UI tests against a deployed Forge app (2026)

Comments
8 min read
Security reports for Forge apps: the clean scan that isn't (2026)

Security reports for Forge apps: the clean scan that isn't (2026)

Comments
10 min read
Qwen3.8-27B Atlassian model v0.5, now with GGUF

Qwen3.8-27B Atlassian model v0.5, now with GGUF

Comments
6 min read
Making the goose swarm predictable: 602 commits, 100 levers, and three bugs I found writing this

Making the goose swarm predictable: 602 commits, 100 levers, and three bugs I found writing this

Comments
17 min read
Your Unattended AI Agent Looks Healthy and Does Nothing: 7 Silent Failures on macOS launchd (2026)

Your Unattended AI Agent Looks Healthy and Does Nothing: 7 Silent Failures on macOS launchd (2026)

Comments
8 min read
MXFP8 vs Q8: 10x the weight error, 1% the perplexity

MXFP8 vs Q8: 10x the weight error, 1% the perplexity

Comments
14 min read
Hide a Forge module per project: app properties in a display condition

Hide a Forge module per project: app properties in a display condition

Comments
8 min read
Convert MLX Model to GGUF (KL Divergence Proof)

Convert MLX Model to GGUF (KL Divergence Proof)

Comments
11 min read
Claude Code in Zed vs the terminal: what the ACP wire actually carries

Claude Code in Zed vs the terminal: what the ACP wire actually carries

Comments
17 min read
The @forge/bridge import that kills your resolver, and why nothing warns you

The @forge/bridge import that kills your resolver, and why nothing warns you

Comments
12 min read
Ling 3.0 Flash won't load on a Mac Studio. Qwen3-Coder-Next does, at 73 tok/s.

Ling 3.0 Flash won't load on a Mac Studio. Qwen3-Coder-Next does, at 73 tok/s.

Comments
18 min read
llama.cpp vs MLX on Qwen3.6-27B: MTP is 1.04x here, not 1.85x

llama.cpp vs MLX on Qwen3.6-27B: MTP is 1.04x here, not 1.85x

Comments
18 min read
Forge egress: backend ignores your URL path, client enforces it

Forge egress: backend ignores your URL path, client enforces it

Comments
13 min read
jira:fullPage is deprecated: what global:fullPage actually changes for cross-product Forge apps

jira:fullPage is deprecated: what global:fullPage actually changes for cross-product Forge apps

Comments
12 min read
goose compaction: a 27B re-read the file 95%

goose compaction: a 27B re-read the file 95%

Comments
13 min read
Forge rate limits: a 65,000-point hourly pool

Forge rate limits: a 65,000-point hourly pool

Comments
10 min read
MLX memory ceiling on a 96 GB M3 Ultra

MLX memory ceiling on a 96 GB M3 Ultra

Comments
15 min read
LeanZero Management: the Jira dependency that moves dates

LeanZero Management: the Jira dependency that moves dates

Comments
12 min read
jira:workflowCondition vs workflowValidator

jira:workflowCondition vs workflowValidator

Comments
15 min read
LeanZero Management: two scheduling engines, one schedule

LeanZero Management: two scheduling engines, one schedule

Comments
18 min read
forge lint cannot see your request helper: the Jira scopes it never checks

forge lint cannot see your request helper: the Jira scopes it never checks

Comments
16 min read
What 145 MCP Tools Cost Before the Model Reads Your Question

What 145 MCP Tools Cost Before the Model Reads Your Question

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

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

Comments
15 min read
Locking in Forge KVS: FAIL_IF_EXISTS works, TTL leases do not

Locking in Forge KVS: FAIL_IF_EXISTS works, TTL leases do not

Comments
14 min read
LeanZero Management: virtualising a 5,300-issue Gantt

LeanZero Management: virtualising a 5,300-issue Gantt

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

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

Comments
8 min read
CogniRunner 3.1.0: real Jira workflow conditions

CogniRunner 3.1.0: real Jira workflow conditions

Comments
18 min read
goose Local Edition: a benchmark that runs the app your agent built

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

Comments
19 min read
goose swarm benchmark: a scorer that can't flatter itself

goose swarm benchmark: a scorer that can't flatter itself

Comments
30 min read
/rest/api/3/search is gone: migrating to /search/jql

/rest/api/3/search is gone: migrating to /search/jql

Comments
13 min read
The duplicate Forge event that deleted our spam filter

The duplicate Forge event that deleted our spam filter

Comments
13 min read
Refuse an unentitled caller in a Forge resolver, and prove it with a test that goes red without the gate

Refuse an unentitled caller in a Forge resolver, and prove it with a test that goes red without the gate

Comments 2
16 min read
Fix "Disallowing path manipulation attempt" from Forge's route tag, and know which of the two causes you hit

Fix "Disallowing path manipulation attempt" from Forge's route tag, and know which of the two causes you hit

Comments
12 min read
OpenAI's Codex spent six days on goose and never completed a single run

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

Comments
6 min read
I built a Forge major-version predictor on a guess, and it took a review to find the answer inside my own commit

I built a Forge major-version predictor on a guess, and it took a review to find the answer inside my own commit

Comments
18 min read
Recover every Jira worklog when the API hands you only the oldest twenty

Recover every Jira worklog when the API hands you only the oldest twenty

Comments
11 min read
goose swarm: the config error we logged 432 times and never saw

goose swarm: the config error we logged 432 times and never saw

Comments
6 min read
What LeanZero Management does that the other Jira PPM tools don't

What LeanZero Management does that the other Jira PPM tools don't

Comments
19 min read
Atlassian is still health-checking the Connect app you migrated to Forge

Atlassian is still health-checking the Connect app you migrated to Forge

Comments
8 min read
The best 4-bit format in MLX is the one its own converter sets up to lose

The best 4-bit format in MLX is the one its own converter sets up to lose

Comments
7 min read
I did not think certifications were worth much. Then one of them showed me what I had been missing

I did not think certifications were worth much. Then one of them showed me what I had been missing

Comments
8 min read
lsof: command not found in a packaged Mac app, and the port reclaim that never ran

lsof: command not found in a packaged Mac app, and the port reclaim that never ran

Comments
6 min read
LeanZero at Atlassian Team '26 Europe Amsterdam: no booth, here to talk Forge migrations

LeanZero at Atlassian Team '26 Europe Amsterdam: no booth, here to talk Forge migrations

Comments
6 min read
Forge: "Unable to emit ready event." in a macro

Forge: "Unable to emit ready event." in a macro

Comments
6 min read
Atlassian model v0.4: 21 of 25 Forge apps compile

Atlassian model v0.4: 21 of 25 Forge apps compile

Comments
13 min read
An open model that writes Atlassian Forge apps

An open model that writes Atlassian Forge apps

1
Comments
7 min read
Fine-tune Qwen3.8-27B with MLX LoRA on a Mac

Fine-tune Qwen3.8-27B with MLX LoRA on a Mac

Comments
57 min read
Fix @forge/react/jira not resolving

Fix @forge/react/jira not resolving

Comments
8 min read
loading...