Skip to content

v5.0.0 — Trust-Grade Framework Release#16

Merged
emredursun merged 14 commits intomainfrom
fix/windows-eperm-retry
Mar 28, 2026
Merged

v5.0.0 — Trust-Grade Framework Release#16
emredursun merged 14 commits intomainfrom
fix/windows-eperm-retry

Conversation

@emredursun
Copy link
Copy Markdown
Contributor

@emredursun emredursun commented Mar 28, 2026

Summary

Major release: Devran AI Kit v5.0.0 — Trust-Grade AI Development Framework.

Framework Enrichment (Phase 1-8):

  • 9 critical workflows enriched with Scope Filters, Failure Templates, Ethics Gates, Argument Parsing
  • 6 medium workflows enriched (create, enhance, brainstorm, review, pr-review, ui-ux-pro-max)
  • New /implement workflow created (was missing despite command existing)
  • All 37 commands fully wired with workflow:, invokes:, uses: frontmatter declarations
  • All 23 workflow Output Templates given emoji-prefixed headers (📋🐛🚀🔍🧪 etc.)
  • 8 new skill sub-files: pr-toolkit (3), verification-loop, production-readiness, intelligent-routing, security-practices, testing-patterns
  • New research-methodology skill (skills: 35 → 36)

New Governance Rules:

  • performance.md — JS bundle ≤200KB, API p95 ≤300ms, LCP ≤2.5s
  • accessibility.md — WCAG 2.1 AA, semantic HTML, color contrast 4.5:1
  • data-privacy.md — PII handling, GDPR, AI pipeline anonymization
  • All 3 wired into loading engine + planner Rule Consultation table

ECC-Inspired Innovations:

  • Instinct System (contexts/instincts.md) — confidence-scored pattern memory
  • Rigor Profiles (strict/standard/minimal) in workflow-standards
  • Session-context bootstrap fix (session-start hook was blocking)

OG Image Redesign (Vercel-grade):

  • Removed dynamic numbers (were going stale on every change)
  • Added "TRUST-GRADE AI DEVELOPMENT FRAMEWORK" subtitle
  • Monochrome Lucide SVG icons (cross-platform consistent)
  • Unified pill design language across all rows
  • Retina 2400×1260 @2x via Puppeteer generator (scripts/generate-og-image.js)

Badge System Overhaul:

  • 3x larger badges (style=for-the-badge + height="36")
  • 2-row layout: project meta + capabilities
  • Purple/violet brand family palette (harmonized from 7-color rainbow)
  • Auto-sync from manifest.json via sync-version.js
  • 5 new structural tests for badge↔manifest drift detection

Infrastructure:

  • Windows EPERM retry logic for kit init file locks
  • sync-version.js: syncs version + all 5 capability badge counts from manifest
  • 113 files changed, +4578 / -583 lines
  • 573 tests passing (was 533)

Test plan

  • npm test — 573/573 passing
  • kit verify — manifest integrity check
  • Version sync: package.json ↔ manifest ↔ README badges ↔ architecture.md
  • All 23 workflow Output Templates have emoji headers
  • All 37 commands have frontmatter dependency declarations
  • OG image renders correctly at 1200×630 (Puppeteer verified)
  • Visual review of README on GitHub (OG image + badges)
  • npm publish --access public after merge

🤖 Generated with Claude Code

Root cause: fs.renameSync fails intermittently on Windows when
antivirus, indexer, or vitest watcher holds a lock on the temp
directory during atomic copy.

Fix:
- bin/kit.js: retry renameSync up to 3 times with 500ms backoff
- tests/unit/cli.test.js: retry rmSync cleanup with force flag

568/568 tests passing (3 consecutive runs, 0 flakes).
- Replace busy-wait with Atomics.wait in kit init retry (gemini F3)
- Re-throw error on final retry in test cleanup (gemini F4)
- Add transient error code gating (EPERM/EACCES/EBUSY) to kit init
- Extract TRANSIENT_FS_ERRORS constant to lib/constants.js (DRY)
- Update lib/io.js and lib/ide-generator.js to use shared constant
- Add user-visible retry warning log in kit init
- Remove fragile shell sleep + require() in ESM test file

568/568 tests passing.
- Use fixed 500ms delay instead of linear backoff in kit init retry
- Hoist rmWithRetry helper to describe scope for reuse across tests
- Apply rmWithRetry to heal and exists tests (previously unprotected)

Addresses gemini-code-assist review on commit a07eed0.
568/568 tests passing.
Only retry EPERM/EACCES/EBUSY in test cleanup helper — non-transient
errors now fail fast instead of being masked by retry delays.

Addresses gemini-code-assist review on commit 7fe3ded.
Pre-release commit: all workflows, commands, rules, skills, agents,
checklists, templates, and documentation updates for v5.0.0.
Major release: Trust-Grade AI Development Framework v5.0.0
- 9 critical workflows enriched (Scope Filters, Failure Templates, Ethics gates)
- 15 new files: 3 rules, 8 skill sub-files, 2 contexts, 1 workflow, 1 template
- 37 commands fully wired with frontmatter dependency declarations
- All 23 workflow Output Templates given emoji-prefixed headers
- 36 skills, 23 workflows, 13 governance rules
…lity counts

- Upgrade all shields.io badges from default to for-the-badge style (~2x larger)
- Split badges into two rows: project meta (version/license/tests/deps) and
  capabilities (AI Agents / Skills / Commands / Workflows / Rules)
- Add missing Commands, Workflows, Rules badges
- sync-version.js: auto-sync all 5 capability counts from manifest.json
  on every `npm version` run — no manual badge updates needed
- version-sync.test.js: add 5 structural tests to catch badge/manifest drift
OG Image:
- Remove dynamic numbers (23 AGENTS, 34 SKILLS, etc.) that go stale
- Replace with permanent feature highlights: Multi-Agent Orchestration,
  Trust-Grade Governance, Cross-IDE Support, Telegram Control
- Add icon row: Agents, Skills, Commands, Workflows, Rules (no counts)
- Retina-quality 2400x1260 @2x PNG via Puppeteer generator script
- scripts/og-image.html: Source template (HTML/CSS)
- scripts/generate-og-image.js: Automated generation script

Badges:
- Upgrade all shields.io badges to height="36" (~3x original size)
- Two-row layout: project meta + capability counts
- Update tests badge: 568 → 573 passing
OG Image (all P0-P3 fixes applied):
- P0: System emoji → monochrome Lucide SVG icons (cross-platform)
- P0: Add "TRUST-GRADE AI DEVELOPMENT FRAMEWORK" subtitle
- P0: Restore original 3 channel labels (Claude Code, Telegram/Discord/iMessage, Remote Dev)
- P1: Unify capability row with feature pill design language
- P1: Optical center vertical balance (68px top / 52px bottom)
- P2: Pill border opacity 0.08 → 0.12 for better contrast
- P3: Glow line 2px → 3px with wider gradient spread

Badge palette harmonization:
- Row 2 capabilities: rainbow (7 colors) → purple/violet brand family
  AI Agents (#7c3aed), Skills (#8b5cf6), Commands (#6366f1),
  Workflows (#a78bfa), Rules (#9333ea)
- sync-version.js: color-agnostic regex for future palette changes
- version-sync.test.js: color-agnostic assertions
Replace space-between layout with centered single-block stack.
All content flows as one cohesive unit with controlled gaps:
Title (78px) → Subtitle (14px gap) → Tagline (22px) →
Channel pills (30px) → Capability pills (24px).
No more empty void between feature pills and bottom row.
- P0: Channel↔Capability gap 24px→18px (tighter grouping)
- P1: Content nudge +6px down (title breathing room for social crop)
- P2: Capability SVG stroke opacity 0.55→0.65 (readable on all screens)
- P2: Capability label opacity 0.48→0.58
- P2: Capability pill border 0.07→0.09
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request upgrades the Devran AI Kit to version 5.0.0, implementing a comprehensive governance framework with new rules for performance, accessibility, and data privacy. Key additions include the /implement workflow, the research-methodology skill, and an 'Instinct System' for confidence-scored pattern memory. Review feedback suggests making dependencies explicit in the new OG image generation script and refactoring tests to use the centralized TRANSIENT_FS_ERRORS constant for better maintainability.

Comment on lines +21 to +29
let puppeteer;
try {
puppeteer = require('puppeteer');
} catch {
console.error('❌ puppeteer not found. Installing...');
const { execSync } = require('child_process');
execSync('npm install --no-save puppeteer', { stdio: 'inherit' });
puppeteer = require('puppeteer');
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This automatic installation of puppeteer is an anti-pattern. It creates a hidden dependency, has side effects, and won't work in environments without npm or write access.

The standard practice is to declare puppeteer as a devDependency in package.json and instruct developers to install it via npm install. This makes dependencies explicit and the project setup more predictable.

Please add puppeteer to your devDependencies and simplify this logic.

Suggested change
let puppeteer;
try {
puppeteer = require('puppeteer');
} catch {
console.error('❌ puppeteer not found. Installing...');
const { execSync } = require('child_process');
execSync('npm install --no-save puppeteer', { stdio: 'inherit' });
puppeteer = require('puppeteer');
}
const puppeteer = require('puppeteer');

}
return;
} catch (e) {
if (!['EPERM', 'EACCES', 'EBUSY'].includes(e.code) || i >= retries - 1) throw e;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For consistency and better maintainability, please use the TRANSIENT_FS_ERRORS constant that was introduced in lib/constants.js instead of hardcoding the array of error codes here.

This will ensure that if the list of transient errors is updated, it's changed in one central place.

You'll need to add an import at the top of the file:

import { TRANSIENT_FS_ERRORS } from '../../lib/constants.js';

And then update this line.

Suggested change
if (!['EPERM', 'EACCES', 'EBUSY'].includes(e.code) || i >= retries - 1) throw e;
if (!TRANSIENT_FS_ERRORS.has(e.code) || i >= retries - 1) throw e;

… constant

- generate-og-image.js: Remove hidden `npm install --no-save puppeteer`
  auto-install. Fail with clear install instructions instead.
- cli.test.js: Replace hardcoded ['EPERM','EACCES','EBUSY'] with
  TRANSIENT_FS_ERRORS constant from lib/constants.js (single source of truth)
@emredursun
Copy link
Copy Markdown
Contributor Author

/gemini review

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request significantly upgrades the Devran AI Kit to version 5.0.0, introducing comprehensive workflow governance, new governance rules (Performance, Accessibility, Data Privacy), and an Instinct System for pattern memory. Key changes include adding Scope Filters, Failure Templates, and Argument Parsing tables to all workflows, implementing a new /implement workflow, and refining the documentation with new skill sub-files and improved command consistency. I have reviewed the provided comments and identified several formatting issues and naming inconsistencies that should be addressed to ensure a polished and consistent documentation set.

Comment on lines 21 to 23
---

---
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There appears to be a duplicate horizontal rule here. This is likely a formatting mistake and one of the --- lines should be removed for cleaner rendering.

Suggested change
---
---
---

Comment on lines 17 to 19
---

---
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There appears to be a duplicate horizontal rule here. This is likely a formatting mistake and one of the --- lines should be removed for cleaner rendering.

Suggested change
---
---
---

Comment on lines 17 to 19
---

---
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There appears to be a duplicate horizontal rule here. This is likely a formatting mistake and one of the --- lines should be removed for cleaner rendering.

Suggested change
---
---
---

# /help-kit — Devran AI Kit Quick Reference

> **Trigger**: `/help_kit`
> **Trigger**: `/help-kit`
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Throughout this pull request, command names are being standardized to use hyphens instead of underscores (e.g., /project-status). For consistency, this trigger should be updated from /help_kit to /help-kit.

Suggested change
> **Trigger**: `/help-kit`
> **Trigger**: /help-kit

# /project-status — Project Status Overview

> **Trigger**: `/project_status [sub-command]`
> **Trigger**: `/project-status [sub-command]`
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The command name has been updated to /project-status in other files within this pull request. To maintain consistency across the documentation, this trigger should also be updated to use a hyphen instead of an underscore.

Suggested change
> **Trigger**: `/project-status [sub-command]`
> **Trigger**: /project-status [sub-command]

- Remove duplicate --- horizontal rules in 3 SKILL.md files
  (pr-toolkit, security-practices, testing-patterns)
- Replace ALL remaining underscore command names with hyphens:
  /project_status → /project-status, /help_kit → /help-kit
  across CheatSheet.md, help.md, project-status.md, README.md,
  pr.md, upgrade.md, workflows/README.md (24 occurrences fixed)
- Zero underscore command references remaining in .agent/
@emredursun emredursun merged commit f0cf02a into main Mar 28, 2026
4 checks passed
@emredursun emredursun deleted the fix/windows-eperm-retry branch March 28, 2026 19:18
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