Skip to content

Releases

v0.23.0 — Batch bugfix orchestrator + spawnable harness agents

Choose a tag to compare

@huypqapero huypqapero released this 09 Nov 08:37
9aeaf5d

Added — Batch bugfix orchestrator

  • bug-fix-orchestrator: leader điều phối batch bug từ Jira (JQL, board, sprint, danh sách key). Lấy spec Confluence, Figma node và docs tham chiếu của repo một lần; scout codebase một lần và lưu cache dùng lại giữa các batch; phân loại kind (code/ui/content/spec-gap/needs-info/…) và mức verify (none/unit/preview/device); gom group theo root cause, xếp lane worktree song song (mỗi lane 1 PR gom nhiều bug); bug cần thiết bị vào hàng chờ, chỉ chạy khi thiết bị rảnh. State plans/bugfix-batch-<id>/ qua scripts/bfo_state.py (kiểm plan cơ học, giới hạn số lane, hàng chờ thiết bị), resume được.

  • Agent bug-scout (read-only, scout batch) và bug-fixer (Architect + Coder, 1 lane → 1 PR, cũng là worker 1 bug của bug-note): agent native có frontmatter, nạp sẵn skill harness. bug-fixer bắt buộc đọc rule project, viết fix-design.md (root cause ở layer nào, fix đặt ở đâu, vì sao) và không dùng các mẫu fix ngọn (delay né race, catch nuốt lỗi, guard UI, flag rời, logic trong Composable…).

  • Agent bug-reviewer (read-only): review độc lập mọi PR fix bug theo checklist A–J của coding-review và tiêu chí gốc/ngọn; PR của bug-fix-orchestrator và bug-note giữ draft tới khi APPROVE (tối đa 2 vòng sửa).

  • bug-note (chuyển từ ~/.claude/skills/ vào harness): ghi bug liên tục trong chat, mỗi bug 1 worker nền fix trong worktree riêng rồi mở PR; bug chung file thì chờ hoặc stack PR. Sửa kèm: worker không dùng git stash (stash dùng chung mọi worktree) mà commit WIP; tier T2-ui so preview với Figma bằng compare-ui-board + ui-diff-review thay vì ui-diff; khóa thiết bị không bị chiếm khi bug giữ khóa chưa xong, bug bị chặn chuyển waiting thay vì poll, thêm device-release. Worker giờ là agent harness bug-fixer thay cho general-purpose.

Changed

  • bug --mode fix --parallel chuyển sang bug-fix-orchestrator; xoá skills/bug/references/mode-fix-parallel.md. Evidence validator + schema vẫn ở skills/bug/.
  • bug-fix-orchestrator — leader chỉ điều phối: đọc code, tìm root cause, fix, review, chạy thiết bị và phân tích log/APK đều giao cho bug-scout, bug-fixer, bug-reviewer, artemis-android; job thiết bị fail trả về bug-fixer của lane thay vì leader tự điều tra.
  • bug-fix-orchestrator — spec verdict gate: Phase 3 so từng bug 1-1 với spec/Figma; chỉ fix bug có spec_verdict=confirmed kèm spec_ref trích dẫn, bug còn nghi ngờ vào confirm-checklist.md dạng needs-confirm mà không chặn lane khác. check-plan kiểm cơ học các trường này.
  • bug-fix-orchestrator — Jira status flow: In Progress khi lane bắt đầu, Resolved sau khi reviewer APPROVE và device pass, Reviewing khi PR head đã vào base branch; set assignee ở mọi transition.
  • 16 agent role có frontmatter (architect, coder, orchestrator, tech-lead, qa, reviewer, ui-judge, …): trước đây file mở đầu bằng # Agent Role nên Claude Code không đăng ký, subagent_type: architect lỗi. Giờ spawn trực tiếp được; reviewer, ui-judge, architect có allowlist tool (read-only/không sửa code, vẫn tra KB).

Fixed

  • coding-orchestrator spawn agent không tồn tại (architect-mindset, implementer-mindset, qa-mindset, reviewer-mindset) → đổi thành architect, coder, qa, reviewer.

v0.22.0 — UI verification skills + skill dispatchers + KB MCP

Choose a tag to compare

@huypqapero huypqapero released this 06 Nov 10:06

Bản này gộp luôn [0.21.0], vì 0.21.0 chưa từng được tag hay release riêng.

Added — UI verification skills

  • ui-diff: so sánh UI theo mode. Mode video-to-figma lấy danh sách màn từ Figma trước, sau đó tách frame từ video bằng ffmpeg, ghép từng cặp màn [actual|expected] và chấm điểm từng cặp.
  • ui-diff-review: nhận xét diff, tự chấm match_score 0-100 theo rubric và trả verdict pass/fail theo ngưỡng. Pass 2 crop/zoom từng component và đo màu vùng (sample_region.py). Kết quả ghi vào result.json.
  • ui-fix-loop: vòng lặp chỉ ra bug UI → fix → render lại → compare lại, tối đa 3 vòng cho mỗi bug và chạy được nhiều bug song song. Có registry lưu link Figma, spec, source và preview FQN.
  • compare-ui-board: ghép ≥ 2 ảnh UI vào một canvas có nhãn để so trực tiếp, xuất findings JSON.
  • testing-preview: gate render Compose @Preview headless qua Android CLI rồi so với design/spec. Module có product flavor dùng ":app@<flavorBuildType>".

Added — Feature Store, SDK library và KB tooling

  • Feature Store framework: agent feature-store-architect, workflow agents/workflows/feature-store-flow.md (12 stage, greenfield + extract).
  • SDK library pipeline: agent library-architect (agent thứ 15), workflow agents/workflows/library-flow.md (10 stage), Phase 0 brainstorm gate.
  • KB migration scripts: scripts/migrate-knowledge-to-kb.py, update-knowledge-refs.py, rename-kb-scope.py, rename-kb-scope-nested.py.
  • docs/knowledge-base-ops.md: hướng dẫn cài đặt, scope convention, workflow push/fetch/conflict.
  • coding-database: thêm guide key-value storage, mặc định dùng Room. coding-compose, coding-feature và coding-vibe có thêm gate testing-preview tùy chọn.

Changed — Skill gộp thành dispatcher theo mode

Cũ Mới
bugfix, bug-triage /bug --mode fix|triage (+ --parallel cho batch bug, có evidence schema + validate_evidence.py)
parallel-features /feature --parallel
library-new, library-extract /library --mode new|extract
feature-store-new, feature-store-extract /feature-store --mode new|extract

AGENTS.md, CLAUDE.md, agents/* và skills/release đã được cập nhật routing theo bảng trên.

Changed — Knowledge chuyển sang KB MCP

  • Đã bỏ knowledge/, constitution/ và briefs/ khỏi repo. Nội dung chuyển sang repo team-knowledge, agent đọc khi chạy qua MCP team-knowledge + basic-memory.
  • Các reference trong agent/skill dùng locator [KB → <scope>, kb_search "<query>"], scope phân 2 cấp (develop/…, product/…, testing/…).
  • Knowledge chia 2 tầng: 7 category × 18 domain.

Breaking changes

  • Các skill bugfix, bug-triage, parallel-features, library-new, library-extract, feature-store-new, feature-store-extract đã bị xóa. Hãy dùng dispatcher mới theo bảng ở trên.
  • Đường dẫn knowledge/… cục bộ không còn. Consumer phải cấu hình MCP team-knowledge (xem docs/knowledge-base-ops.md).

Bản 0.21.0 (software-factory 14-agent model + 5 workflow routing) chưa từng release riêng nên đi kèm bản này. Chi tiết ở mục [0.21.0] trong CHANGELOG.md.

v0.20.0 — harness-init + D-full overlay runtime

Choose a tag to compare

@KOHuyn KOHuyn released this 19 Oct 10:07

Consumer onboarding thu về 1 skill invocation. Harness source giữ nguyên 17 placeholder; model resolve runtime từ .harness-overlay/overlay.yaml.

Highlights

/harness-init skill (new)

Auto-detect gradle stack + interactive branding + render overlay + validate schema + install project-local Claude Code symlinks (21 skills + 11 agents) + SessionStart hook. 9-step procedure, single entry cho consumer bootstrap.

D-full placeholder resolution

  • AGENTS.md §Overlay bootstrap check + §Placeholder resolution (mapping table 17 placeholder → overlay key).
  • ## Overlay gate (D-full) + ## Harness context sections append cho 20 SKILL.md.
  • install.sh init subcommand mark DEPRECATED, prefer skill harness-init.

Consumer install/uninstall scripts

  • scripts/activate-claude-agents.sh — symlink agents vào .claude/agents/.
  • scripts/check-overlay.sh — SessionStart hook check overlay existence.
  • scripts/install-session-hook.sh — patch consumer .claude/settings.json.
  • scripts/uninstall-all.sh — one-command teardown với --purge flag.

Workflow + session skills (từ CHANGELOG v0.20.0 WIP)

  • coding-scout — fast codebase scouting.
  • coding-brainstorm — outcome contract gate trước implementation.
  • coding-vibe — end-to-end pipeline orchestrator.
  • harness-handoff — portable session continuation contract.

Breaking changes

Skill naming (android-* → coding-/testing-, input-* → business-*)

Cũ Mới
android-feature, -mvi, -compose, -coroutines, -network, -database, -refactor, -code-review, -orchestrator coding-feature, -mvi, -compose, -coroutines, -network, -database, -refactor, -review, -orchestrator
android-testing testing-android
android-debug + android-performance coding-diagnose (consolidated)
input-prepare-feature, -validate-brief business-prepare-feature, -validate-brief
input-analyze-design + -analyze-spec + -reconcile business-analyze (consolidated)
input-fetch-confluence + -fetch-figma business-fetch (consolidated)

Consumer với symlinks hiện tại cần chạy:

.harness-overlay/upstream/scripts/uninstall-all.sh --target .
# fetch latest harness
.harness-overlay/upstream/scripts/activate-claude-skills.sh install --target .claude/skills
.harness-overlay/upstream/scripts/activate-claude-agents.sh install --target .claude/agents

Hoặc skill-based: gọi /harness-init để tự reinstall.

Rationale (D-full vs D-lite)

Giữ 17 placeholder + auto-trigger harness-init (D-full) thay vì bỏ 9 placeholder hardcode default (D-lite):

  • Zero code change trong 39 harness source file.
  • Overlay là explicit audit trail cho consumer convention.
  • Multi-product mỗi overlay riêng, không chia default.
  • Rollback khi default sai: sửa overlay 1 file thay vì bulk patch 39 file.

Mitigation ~5% miss-resolve risk: SessionStart hook deterministic + ## Overlay gate ở top mỗi SKILL.md + full mapping table ở AGENTS.md.

Commits

  • 8f7d906 refactor(skills): task-oriented naming + 7 new workflow/business skills
  • b941047 feat(skills): add harness-init for consumer overlay bootstrap
  • fc975b2 feat(harness): D-full placeholder resolution + consumer install orchestrator
  • 7043c2c chore(release): v0.20.0 CHANGELOG for harness-init + D-full + consumer install flow

Full CHANGELOG: v0.20.0 entry

v0.17.0 — Custom APK Driver Pattern

Choose a tag to compare

@huypqapero huypqapero released this 16 Oct 04:19

Added — Custom APK Driver Pattern

Pattern cho custom APK driver — hiệu suất cao (~30-100ms/call) cho E2E test volume lớn (200+ cases/round) hoặc yêu cầu Unicode input chuẩn (dấu tiếng Việt). Thay thế ARTEMIS MCP (~1-2s/call) khi scale vượt threshold.

Harness không ship binary APK. Document pattern + architecture + protocol spec để downstream product build APK driver riêng, hoặc tham khảo implementation có sẵn (learn-app-plugin private repo).

Knowledge (1)

  • `knowledge/e2e-runtime/custom-apk-driver.md` (~500 LoC):
    • Decision matrix khi nào cần APK driver (volume threshold, latency, Unicode)
    • Architecture overview: host runner ↔ ADB forward ↔ instrumentation HTTP server trên device
    • HTTP protocol spec: `/ping /tree /shot /tap /settext` + extensions `/swipe /long_press /launch /shell /broadcast`
    • UiAutomation API cheat sheet (getWindows, walk tree, injectInputEvent, ACTION_SET_TEXT, takeScreenshot)
    • Project structure (Android library module với instrumentation entry)
    • Unicode input strategies: clipboard-based vs accessibility `ACTION_SET_TEXT`
    • Element locator priority (resource id → test-tag → content-description → text → regex → fallback)
    • Jetpack Compose semantics considerations
    • Build + sign + install workflow
    • CI integration example (GitHub Actions pipeline)
    • Testing driver reliability (self-test suite + metrics endpoint)
    • 3 acquisition options: build riêng (recommended, 2-3 tuần), fork learn-app (nhanh nhất với access), vendor binary APK (temporary PoC)
    • Integration mapping APK endpoints → 10 methods driver contract
    • 7 anti-patterns

Changed

  • `device-driver-contract.md`: thêm section Implementation paths với bảng so sánh 5 paths:
Path Latency/call Setup Use case
ARTEMIS MCP ~1-2s Zero Default, < 50 cases
Maestro CLI ~200-500ms Install Maestro 50-200 cases
Appium server ~1-3s Appium + driver Team có skill
Custom APK ~30-100ms 2-3 tuần 200+ cases
ADB + vision ~3-5s Zero Fallback SDK closed
  • `AGENTS.md`: file index add `custom-apk-driver.md`

Rationale

User chọn APK path cho downstream product scale 200+ cases/round. ARTEMIS 2.5 giờ/round → APK 3 phút/round, giảm 50x.

Scope decisions:

  • Pattern-only, không ship binary — giữ harness repo nature (markdown + minimal Python/Bash)
  • HTTP over ADB forward: simpler hơn broadcast intent / content provider
  • Persistent UiAutomation: 1 instrumentation process giữ connection suốt run
  • Accessibility `setText` cho Unicode: avoid `adb shell input text` limitations
  • 3 acquisition options: flexibility cho long-term build / nhanh fork / PoC vendor

Migration from 0.16.0

Zero breaking change. Pure documentation addition.

Scope boundaries

  • IN scope: Documentation pattern + protocol spec + acquisition options
  • OUT scope: Shipping binary APK, Android project trong harness repo, auto-install workflow
  • Future Wave: `tools/harness-device-driver/` scaffold, APK CI build pipeline

Not implemented

  • No actual APK built (downstream responsibility)
  • No install script (downstream orchestrator)
  • No example product repo demonstrating Option A build

Reference implementation

Learn-app-plugin `tools/device-driver/` (private repo) là reference implementation:

  • Port 7912 default
  • ServerSocket bind 127.0.0.1 only
  • Endpoints matching protocol spec trong doc
  • UiAutomation với FLAG_RETRIEVE_INTERACTIVE_WINDOWS + FLAG_INCLUDE_NOT_IMPORTANT_VIEWS

Downstream có access learn-app-plugin có thể fork trực tiếp (Option B).

v0.16.0 — Learn-plugin E2E Pattern Port (Wave 1)

Choose a tag to compare

@huypqapero huypqapero released this 16 Oct 04:02

Added — Learn-plugin E2E Pattern Port (Wave 1)

Port cốt lõi E2E patterns từ hung-apero/learn-app-plugin sang harness dưới dạng pattern + schema + agent template, zero runtime code. Downstream product build runner theo pattern khi cần.

Agents (3)

  • agents/ui-judge.md — Visual compare screenshot vs Figma + ui-spec, verdict chặn (critical) vs nên sửa (minor)
  • agents/e2e-author.md — Write runner-neutral JSON step files, enforce 4 forbidden ops (force-stop $APP_ID, pm clear, hardcode packageId, raw locale change)
  • agents/lesson-miner.md — Distill bugs từ Jira/GitHub/Linear thành structured lessons (symptom + cause + rule + how_to_test)

Blueprints (2)

  • blueprints/e2e-step-contract/ — Runner-neutral JSON step file:
    • README, template, JSON Schema Draft 2020-12 với forbidden ops regex enforce, FORBID-001..004 chi tiết
  • blueprints/ui-spec/ — Per-node UI contract:
    • Sections: Reach + Door + Elements + Tokens + Copy + Assets
    • Template per node + manifest schema

Knowledge (5)

  • knowledge/e2e-runtime/device-driver-contract.md — 10 abstract methods, performance targets, ARTEMIS adapter example
  • knowledge/e2e-runtime/guard-round-pattern.md — Full vs verify round, early-stop (3 same-fingerprint), APK cache, streaming bugs
  • knowledge/e2e-runtime/interruption-patterns.md — Ad / permission / dialog auto-dismiss, watch mode cho rewarded ads
  • knowledge/e2e-runtime/runner-neutral-step.md — Design rationale, so sánh với Maestro / Appium / Espresso / Detox
  • knowledge/visual-compare/figma-vs-screenshot.md — Perceptual hash + SSIM, thresholds, preprocessing

Workflows (2)

  • workflows/guard-round.md — E2E runtime orchestration pattern (5 stages: Open → Build → Install → Run → Close)
  • workflows/mine-lessons.md — Bug tracker → lessons pipeline (5 stages: Fetch → Classify → Distill → Merge → PR)

Verification extension

  • stage-5-ui-visual.sh + validate_ui_visual.py — Pillow + imagehash visual compare validator

Rationale

learn-app-plugin là product-specific orchestrator với full runtime E2E stack. Harness generic không nên copy infrastructure specific, nhưng pattern + schema + agent template là valuable universally.

Portable (DID port):

  • UI judge pattern
  • E2E step schema runner-neutral
  • Device driver contract (abstract)
  • Guard round orchestration pattern
  • Interruption handling
  • Lesson mining pipeline
  • Visual compare technique

Product-specific (DID NOT port):

  • Built-in APK driver
  • Feature Store catalog
  • Firebase Remote Config hook
  • Discord bot integration
  • Google Play compliance checks
  • Learn SDK vendored

Key design decisions

  • Zero runtime code: harness ship pattern + schema + agent markdown. Downstream build runner adapter khi cần.
  • Schema enforcement 4 layers: step file forbidden ops ở JSON Schema regex + author lint + driver pre-exec scan + report trace
  • Visual compare pre-filter: perceptual hash fast + deterministic, call ui-judge LLM chỉ khi distance >= 6
  • Dev-review gate cho lessons: lesson-miner không auto-publish; PR cho dev approve

Smoke test

  • Pillow + imagehash validator chạy OK với synthetic fixture
  • JSON schema step-file validated syntax
  • Stage 5 skip gracefully khi missing config

Migration from 0.15.0

Zero breaking change. Pure addition.

Scope boundaries

  • IN scope: Patterns, schemas, agent templates, visual compare validator
  • OUT scope (Wave 2+): ARTEMIS MCP adapter wrap, real device runner implementation, state CLI tool, autopilot hooks, pool emulator parallel

Usage examples

Visual compare với fixture có screenshots + Figma:
```bash
./verification/e2e/scripts/stage-5-ui-visual.sh verification/e2e/fixtures/book-detail /tmp/results.yaml
```

Invoke agents manual qua Claude Code:
```
"ui-judge grade node book-detail-content với Figma: ... Shot: ... Spec: ..."
"e2e-author write step file cho test case TC-001 với UI spec: ..."
"lesson-miner mine bugs cho app ABC từ Jira project ABC since 2026-07-01"
```

Not implemented in Wave 1

  • No actual runner (downstream build theo pattern)
  • No ARTEMIS adapter wrap (Wave 2)
  • No streaming bug coordination infrastructure
  • No pool emulator parallel runner

v0.15.0 — E2E Verification Suite

Choose a tag to compare

@KOHuyn KOHuyn released this 16 Oct 03:31

Added — E2E Verification Suite

Full pipeline regression test cho harness. Chạy fixtures qua 5 stages với hybrid validation (golden snapshot structural + semantic assertion content quality). Bash orchestrator + Python validators, không spawn agent — CI-friendly deterministic.

Workflow

  • workflows/verify-e2e.md — 5-stage pipeline với fix loop, rollback, report format

Scripts (bash)

  • scripts/run-e2e.sh — entry point với --all, --stages, --update-golden, --verbose
  • scripts/stage-1-brief.sh — schema + semantic + golden diff
  • scripts/stage-2-plan.sh — task-contract validation (optional)
  • scripts/stage-3-code.sh — dry Konsist static check (optional)
  • scripts/stage-4-gates.sh — cross-reference gates

Validators (Python)

  • validators/validate_brief.py — JSON schema + semantic rules (min_confirmed_requirements, max_blocker_issues, all_ac_bind_confirmed, components_ambiguous_resolved)
  • validators/validate_plan.py — task-contract + expected structure
  • validators/validate_code_structure.py — static regex check cho Konsist rules
  • validators/diff_golden.py — snapshot comparator, ignore timestamps + checksums
  • validators/report_builder.py — consolidate markdown report

Fixture

  • fixtures/book-detail/ — pilot với intentional conflicts (SOURCE_CONFLICT, MISSING_DESIGN, AMBIGUOUS_COMPONENT, MISSING_BEHAVIOR) để test gate enforcement
  • Golden snapshot + semantic rules + plan structure + code konsist expected

Documentation

  • README.md — layout + hybrid validation strategy
  • runbook.md — how-to-run, exit codes, troubleshoot

Rationale

Trước v0.15: harness không có integration test. Khi update skill/schema/workflow, maintainer phải chạy manual check qua product repo thật để confirm không regression.

v0.15 bridge gap:

  • Automated regression detect: ./run-e2e.sh --all confirm fixtures stable
  • Hybrid validation: golden catch structural drift, semantic catch quality degrade
  • No agent dependency: static validators → deterministic, CI-friendly
  • Fixture ownership: book-detail pilot là canonical example cho downstream

Key design decisions

  • Bash + Python stack match install.sh convention, zero extra dependency
  • Static code check Stage 3 không spawn Gradle/Konsist thật
  • Golden ignore noise (timestamps, checksums)
  • --update-golden không chạy auto trong CI
  • Stage 2+3 skip gracefully nếu artifact missing

Smoke test

Pilot book-detail chạy local pass end-to-end (actual=golden identity test).

Migration from 0.14.1

Zero breaking change. Additive tool.

Usage:

pip3 install pyyaml jsonschema
./verification/e2e/scripts/run-e2e.sh book-detail
./verification/e2e/scripts/run-e2e.sh --all

Scope boundaries

  • IN scope: bash orchestrator, Python validators, book-detail pilot, 5 stages
  • OUT scope (Wave 2+): agent spawn integration, multi-fixture parallel, GitHub Actions, benchmark mode

v0.14.1 — Update to latest workflow docs

Choose a tag to compare

@KOHuyn KOHuyn released this 15 Oct 10:57

Added

  • README.md: section "Update to latest" consolidate update workflow cho downstream product consume harness.

Nội dung

  • Workflow symlink mode (6 bước: mehcli version → self-update → update --overlay → review diff → verify → commit delta)
  • Workflow submodule mode (CI pin): git submodule update --remote thay cho self-update
  • Rollback procedure cho cả 2 mode (checkout tag cũ + re-render)
  • Breaking change check (đọc CHANGELOG Migration section trước khi update major/minor)
  • Pin strategy khuyến nghị: main cho dev, tag cụ thể cho CI, shared install cho multi-product org

Rationale

Trước v0.14.1: workflow update rải trên 3 chỗ trong README (Install, CLI reference, Best practices "Khi update harness" — section này thực chất là checklist cho harness maintainer release version mới, không phải user downstream). User downstream phải tự ghép commands. Rollback + pin strategy chưa document.

Zero code change. Pure documentation consolidation.

Migration from 0.14.0

Zero breaking change.

v0.14.0 — Confluence + Figma MCP Adapters

Choose a tag to compare

@KOHuyn KOHuyn released this 15 Oct 10:38

Added — Confluence + Figma MCP Adapters

Mở rộng input layer với 2 remote source adapters qua MCP. Spec có thể fetch từ Confluence, design có thể fetch từ Figma với node tree + variables + image export. Vẫn tuân thủ "adapter fetch-only" principle: không analyze business logic trong fetch layer.

Skills (2)

  • skills/input-fetch-confluence/SKILL.md — Fetch Confluence page + children + attachments + inline images + comments qua mcp-atlassian. Normalize sang markdown + binary vào assets/sources/. Hỗ trợ URL/page_id/CQL input.
  • skills/input-fetch-figma/SKILL.md — Fetch Figma file + node tree + variables + styles + PNG screenshots + SVG icons qua framelink-figma (primary) hoặc TalkToFigma (fallback live canvas). Build structured screen-contracts.json.

Knowledge (2)

  • knowledge/input-analysis/confluence-fetch-rules.md — CONF-RULE-001..012 (permission check, snapshot immutable, preserve revision, markdown normalize, attachment handling, multi-page spec, flag open items)
  • knowledge/input-analysis/figma-fetch-rules.md — FIG-RULE-001..008 (snapshot, record version, explicit node selection, variables = authoritative token, component instance resolution, image export, variants, preserve auto-layout)

Design rule overrides khi có Figma variables

  • DESIGN-RULE-OVERRIDE-001: color từ variable → confirmed
  • DESIGN-RULE-OVERRIDE-005: dimension fixed → confirmed
  • DESIGN-RULE-OVERRIDE-007: layout mode auto-layout → confirmed

Vẫn giữ không override: DESIGN-RULE-002 (không infer navigation), DESIGN-RULE-003 (chỉ states có variant), DESIGN-RULE-004 (ambiguous → candidates).

Changed

  • skills/input-prepare-feature Phase P1 — adapter routing matrix (7 combinations)
  • skills/input-analyze-design — Figma mode procedure (F1..F5)
  • workflows/prepare-feature-brief — entry conditions + input artifacts + routing matrix
  • verification/brief-schema/brief.schema.json — thêm fetch_notes + origin_metadata fields

Rationale

Trước v0.14: brief chỉ accept local markdown + screenshots. Team dùng Confluence cho spec + Figma cho design phải export manual rồi copy vào product repo → extra step, lose metadata.

v0.14 bridge gap:

  • Metadata preservation (Confluence version/author + Figma variables)
  • Deterministic re-fetch (origin URI + checksum → detect source drift)
  • Permission guard (Confluence read restriction check)
  • Instruction injection safe (adapter flag suspicious pattern)

Migration from 0.13.0

Zero breaking change. Additive.

Scope boundaries

  • IN scope: Confluence (mcp-atlassian), Figma (framelink-figma + TalkToFigma)
  • OUT scope (Wave 4+): Google Docs, Jira, PDF, OpenAPI adapters, Figma Code Connect, multi-team profiles, TypeScript CLI

v0.13.0 — Input Layer MVP (Markdown + Screenshot)

Choose a tag to compare

@KOHuyn KOHuyn released this 15 Oct 10:38

Added — Input Layer (Markdown + Screenshot MVP)

Lớp chuẩn hóa spec + design nguồn thành Feature Brief package trước khi handoff vào feature-development. Upstream của mọi workflow build feature.

Skills (5)

  • skills/input-prepare-feature/SKILL.md — orchestrator 5-phase pipeline (fetch → analyze spec → analyze design → reconcile → validate)
  • skills/input-analyze-spec/SKILL.md — extract requirement + AC từ spec markdown với evidence_status (confirmed/inferred/unresolved)
  • skills/input-analyze-design/SKILL.md — extract screen contract từ screenshots: components, states, ambiguity, assets
  • skills/input-reconcile/SKILL.md — cross-reference spec + design, classify severity, resolve bằng project default
  • skills/input-validate-brief/SKILL.md — 12 quality gates (INPUT/SPEC/DESIGN/RECON/CONTRACT/HANDOFF)

Agents (2)

  • agents/input-analyst.md — role spec analysis
  • agents/design-analyst.md — role screenshot analysis

Workflow

  • workflows/prepare-feature-brief.md — 5-phase pipeline với parallel P2+P3, blocker gate P4, 12-gate validation P5

Blueprint

  • blueprints/feature-brief/ — README + 5 template files (brief.yaml, requirements.md, design.md, acceptance-criteria.md, issues.md)

Knowledge

  • knowledge/input-analysis/requirement-extraction-rules.md — REQ-RULE-001..006
  • knowledge/input-analysis/screenshot-reading-rules.md — DESIGN-RULE-001..012
  • knowledge/input-analysis/reconciliation-matrix.md — issue matrix + severity decision tree

Verification

  • verification/brief-schema/brief.schema.json — JSON Schema Draft 2020-12 validate brief.yaml

Output location

  • briefs/ — tách khỏi plans/. Brief = input contract (what to build + why), Plan = how to build.

Rationale

Trước v0.13: downstream workflow đọc spec thô + screenshot adhoc, agent phải guess structure mỗi feature. Spec + design conflict không detect systematic → scope drift, missing requirement silent.

v0.13 giải quyết:

  • Contract giữa input và execution (schema-validated brief.yaml)
  • Confidence tagging (evidence_status) → downstream biết tin cậy đến đâu
  • Blocker gating (issues severity=blocker) chặn implement start
  • Traceability (source quote + checksum snapshot) → detect spec drift

Migration from 0.12.0

Zero breaking change. Input layer là addition purely. Existing feature-development workflow vẫn work với spec adhoc; brief là optional upgrade path.

v0.12.0 — Harness Guardian meta-agent

Choose a tag to compare

@huypqapero huypqapero released this 15 Oct 03:12

Twelfth release — Dedicated meta-agent cho harness self-maintenance.

New

Harness Guardian

Meta-agent chuyên maintain + evolve chính harness. Khác biệt critical:

  • 5 roles khác (Architect/Implementer/Reviewer/Test-Engineer/Orchestrator) — DÙNG harness để develop product
  • Harness Guardian — PHÁT TRIỂN + BẢO TRÌ chính harness itself

3 modes

  • audit (scheduled): health check, knowledge/policy audit — report only
  • maintain (on-demand): fix L0-L2 changes
  • evolve (user-triggered): propose L2-L3 changes với benchmark

6 capability areas

  • Knowledge audit (track Android/Kotlin/Compose doc changes)
  • Policy audit (rule conflict, ADR consistency)
  • Skill maintenance (procedure improve, length check)
  • Blueprint maintenance (build check, pattern sync)
  • Harness evaluation (benchmark + regression)
  • Release management (versioning, changelog, rollback)

Permission levels (L0-L3)

  • L0 (typo/link/format): auto-commit
  • L1 (docs/examples): PR auto-merge
  • L2 (skill/workflow/Konsist rule): PR + independent review required
  • L3 (constitution/ADR): PR + USER approval mandatory

Protected Baseline

12 ADR cốt lõi không Guardian tự modify. Prevent architecture drift.

Files added

  • agents/harness-guardian.md
  • skills/harness-maintenance/SKILL.md
  • workflows/harness-maintenance.md
  • knowledge/harness-governance/essentials.md

Design highlights

  • No self-approve: Guardian không approve own PR; independent reviewer required L2+
  • Infrastructure enforcement: GitHub branch protection + CODEOWNERS + token scope
  • Protected eval fixtures: Guardian không được modify test để pass benchmark do mới broke
  • Signal filtering: evidence-based (official docs + 3+ reports + measured delta)

Changed

  • AGENTS.md: task routing + workflows table + agent roles + file index

Migration from v0.11.0

Zero migration. Guardian là addition purely, không change existing rule/skill.

Usage

Prompt: "Harness Guardian, audit mode: review knowledge/coroutines/ với Kotlin 2.1 changes"
Prompt: "Harness Guardian, maintain mode: fix broken links"
Prompt: "Harness Guardian, evolve mode: propose rule cho Compose SharedTransitionLayout"

Install / upgrade

curl -fsSL https://raw.githubusercontent.com/huypqapero/mobile-engineering-harness/main/bootstrap.sh | bash
mehcli self-update

Full changelog

See CHANGELOG.md.